1. 程式人生 > >shell指令碼直接執行沒有問題,crontab定時執行失敗的解決方法

shell指令碼直接執行沒有問題,crontab定時執行失敗的解決方法

在實行一個shell指令碼(呼叫java程式修改一個excel檔案)時,單獨sh可以得到想要的結果。

但是放到crontab定時執行後,卻沒有得到一個新的excel檔案,log也沒有報錯。

查看了路徑,檔案許可權都沒有問題,最後在網上查了一下,發現這樣可以解決問題:

將crontab執行的語句進行修改:
  15 11 * * * /home/loganalysis/dealexcel.sh >> /home/loganalysis/error.log 2>&1
  修改為:
  15 11 * * * cd /home/loganalysis/ && ./dealexcel.sh >> /home/loganalysis/error.log 2>&1

但是這樣可以解決的原因還不是很清楚,希望有大牛可以解釋一下。