Ubuntu
使用 crontab 自動創建備份
我正在嘗試使用 crontab 自動備份 mysql 數據庫,但是當我直接使用命令 int /etc/crontab 文件時,備份創建成功
19 16 * * * root mysqldump -u root -prootroot -h192.168.4.5 radius | gzip > /etc/freeradius/nh.sql.gz
上面的命令很好用,但是當我在文件中執行這個命令並從 crontab 執行文件時,無法創建數據庫,這是 /etc/freeradius/backup.sh 的內容
mysqldump -u root -prootroot -h192.168.4.5 radius | gzip > /etc/freeradius/nh.sql.gz
這是 crontab 文件的內容
46 16 * * * root /etc/freeradius/backup.sh
但是即使命令像我在 syslog 文件中看到的那樣執行,也沒有任何事情發生
創建一個文件
db_dump.sh
-> 腳本將數據庫的內容轉儲到目錄“/backups/”中的單獨文件中#!/bin/bash mysqldump -x --add-drop-table --all-databases > /backups/mysqldb-`date +%F-%I%p`.sql /usr/bin/mysql -e 'show databases' | /usr/bin/awk '{print $1}' | /bin/grep -v "^Database$" | /usr/bin/xargs -i{} /usr/bin/mysqldump --single-transaction --opt -Q -r /backups/`date +%F-%I%p`-{}.sql {} gzip -q /backups/*.sql
確保它
db_dump.sh
是可執行的。添加到 crontab,在我的情況下,每天晚上 10 點:
crontab -e
並添加:
0 22 * * * /db_dump.sh
有關完整備份和很好的解釋,請訪問:https ://github.com/zauberware/automated-server-backups