簡體   English   中英

為什么我的crontab無法正常工作?

[英]Why does my crontab not work?

我打算每分鍾運行一些bash腳本,我寫道:

* * * * * bash ~/Dropbox/temp_scripts/run_all_scripts 

在crontab中。

它應該每分鍾運行一次,但是沒有用。 有誰知道為什么會這樣?

將評論轉換為答案。

crontab條目中將I / O重定向添加到命令行:

>/tmp/run_all_scripts.out 2>/tmp/run_all_scripts.err

一兩分鍾后,請檢查文件的內容。 考慮記錄環境以查看是否是問題的一部分。 並考慮使用bash -x而不是bash

如果仍然什么也沒得到( /tmp中的文件未創建),則說明cron問題; 守護程序未運行,或者您的用戶沒有使用該守護程序的權限(但crontab並未告知您),或者您尚未將crontab提交給程序( crontab -l說什么?),或者……什么是真的錯。

同樣要注意, cron作業的輸出通常是(通過電子郵件發送給正在工作的人)(至少在某些情況下,在Mac OS X上是我當前使用的系統,在Solaris是我以前使用的另一個系統)。 您應該查看系統上的電子郵件。

謝謝! 我已經修好了! 它不起作用的原因是我在腳本中使用了“ ls -a .sh ”,並且crontab在正在執行的文件夾中找不到任何*.sh文件時。 將其修改為“ ls -a $HOME/Dropbox/temp_scripts/.sh ”時,一切正常! 此調試技術非常有幫助!

在許多方面,它是最基本的調試技術-確保您看到實際發生的情況。 如果不確定為什么外殼腳本不起作用,請確保可以看到它正在執行以及它以輸出方式產生了什么,並且(經常)確保您可以看到它在執行中的結果bash -x或等效的。 (AFAIK,所有外殼程序都支持-x來跟蹤執行。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM