Crontab 執行環境極度精簡,缺少互動式 Shell 的 PATH、HOME 等環境變數,導致腳本找不到指令而靜默失敗。解決核心在於腳本開頭顯式匯入環境變數或使用絕對路徑。本文提供標準修正範例與常見排程語法速查。

PATH=/usr/bin:/bin,無 /usr/local/bin、/opt/... 等自訂路徑HOME、USER、SHELL 等變數,導致 ~ 展開失敗#!/bin/bash
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# 其餘腳本內容...
/usr/bin/docker pull nginx
/opt/backup/bin/backup.sh
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
0 2 * * * /root/backup.sh >> /var/log/backup.log 2>&1
# 格式:分 時 日 月 週 指令
* * * * * 每分鐘執行
0 * * * * 每小時整點
0 2 * * * 每天 02:00
*/20 6-12 * * * 每天 06:00-12:00 每 20 分鐘
0 17 * * 1-5 週一至週五 17:00
20 0-23/2 * * * 每天 00:20, 02:20, 04:20...
@reboot 開機執行一次
@daily 每天 00:00 (等同 0 0 * * *)
> /var/log/myscript.log 2>&1* * * * * env > /tmp/cron_env.txt 比對互動式 env 差異systemctl status cron / systemctl status crondchmod +x /path/script.sh、Shebang 正確 #!/bin/bashLinux 桌面建立視頻 DVD 完整教學:DeVeDe 圖形化燒錄工具實戰
Linux 使用 tar tvf 與 awk 不解壓直接查看 tar.gz 內部檔案大小與名稱
Ubuntu 安裝 Visual Studio Code 完整指南:Ubuntu Make 命令列安裝、官方 .deb 套件與 Flatpak/Snap 多種方式比較
Linux xlsatoms 指令完整使用教學:列出 X Server 內部 Atom 定義
Linux inode 索引節點深度解析:結構內容、stat 查看、硬連結關係、目錄本質、檔案系統建立
Linux dd 命令深度解析:從磁盤鏡像備份到數據轉換的瑞士軍刀