2014-02-24 69 views
0

任何人都可以讓我知道爲什麼這不起作用:的crontab不注日期錄入工作

# DO NOT EDIT THIS FILE - edit the master and reinstall. 
# (/tmp/crontab.oYrOhTNQ48 installed on Wed Feb 19 17:10:46 2014) 
# (Cron version -- $FreeBSD: src/usr.sbin/cron/crontab/crontab.c,v 1.22.2.1.6.1 2008/10/02 02:57:24 kensmith Exp $) 
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/usr/X11R6/bin:/usr/home/dennis/bin 
SHELL=/usr/local/bin/tcsh 
TZ=GMT 

## backup 
0 */4 * * * /usr/local/mysql-5.1.50/bin/mysqldump -e -u username -ppassword sm | /usr/bin/gzip > /tmp/database.`date +%m-%d-%Y-%T`.sql.gz 
* * * * * /usr/bin/touch /usr/home/dennis/thisworks 
* * * * * env > ~/env.output 

不幸的是我有日誌文件沒有訪問..所以我看不到任何錯誤。手動它工作正常。如果我拿出date +%m-%d-%Y-%T它也可以。我甚至嘗試過完整的路線,因爲沒有運氣。

有一點幫助嗎?

+0

有幾個問題:(1)這是你的用戶帳戶的'crontab'嗎? (2)爲什麼你的文件顯示「不要編輯這個文件」行?如果你用'crontab -e'正確編輯它,這不應該發生,(3)通過「不起作用」症狀是什麼? '/ tmp'中是否沒有輸出文件? – lurker

回答

0

你有殼牌嗎?到剛剛在shell中運行

/usr/local/mysql-5.1.50/bin/mysqldump -e -u username -ppassword sm | /usr/bin/gzip > /tmp/database.`date +%m-%d-%Y-%T`.sql.gz 

的最佳方式。你會看到任何錯誤。

一旦bash命令正在工作,然後將其移動到cron並應用日期設置。

0

我剛剛遇到了同樣的問題,最後通過轉義date命令中的%字符來修復它。

在crontab中該行應保持不變,只是改變:

`date +%m-%d-%Y-%T` 

`date +\%m-\%d-\%Y-\%T` 

正如前面提到的,你應該永遠編輯系統crontab文件。你應該使用:

crontab -e