linux 定时备份数据库

linux下定时备份mysql使用到了crontab系统,其按日期对备份结果进行保存,从而达到备份数据库的目的。

1、创建mysql中数据库的备份目录,mkdir /mysqlbackdir

2、创建mysql备份脚本,vi /usr/sbin/bak_mydb

 

#2012-6-19#
#edit by jijw#
#mysqldump命令 未使用绝对路径 所以在执行脚本前需要检查是否可以单独调用,若未调用可以将其放到path中,具体方法如下 #
#vi /etc/profile 在其中加入绝对路径 export PATH=$PATH:/usr/local/mysql/bin #

# 定义文件变量 #
time="$(date +"%Y%m%d%H%M%S")"
# mysqldump 导出 #
mysqldump -uroot -p1 mc2_move > /mysqlbackdir/mc2_move$time.dump

# 打开数据库目录并压缩当前备份文件,备份后删除dump文件#
cd /mysqlbackdir
tar -czvf mc2_move$time.tar.gz mc2_move$time.dump
rm -rf /mysqlbackdir/mc2_move$time.dump
  

3、给mysql备份脚本赋权,chmod +x 

4、配置linux crontal(/etc/crontab)配置文件(每天12点030分)

 

 

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  *  command to be executed

#back mc2_move
30 12 * * * root /usr/sbin/bak_mydb

 5、重启crond, /etc/rc.d/init.d/crond restart

 6、生成成功的话文件在/mysqlbackdir 下可以看到

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值