Linux计划任务定时备份数据

最近有项目需要定期备份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

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

Linux计划任务定时备份数据

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

 Linux计划任务定时备份数据

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

 

下面示例常见的根据备份恢复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计划任务定时备份数据

上一篇:Ubuntu上import cv2报错ImportError: libGL.so.1:


下一篇:如何创建一个AJAX-Enabled WCF Service