Linux使用Crontab MySql定时备份

1、创建备份目录(就是备份的文件放在哪里已经shell脚本)

(shell脚本我放在这里)

mkdir /home/bak_sh  


(数据库备份文件放在这里)

mkdir /home/mysqlbackup    


2、创建备份Shell脚本:

cd  /home/bak_sh

vi mysqlbck.sh

输入:

backupdir=/home/mysqlbackup
time=_`date +%Y_%m_%d_%H_%M_%S`
db_name=test
db_user=root
db_pass=123456
mysqldump -u $db_user -p$db_pass --extended-insert=false $db_name | gzip > $backupdir/$db_name$time.sql.gz
find $backupdir -name $db_name"*.sql.gz" -type f -mtime +91 -exec rm -rf {} \; > /dev/null 2>&1

说明:

backupdir :备份文件要放的目录

time : 时间,文件名用到

db_name :要备份的数据库名

db_user:数据库用户名

db_pass :数据库用户密码

备份语句(备份并进行压缩):

mysqldump -u $db_user -p$db_pass --extended-insert=false $db_name | gzip > $backupdir/$db_name$time.sql.gz


删除超过3个月的所有备份数据(即删除3个月之前的备份,保留3个月内的备份,这个规则根据需求随意定);

find $backupdir -name $db_name"*.sql.gz" -type f -mtime +91 -exec rm -rf {} \; > /dev/null 2>&1


保存退出!(先按一下键盘上的 " esc " 然后输入 “:wq ” 表示保存


3、添加可执行权限

chmod +x /home/bak_sh/mysqlbck.sh  

(执行mysqlbck.sh测试备份脚本是否可用,如果可用,执行后会在/home/mysqlbackup目录下生成备份好的压缩文件,为确保备份内容正确,可查看压缩文件的内容是否是我们需要的


4、添加计划任务修改/etc/crontab

crontab -e

这时就像使用vi编辑器一样,可以对计划任务进行编辑

或者直接编辑 /etc/crontab


输入以下内容并保存:

0 3 * * * root /home/bak_sh/mysqlbck.sh

(表示:每天凌晨3点以root权限开始执行mysqlbck.sh脚本)

cron时间的格式是

分 时 日 月 周

保存退出!


5、重新启动crond

/etc/rc.d/init.d/crond restart

或者:

service crond restart


6、查看任务执行日志

# tail -f /var/log/cron


7、系统崩溃,重建系统时,可以这样恢复数据:

先解压压缩的备份文件
#mysql -u username -ppassword test< test_2016_12_07_09_54_34.sql.gz

从压缩文件直接恢复:

#gzip < test_2016_12_07_09_54_34.sql.gz | mysql -u username -ppassword test



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值