首頁 > 後端開發 > php教程 > Linux自動備份資料庫失敗

Linux自動備份資料庫失敗

WBOY
發布: 2016-08-29 08:50:48
原創
939 人瀏覽過

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 應該寫絕對路徑;

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板