編輯定時任務

編輯定時任務

我嘗試每天使用 mysqldump、screen 和 crontab 備份資料庫表。如果我只運行mysqldump,它會正確轉儲,但如果我運行screen,輸出檔案為空。

編輯定時任務

crontab -e

新增命令

0 0 * * * screen -dmS MYDATABASE_MYTABLE_backup mysqldump -u MYUSERNAME -pMYPASSWORD -h MYHOSTNAME MYDATABASE MYTABLE --compress | gzip > /root/backup/database/MYDATABASE_MYTABLE_`date +\%Y-\%m-\%d`.sql.gz

答案1

不太確定在這種情況下你想用 screen 來完成什麼以及為什麼需要它。但是您正在將 screen 的輸出通過管道(使用 | .. > )傳輸到轉儲文件,而不是在 screen 中運行的程式的輸出。您要么必須用引號將完整的突擊隊括起來 - 或者最好將突擊隊放入腳本文件中,然後簡單地調用腳本

myscript.sh:

#!/bin/sh
mysqldump -u MYUSERNAME -pMYPASSWORD -h MYHOSTNAME MYDATABASE MYTABLE --compress | gzip > /root/backup/database/MYDATABASE_MYTABLE_`date +\%Y-\%m-\%d`.sql.gz

螢幕-dmS MYDATABASE_MYTABLE_backup myscript.sh

相關內容