linux 下mysql自动备份

前不久要在linux下每天自动备份mysql数据库。
版本
[list]
[*]Linux: redhat enterprise linux 5
[*]mysql: 5.1
[/list]在网上找了找,要写个shell命令执行mysqldump然后保存文件
1. 创建shell脚本文件
[quote]
filename=`date +%Y%m%d_%H:%M`
mysqldump --opt database -u username -h host -ppassword | gzip > /var/mysqlbackup/$filename.gz
[/quote]
然后把该文件放到/etc/cron.daily/(每天执行目录)
[list]
[*]/etc/cron.hourly/ (每小时)
[*]/etc/cron.monthly/ (每月)
[*]/etc/cron.weekly/ (每周)
[/list]
然后在编辑/etc/crontab文件,改变/etc/cron.daily前面的时间参数(默认为4点)
[quote]
前面的时间格式为“M H D m d cmd”。其中,M代表分钟(0~59),H代表小时(0~23),D代表天(1~31),m代表月(1~12),d代表一星期内的天(0~6,0为星期天)。*表示任何.例如01 * * * * 表示每小时的01分执行
[/quote]
[color=red]如果不是redhat要编辑/etc/crontab文件[/color]

gedit /etc/crontab

在最后加入
[quote]
01 5 * * * root /opt/autobackup(上面shell脚本文件)
[/quote]
每天5点运行脚本,也可以修改5为其他指定时间
2. 为脚本增加权限
# chmod +x /opt/autobackup(面shell脚本文件)

3. 重启crontab
# /etc/rc.d/init.d/crond restart 


到这为止看似OK挺easy可是执行后也没有报错
发现/var/mysqlbackup/(备份目录)下有一个叫..%Y%m%d_%H:%M.gz的文件
看样是日期文件名没有生效。最后又搞了半天,也查了半天就是不知道怎么回事
最后问了一个朋友他让我把shell脚本发过去,过了一会。才知道是因为
[quote]
filename=`date +%Y%m%d_%H:%M`
[/quote]
[color=red]这个" ' "应该是Tab键上的那点,而我打的是单引号。我疯 :( [/color]
在此感谢他->孙伟 :idea:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值