定时备份mysql数据(物理备份)
一、备份
1、安装xz压缩格式工具
释义:相比较Linux自带的tar工具,xz压缩率较大,节省空间。第一次需要先安装
安装:yum install xz -y
2、备份命令
释义:这里采用冷备份,即把mysql数据目录的所有文件打包到指定目录
命令:tar Jcvf path_1 path_2 (path1是备份目录 path2是mysql文件目录)
3、脚本
# 数据库定时备份 脚本
MYSQL_PATH=/mnt/sdc/files/mysql/data/
BACKUP_PATH=/opt/mysql-backup
DATETIME=$(date +%Y-%m-%d-%H-%M-%S)
# echo "date=$DATETIME"
echo "========备份开始========="
echo "========备份路径=$BACKUP_PATH/mysql-$DATETIME.tar.xz==========="
# 执行备份命令
tar Jcvf $BACKUP_PATH/mysql-$DATETIME.tar.xz $MYSQL_PATH
echo "==========备份完成==========="
# 找7天前文件,并删除
find $BACKUP_PATH -mtime +7 -name "*.tar.xz" -exec rm -rf {} \;
# 输出备份结束信息
echo "==========备份成功==========="
4、将脚本添加到系统定时任务
a、定时任务用法:
crontab 【选项】
-e:编辑crontab定时任务
-l:查询crontab任务
-f:删除当前用户所有的crontab任务
-r:终止任务调度
service crond restart:重启任务调度
b、步骤
编辑:crontab -e
添加定时任务:1 1 * * * /root/mysql-backup/mysql-backup.sh #脚本保存的路径
注:1 1 * * * 分别是 分钟 小时 天(1~31) 月(1~12) 星期(1~7)
重启:service crond restart
查看:crontab -l
二、还原
1、命令
tar Jxvf path1 path2 ( path1是备份文件目录 path2是要还原的目录 )
如:tar Jxvf /opt/mysql-backup/mysql-2020-04-15-13-14-24.tar.xz /mnt/sdc/files/mysql/data/