1、 建立備份路徑
mkdir /data/backup/test/
2、建立備份指令碼vim backup.sh
寫入shell:
mysqldump -h 需要備份資料庫所在機器ip -u使用者名稱 -p密碼 備份的資料庫名 --opt -q -r --skip-lock-tables > 備份檔案所在路徑
例項:
mysqldump -h 192.168.0.11 -uroot -p123456 test --opt -q -r --skip-lock-tables > /data/backup/test/test_$(
date +%y%m%d_%h%m%s)
.sql
在建立成功之後可以先執行測試一下看看,相應的路徑下面是否有備份的sql檔案生成。
3、建立定時任務
3.1安裝 crontab
#檢視crontab是否安裝
crontab -l
#no crontab for root 未安裝
#安裝crontab
yum -y install vixie-cron # crontabs的核心依賴
yum install crontabs
#服務狀態控制
/sbin/service crond start //啟動服務
/sbin/service crond stop //關閉服務
/sbin/service crond restart //重啟服務
/sbin/service crond reload //重新載入配置
/sbin/service crond status //檢視狀態
#或者使用
service crond start
service crond stop
service crond restart
service crond reload
service crond status
#開機啟動
vim /etc/rc.d/rc.local
/sbin/service crond start
3.2加入計畫任務crontab -e
0 1 * * * sh /data/backup.sh
檢視計畫任務是否執行:
#命令類似tomcat的日誌檢視
tail -f /var/log/cron
至此,其實定時備份已經完成了,不過還可以有個小優化,在每次執行備份的時候檢查一下,多長時間之外的備份檔案就不要了,不然備份檔案日積月累會越來越多,把磁碟擠爆。。。。
在backup.sh中加入下面語句:
rm -rf $(find /data/backup/ -mtime +30 -name "*.sql")
這樣就能只備份最近乙個月的檔案了。 mysql 定時備份資料
標籤 空格分隔 mysql mysqldump 編寫shell指令碼 bin bash description mysql buckup shell script user username 連線資料庫的 使用者名稱 password password 連線資料庫的 密碼 database your...
mysql定時備份資料
備份指令碼 生產環境已經使用,沒有問題 bin bash 設定mysql的登入使用者名稱和密碼 根據實際情況填寫 mysql user root mysql password 123456 mysql host localhost mysql port 3306 mysql charset utf8...
Mysql定時備份資料指令碼
定時任務,計畫在每天晚上23點55分進行資料備份 bin bash 資料庫定時備份,並將備份的庫進行打包壓縮 user root 使用者名稱 passwd 123456 密碼 dataname sjk 資料庫名 back path vdb1 mysql backup 備份位址 date date y...