mysql备份计划 linux_Linux计划任务定时备份数据

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

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

#!/bin/bash

#备份文件存放路径

backupdir=/data/mysqlbaktime=` 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

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

693357cd5c13f37d0cabe3670218fba9.png

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

feb2f74f18429e30cdab5b9e603cce9c.png

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

【mysql备份全部全部数据库示例】

1,备份数据库,排除mysql本身的库以及被锁定的表。

2,备份数据库,排除mysql本身的库以及被锁定的表,同时压缩备份。

#备份数据库,排除mysql本身的库以及被锁定的表。

mysql-h10.90.2.189 -u用户名 -p"密码" -P3306 -e 'show databases;'|grep -Ev "Database|information_schema|mysql|performance_schema|testxxx" |xargs mysqldump -h10.90.2.189 -u用户名 -p"密码" -P3306 --databases > 333.sql

#备份数据库,排除mysql本身的库以及被锁定的表。同时压缩备份。

mysql-h10.90.2.189 -u用户名 -p"密码" -P3306 -e 'show databases;'|grep -Ev "Database|information_schema|mysql|performance_schema|testxxx" |xargs mysqldump -h10.90.2.189 -u用户名 -p"密码" -P3306 --databases --single-transaction --default-character-set=utf8 |gzip > 344.sql.gz

#备份数据库,排除mysql本身的库以及被锁定的表。

mysql -h10.90.2.189 -u用户名 -p"密码" -P3306 -e 'show databases;'|grep -Ev "Database|information_schema|mysql|performance_schema|testxxx" |xargs mysqldump -h10.90.2.189 -u用户名 -p"密码" -P3306 --databases > 333.sql

#备份数据库,排除mysql本身的库以及被锁定的表。同时压缩备份。

mysql -h10.90.2.189 -u用户名 -p"密码" -P3306 -e 'show databases;'|grep -Ev "Database|information_schema|mysql|performance_schema|testxxx" |xargs mysqldump -h10.90.2.189 -u用户名 -p"密码" -P3306 --databases --single-transaction --default-character-set=utf8 |gzip > 344.sql.gz

【mysql恢复备份】

下面示例常见的根据备份恢复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密码"

【完】

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值