Centos Mysql定時自動備份

2021-10-12 07:29:22 字數 2213 閱讀 2056

#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...