首頁  >  文章  >  後端開發  >  Linux自動備份資料庫失敗

Linux自動備份資料庫失敗

WBOY
WBOY原創
2016-08-29 08:50:48921瀏覽

shell
dbbackup.sh:

<code>mysqldump -uname -ppassword dbname | gzip > /www/web/mysqlbackup/xiangyanghua`date +%Y-%m-%d_%H%M%S`.sql.gz
</code>

crontab

<code>37 22 * * * root /www/web/mysqlbackup/dbbackup.sh</code>

請問哪裡有問題。

回覆內容:

shell
dbbackup.sh:

<code>mysqldump -uname -ppassword dbname | gzip > /www/web/mysqlbackup/xiangyanghua`date +%Y-%m-%d_%H%M%S`.sql.gz
</code>

crontab

<code>37 22 * * * root /www/web/mysqlbackup/dbbackup.sh</code>

請問哪裡有問題。

1.直接執行指令,可以不
2.crontab服務開了沒

1 crontab 任務會用目前使用者身分去執行的,加上那個root 沒用;
2 那個指令手動執行一遍,看看能不能成功,或有無其它錯誤;
3 在你的dbbackup.sh 腳本裡面添加日誌內容輸出到文件,例如在開始行和結束行添加

<code>echo $(date)--start >> /tmp/xxx.log
</code>

這種方式用來判斷這個腳本是否有執行,以及執行到哪一步出錯;
4 crontab 任務上加上執行的標準輸出和錯誤輸出

<code>37 22 * * * /www/web/mysqlbackup/dbbackup.sh > /tmp/dbback.log 2>&1
</code>

5 腳本的可執行權限
6 mysqldump 如果是源碼安裝的話,需要注意 path 環境變數的問題,crontab 可能會讀取不到路徑,所以在腳本中 mysqldump 應該寫絕對路徑;

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn