IT技术互动交流平台

linux 下mysql自动备份

作者:jonelaw  发布日期:2011-08-09 18:12:19

前不久要在linux下每天自动备份mysql数据库。
版本


Linux: redhat enterprise linux 5
mysql: 5.1
在网上找了找,要写个shell命令执行mysqldump然后保存文件
1. 创建shell脚本文件

引用

filename=`date +%Y%m%d_%H:%M`
mysqldump --opt database -u username -h host -ppassword | gzip > /var/mysqlbackup/$filename.gz


然后把该文件放到/etc/cron.daily/(每天执行目录)

/etc/cron.hourly/ (每小时)
/etc/cron.monthly/ (每月)
/etc/cron.weekly/ (每周)

然后在编辑/etc/crontab文件,改变/etc/cron.daily前面的时间参数(默认为4点)

引用

前面的时间格式为“M H D m d cmd”。其中,M代表分钟(0~59),H代表小时(0~23),D代表天(1~31),m代表月(1~12),d代表一星期内的天(0~6,0为星期天)。*表示任何.例如01 * * * * 表示每小时的01分执行


如果不是redhat要编辑/etc/crontab文件
Java代码 
gedit /etc/crontab 

在最后加入

引用

    01 5 * * * root /opt/autobackup(上面shell脚本文件)


每天5点运行脚本,也可以修改5为其他指定时间
2. 为脚本增加权限
Java代码 
# chmod +x /opt/autobackup(面shell脚本文件) 

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


到这为止看似OK挺easy可是执行后也没有报错
发现/var/mysqlbackup/(备份目录)下有一个叫..%Y%m%d_%H:%M.gz的文件
看样是日期文件名没有生效。最后又搞了半天,也查了半天就是不知道怎么回事
最后问了一个朋友他让我把shell脚本发过去,过了一会。才知道是因为

引用

filename=`date +%Y%m%d_%H:%M`


这个" ' "应该是Tab键上的那点,而我打的是单引号。我疯

Tag标签: linux      mysql   自动备份  
  • 专题推荐

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规