本文摘自PHP中文网,作者angryTom,侵删。
开发中我们常常有使用Svn或者Git来管理我们的代码或者是项目相关的文件,然而他们都有一个共同点就是:版本控制 很多人会问为什么要使用Svn或者是Git,那么我会问:我相信你写的代码很好,但是有一天你修改了很多很多的Bug,但是突然想到以前的代码中有一个比较重要的算法你不小心覆盖掉了,这时候你应该怎么办?
推荐 《mysql视频教程》
或许你会告诉我你可以在修改这些代码之前备份一次当前修改的文件,或者是当前项目。
但是时间久了你的机器上会有多少备份文件呢?
如果有一天你的同事需要回滚到之前的代码看一下那时候Bug的原因,你会从你的机器上找到指定时间的文件发给他嘛?
当然不是,我们有Svn或者是Git之后我们可以方便的看到文件之前的版本,还可以方便的对比。那么现在清楚了版本控制的重要性了。
同样数据库也是这样,我们的系统99%都离不开数据库,因为我们总要把数据存储起来。
那如果我们数据库被误删、被黑客入侵、被恶意修改怎么办?
那么我们可以试着让我们的服务器自动来帮我们备份数据库的数据到指定位置,万一有一天我们的数据库不小心手抖了,我们还可以用备份下来的数据库脚本直接恢复。
上脚本:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | # db username
db_user= "test"
# db password
db_passwd= "test"
# db host
db_host= "121.201.5.216"
# backup db name
db_name= "Alterem"
# the directory for story your backup file.
backup_dir= "backup" cd
# date format for backup file (dd-mm-yyyy)
time= "$(date +" %Y-%m-%d-%H-%M-%S ")"
# mysql, mysqldump and some other bin's path
MYSQL= "/usr/local/mysql/bin/mysql"
MYSQLDUMP= "/usr/local/mysql/bin/mysqldump"
GZIP= "/bin/gzip"
$MYSQLDUMP -u $db_user -h $db_host -p $db_passwd $db_name | $GZIP -9 > "/data/backup/$backup_dir/$db_name" _ "$time.gz"
|
创建定时器
添加定时器
1 2 | # 每天凌晨 1 点 30 分 进行数据备份
30 1 * * * /root/mysql-backup.sh
|
重启定时器
1 | /etc/rc.d/init.d/crond restart
|
cron解析
1 2 3 4 5 6 7 8 9 | # 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
# | | | | |
# * * * * * user-name command to be executed复制代码
|
在线Cron表达式生成器:http://cron.qqe2.com/
以上就是MySQL在CentOS上执行自动备份的详细内容,更多文章请关注木庄网络博客!
相关阅读 >>
mysql如何导入txt数据?
mysql 日期加减函数汇总
mysql中的router是什么
mysql卸载无法重装怎么办?
掌握mysql隐藏字段(rowid)什么时候是可见的
mysql如何查询30天内的数据
mysql怎么删除表字段
mysql中如何批量注释sql语句
浅谈mysql事务管理(基础)
关于mysql的基础知识详解
更多相关阅读请进入《mysql》频道 >>
机械工业出版社
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。
转载请注明出处:木庄网络博客 » MySQL在CentOS上执行自动备份