mysql自动备份
在home目錄下新建autobackup.sh文件,輸入如下內容,參數根據情況自己設置
#!/bin/sh#請設置以下參數
#db_array 要備份的數據庫名,可以備份多個
db_array=(rms sales cloudserver iskyshop)
db_user=root
db_pwd=mysqladmin
#本目錄只保留近兩周每天的備份(日目錄)
db_day_path=/home/dbBackupPerDay
#本目錄保留每月1日的備份(月目錄)
db_month_path=/home/dbBackupPerMonth
#mysqldump目錄
#mysqldump=/opt/lampp/bin/mysqldump
mysqldump=/usr/bin/mysqldump#創建文件夾
mkdir -p $db_day_path
mkdir -p $db_month_path#backup mysql
for dbname in ${db_array[@]};
dodata=$(date +%Y-%m-%d) fileName=$dbname$dataecho 'do backup...'$fileName#每日備份到日目錄$mysqldump -u$db_user -p$db_pwd $dbname > $db_day_path/$fileName.sql#每月1日備份到月目錄day=$(date +%d) if [ $day -eq "1" ]then$mysqldump -u$db_user -p$db_pwd $dbname > $db_month_path/$fileName.sqlfi
done#刪除日目錄兩周前的備份
TwoWeeksAgo=$(date +"%Y-%m-%d" -d "-14 days")
rm -rf $db_day_path/*$TwoWeeksAgo.sql#mysql其它參數
#-R 包括函數和存儲過程
保存文件后,在系統中運行如下命令
crontab -e
在其中添加一行,每天2點執行
0 2 * * * sh /home/autobackup.sh
總結
- 上一篇: mysql/mariadb centos
- 下一篇: oracle自动备份