第一步:确定备份存放目录:/data/mysqldb
mkdir /data/mysqldb
并且在每天早上9点以mysqldata_2020_07_02_09.tar.gz 的压缩文件格式备份(2020_07_02_09是指备份执行时当天的日期和小时)。
最后只保留最近30天的备份。
第二步:创建MySQL备份脚本
sudo vim mysql_data_bak.sh
#!/bin/sh
DUMP
=/usr/bin/mysqldump
OUT_DIR
=/data/mysqldb
LINUX_USER
=root
DB_NAME
=databases
DB_USER
=root
DB_PASS
=1XyLwyXRxpzCJkcQ3QPFeWlB1OyQ9AM3
DAYS
=30
cd $OUT_DIR
DATE
=`date +%Y_%m_%d_%H`
OUT_SQL
="$DATE.sql"
TAR_SQL
="mysqldata_$DATE.tar.gz"
$DUMP -u
$DB_USER -p
$DB_PASS $DB_NAME --default-character-set
=utf8 --opt -Q -R --skip-lock-tables
> $OUT_SQL
tar -czf
$TAR_SQL ./
$OUT_SQL
rm $OUT_SQL
chown $LINUX_USER:$LINUX_USER $OUT_DIR/
$TAR_SQL
find $OUT_DIR -name
"mysqldata_*" -type f -mtime +
$DAYS -exec
rm {} \
;
第三步: 测试脚本
sudo /bin/sh /data/mysqldb/mysql_data_bak.sh
cd /data/mysqldb
ll
确认生成备份成功
第四步: 定时任务执行,定时执行采用cron
sudo vim /etc/crontab
30 8,13,20 * * * root /bin/sh /data/mysqldb/mysql_data_bak.sh
sudo service cron restart
到此完成