Linux

crontab 找不到腳本

  • March 21, 2014

我有一個 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替換

引用自:https://serverfault.com/questions/582119