2014-01-09 95 views
0

我有一個應該每週運行一次的備份cron作業。當我在命令行執行它時,它工作得很好,但它從不在cron中執行。我的其他cron任務執行沒有問題。我認爲它必須與我的選項或不正確的語法有關。這是有問題的cron項:Ubuntu cron未執行,但在命令行上正常工作

10 10 * * 0 php ~/v2/symfony/symfony cc; tar -czf ~/backups/schroeder/v2/v2_site_backup_`date +%Y-%m-%d_%H-%M`.tgz ~/v2/symfony | tee -a ~/log/weekly_backup.log 

SOLUTION 原來我需要輸入時,我的cron列表逃脫%。使作品的命令是:

10 10 * * 0 php ~/v2/symfony/symfony cc; tar -czf ~/backups/schroeder/v2/v2_site_backup_`date +\%Y-\%m-\%d_\%H-\%M`.tgz ~/v2/symfony | tee -a ~/log/weekly_backup.log 

回答

2

crontab有一個非常小的環境,所以你必須指明完整路徑。

10 10 * * 0 /path/of/php /home/your_user/v2/symfony/symfony cc; tar -czf /home/your_user/backups/schroeder/v2/v2_site_backup_`date +%Y-%m-%d_%H-%M`.tgz /home/your_user/v2/symfony | tee -a /home/your_user/log/weekly_backup.log 
      ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^         ^^^^^^^^^^^^^^^                 ^^^^^^^^^^^^^^^      ^^^^^^^^^^^^^^^ 

代替

10 10 * * 0 php ~/v2/symfony/symfony cc; tar -czf ~/backups/schroeder/v2/v2_site_backup_`date +%Y-%m-%d_%H-%M`.tgz ~/v2/symfony | tee -a ~/log/weekly_backup.log 

也就是說,對於/home/your_user/更改所有~

另外!逃生每個%爲已讀here

date +%Y-%m-%d_%H-%M 

必須

date +\%Y-\%m-\%d_\%H-\%M 
+0

謝謝!我是否需要更改其他2'〜'參考?如果不是,爲什麼? **編輯:沒關係我在你的文章中錯過了'all〜'。再次感謝! –

+0

是:)它對你有用嗎?我希望如此 – fedorqui

+0

可惜沒有。日誌也不吐出任何東西。下面是我們每日運行的另一個任務,其工作完美:{5 3 * * * php〜/ v2/symfony/symfony dbBackup --verbose = true | tee -a〜/ v2/symfony/log/db_backup.log } –

相關問題