2016-03-21 40 views
0

我一直在玩弄獲取crontab來按計劃運行tar命令,但它似乎並沒有實際按間隔運行任務。 我放入我的crontab文件的代碼行如下。如何讓Crontab和Tar正確協同工作

1 * * * * tar cvf backup.tar . >> ~/testcron.log 

如果我在終端中運行它,tar命令本身起作用,所以我不確定爲什麼不能運行。

感謝

+1

錯誤的網站,而不是一個編程的問題。嘗試http://superuser.com/questions/tagged/linux – tink

+1

並回答你的問題:使用完整路徑。 – tink

+0

不要忘記當你使用'>>'(附加)時,你的初始失敗嘗試將會在日誌文件的頂部(跳過!),跳到底部以查看最新的運行輸出。我建議使用'...> cronlog來製作日期/時間戳記的日誌文件。$(date +%Y%m%d。%H%M)'(你需要在crontabs中轉義'%'字符,例如'\%Y \%m \%m ...')。祝你好運。 – shellter

回答

1

這裏有兩件事情,我可以想像問題:

  1. 如果這是/etc/crontab.d/etc/crontab一部分文件的一部分,cron的在6需要一個用戶名柱。因此,這將是沿着線的東西:

    1 * * * * root tar cvf backup.tar . >> ~/testcron.log 
    
  2. 你可能想用適當的絕對路徑替換.。當cron執行cronjob時,我不確定當前目錄是什麼,所以只需使用絕對路徑。

+0

用戶名字段取決於是在討論/ etc/crontab還是使用'crontab -e'。 –

+0

聲明1現在是錯誤的。 – tink

+0

@KurtStutsman哦,我不知道''crontab -e'',我一直使用''/ etc/crontab {,。d /}''。感謝您指出了這一點。 –

0

無法投遞的評論

cron的PATH變量可能與您的用戶PATH變量不同 如果是這樣的話,你將不得不爲其指定到tar可執行文件或出口的絕對路徑本地路徑的crontab

更多信息here