2011-11-10 67 views
0

我試圖在Ubuntu服務器上設置一個每天晚上運行mysqldump的cronjob。Ubuntu上的cronjob中的mysqldump

在我的Google搜索中,我發現了各種提示,但仍然無法使其工作。這就是我現在所擁有的:

命令(在shell中運行時正常工作):

/usr/bin/mysqldump -uuser -p****** dbname tablename > /var/sql_dump/dump.sql 

我添加此運行

sudo crontab -e 

並添加行的cronjob:

0 0 * * * /usr/bin/mysqldump -uuser -p****** dbname tablename > /var/sql_dump/dump.sql 

但是,當它到達那個時候(在這種情況下是00:00)沒有文件被創建。在shell中運行命令時,它甚至不需要執行,因此它應該很快。

每某人的建議,我也跑

sudo /etc/init.d/cron restart 

,但無濟於事(cron是重新啓動,但仍沒有創建文件)。

任何人都可以發現我可能錯過的東西嗎?非常感謝回覆。 :)

編輯:我發現了這個問題(在審查我的密碼時錯過了):我的密碼中有%字符,我必須逃脫。它現在工作正常:)

回答

1

我不完全確定是否它的原因,但我會創建一個shell腳本封裝包括參數和管道的整個命令,並從cron運行此腳本。這樣你可以確保參數和管道不會影響cron進程。

您可以通過syslog搜索與任務相關的cron錯誤消息。他們應該在那裏登錄。

+0

謝謝你的回答,我發現問題(在審查我的密碼時錯過了):我的密碼中有%字符,我必須逃脫。它現在工作正常:) – hesselbom