2015-08-13 38 views
0

我在我的服務器上使用docker與docker撰寫(debian 7.5)。Debian:在Docker上使用cron任務

我有2個應用程序的1個mysql容器和一個postgresql容器。

當我要創造我的數據庫的備份(例如從我的MySQL容器中的「mydb」數據庫),我這樣做:

docker exec -it <my_container_id> mysqldump --opt mydb > "/backup/mydb$(date +%Y%m%dà%H%M).sql" 

它非常好。備份保存在我的本地服務器中。

事情是我想每天創造這個任務。所以我在/etc/cron.daily/中創建了一個「backup.sh」文件。 (然後我做了chmod + x backup.sh)。

但問題是,cron根本不起作用。我可以在日誌中看到該文件已執行,但我的備份文件夾中沒有任何內容。

有人有問題嗎?

非常感謝您

回答

0

的Cron不設置PATH,除非你指定。

嘗試在您的shell腳本中使用docker絕對路徑(最有可能爲/usr/bin/docker)。

+0

同樣的問題(或者我做得不好---))。如果我手動運行包含我的命令的文件'docker exec -it mysqldump --opt mydb>「/ backup/mydb $(date +%y%m%dà%H%M).sql」' ...仍然與con – Quentinv

+0

無法確定從cron作業中'-it',因爲我代表交互式並且分配一個pty,請嘗試用'-d'替換此-d' – user2915097

+0

Hello @ user2915097。首先感謝你的幫助。我試着用-d。這個時候cron創建我的.sql文件,但是這個文件是......空...... :-) – Quentinv