文章插图
【MySQL在CentOS上执行自动备份】? 开发中我们常常有使用Svn或者Git来管理我们的代码或者是项目相关的文件,然而他们都有一个共同点就是:版本控制
? 很多人会问为什么要使用Svn或者是Git,那么我会问:我相信你写的代码很好,但是有一天你修改了很多很多的Bug,但是突然想到以前的代码中有一个比较重要的算法你不小心覆盖掉了,这时候你应该怎么办?
? 或许你会告诉我你可以在修改这些代码之前备份一次当前修改的文件,或者是当前项目 。
? 但是时间久了你的机器上会有多少备份文件呢?
? 如果有一天你的同事需要回滚到之前的代码看一下那时候Bug的原因,你会从你的机器上找到指定时间的文件发给他嘛?
? 当然不是,我们有Svn或者是Git之后我们可以方便的看到文件之前的版本,还可以方便的对比 。那么现在清楚了版本控制的重要性了 。
? 同样数据库也是这样,我们的系统99%都离不开数据库,因为我们总要把数据存储起来 。
? 那如果我们数据库被误删、被黑客入侵、被恶意修改怎么办?
? 那么我们可以试着让我们的服务器自动来帮我们备份数据库的数据到指定位置,万一有一天我们的数据库不小心手抖了,我们还可以用备份下来的数据库脚本直接恢复 。
? 上脚本:
# db usernamedb_user="test" # db passworddb_passwd="test"# db hostdb_host="121.201.5.216"# backup db namedb_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"创建定时器
crontab -e添加定时器
# 每天凌晨 1 点 30 分 进行数据备份30 1 * * * /root/mysql-backup.sh重启定时器
/etc/rc.d/init.d/crond restartcron解析
# 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 executedhttp://cron.qqe2.com/:http://cron.qqe2.com/
本文由博客一文多发平台 https://openwrite.cn 发布!
推荐阅读
- 只需5分钟!即可在mac上运行k3s
- 黑客如何入侵企业网络?
- MD5破解原理
- 带你认识MySQL sys schema
- 如何在 CentOS 8/RHEL 8 上安装和使用 Cockpit
- mysql 如何查看sql语句执行时间和效率
- 使用shell脚本在centos8平台安装nginx服务
- 投票!石亭绿茶正在参与首届南安伴手礼评选,快来为丰州味道投票打...
- 全面的茶道礼仪 让你在面前更加得体 更加懂得待客之道
- 公牛开关插座好不好