Linux
crontab 找不到腳本
我有一個 cron 作業,每晚在我的使用者下執行一次。我使用 crontab -e 和 a 通過添加以下行來安裝它:
0 1 * * * /home/username/diskreport.sh
設置了 crontab,以便將結果通過電子郵件發送給我。似乎隨機地我收到一封來自 Cron Daemon 的電子郵件,說明找不到腳本(與 diskreport.sh 的輸出相反)。
/bin/sh: 1: /home/username/diskreport.sh: not found
我在腳本的開頭確實有一個錯誤,我已經更正了,但這並沒有阻止腳本執行。它在 sh 和 bash 下執行良好:
#~/bin/bash
事實證明,這與 ecryptfs 和加密的主目錄有關。“看似隨機”的行為是由與我的使用者登錄的活動 SSH 會話觸發的。登錄時,cron 能夠讀取我的主目錄,因為它已安裝和解密。註銷時腳本不可用。感謝所有有用的建議。
所有的 shell 腳本都應該以下面的行開頭
#!/bin/bash
(用bash
你正在使用的任何 shell替換