首页 > 系统服务 > 详细

Linux计划任务定时备份数据

时间:2020-09-02 11:38:53      阅读:81      评论:0      收藏:0      [点我收藏+]

最近有项目需要定期备份mysql数据的需求,通过linux系统的crontab计划任务实现了一个简单demo,通过mysqldump命令对mysql数据进行备份。

首先新建一个脚本文件:mysqlbak.sh(我这里的目录是 /data/mysqlbak/ )

#!/bin/bash

#备份文件存放路径
backupdir=/data/mysqlbak
time=` date +%Y%m%d%H%M `

echo -e `date +%F %T %A` " Crontab Start \n" >> $backupdir/crontab_mysqlbak_log_`date +%Y`.log

#备份所有数据库并打包
mysqldump  -h192.168.2.150 -uxxh -p"xxh密码"  --all-databases --single-transaction --default-character-set=utf8 |gzip > $backupdir/mysql$time.sql.gz
#删除7天之外的备份文件
find $backupdir -name "mysql*.sql.gz" -type f -mtime +7 -exec rm {} \; > /dev/null 2>&1

echo -e `date +%F %T %A` " Crontab End \n" >> $backupdir/crontab_mysqlbak_log_`date +%Y`.log

保存成 mysqlbak.sh,然后执行  sudo chmod +x mysqlbak.sh 给脚本添加可执行权限。

然后把这个脚本添加到任务计划中:

sudo crontab -u root -e 或者  sudo crontab -e 即可进入任务计划。

#计划任务每天3:00执行脚本
00 03 * * * /bin/bash /data/mysqlbak/mysqlbak.sh

到这里就完成了。然后过了几天再来查看效果如下:

技术分享图片

 通过命令 tail -f crontab_log_2020.log 查看输出的日志:

 技术分享图片

 这个案例实现了基本功能,如果要其他功能请自行修改。 

 

下面示例常见的根据备份恢复mysql数据的方法:

解压:
gzip -d mysql2020703.sql.gz

非压缩备份文件恢复:
mysql -uxxh -p < mysql2020703.sql

从压缩文件直接恢复:
gzip < mysql22020703.sql.gz | mysql -h 192.168.10.125 -P3306 -u xxh -p"mysql密码"

 

【完】

【shell脚本按当前日期输出日志】https://www.cnblogs.com/xiongzaiqiren/p/11413242.html

【Linux计划任务,定时清空日志】https://www.cnblogs.com/xiongzaiqiren/p/11190371.html

 

Linux计划任务定时备份数据

原文:https://www.cnblogs.com/xiongzaiqiren/p/13600507.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!