#mysql專用目錄
mkdir /mysql
#mysql備份目錄
mkdir /mysql/backup
#mysql備份指令碼
mkdir /mysql/backup/scripts
#mysql備份檔案
mkdir /mysql/backup/files
#mysql備份日誌
mkdir /mysql/backup/logs
新建完整備份指令碼
vi /mysql/backup/scripts/backup_full.sh
指令碼內容:
#!/bin/bash
#備份目錄
backup_root=/mysql/backup
backup_filedir=$backup_root/files
backup_logdir=$backup_root/logs
#當前日期
date=$(date +%y%m%d)
######備份######
#查詢所有資料庫
#-uroot -p123456表示使用root賬號執行命令,且root賬號的密碼為:123456
databases=$(mysql -uroot -p123456 -e "show databases" | grep -ev "database|sys|information_schema")
#databases=$(mysql -uroot -p123456 -e "select schema_name from information_schema.schemata where schema_name not in ('sys','mysql','information_schema','performance_schema');" | grep -v "schema_name","ken.io")
echo $databases
#迴圈資料庫進行備份
for db in $databases
doecho
echo ----------$backup_filedir/$_$date.sql.gz begin----------
mysqldump -uroot -proot@1024 --default-character-set=utf8 -q --lock-all-tables --flush-logs -e -r --triggers -b $ | gzip > $backup_filedir/$_$date.sql.gz
echo ----------$backup_filedir/$_$date.sql.gz complete----------
echo
done
echo "done"
#執行備份指令碼
sh /mysql/backup/scripts/backup_full.sh
#檢視備份檔案
ll /mysql/backup/files -h
#解壓指定檔案(自己替換成備份的檔案)
gunzip /mysql/backup/files/
安裝crontab
yum install -y crontab
建立定時備份任務
#新增定時任務
crontab -e
#每天凌晨3點執行
00 3 * * * sh /mysql/backup/scripts/backup_full.sh
#檢視定時任務
crontab -l
建立檔案清理指令碼
#建立指令碼檔案
vi /mysql/backup/scripts/backup_full_clean.sh
#寫入以下內容
#!/bin/bash
find /mysql/backup/files -mtime +7 -name "*.gz" -exec rm -rf {} \;
建立定時清理任務
#新增定時任務
crontab -e
#每天凌晨1點執行
00 1 * * * sh /mysql/backup/scripts/backup_full_clean.sh
#檢視定時任務
crontab -l
CentOS MySQL自動備份
說明 生產環境中,需要對資料庫定時進行備份,通常對從庫配置備份。備份的方式有 mkdir home mysql bak p vim home mysql bak backup.sh 減配版 bin bash 使用者需要配置的部分 mybackupdir home mysql bak myuser t...
CentOS MySQL自動備份shell指令碼
在資料庫的日常維護工作中,除了保證業務的正常執行以外,就是要對資料庫進行備份,以免造成資料庫的丟失,從而給企業帶來重大經濟損失。通常備份可以按照備份時資料庫狀態分為熱備和冷備,按照備份資料庫檔案的大小分為增量備份 差異備份和全量備份。這裡,我們講解一種全量備份的方法,來實現定時備份資料到mysql指...
centos mysql資料庫自動備份
方案一 vi usr sbin bakmysql 內容如下 1 db user root 2 db passwd root 3 db name db test 4 the directory for story your backup file.you shall change this dir 5...