linux的crontab定时服务备份mysql数据
来源:互联网 发布:电脑画画软件下载 编辑:程序博客网 时间:2024/05/29 18:31
利用Linux的crontab定时服务备份mysql数据。
一、库文件备份
库文件备份,我建议一周一次(当然,我的项目规模一般,然后至于怎么一周一次,稍候我们再聊了)
#!/bin/bashdate_now=`date +%Y_%m_%d_%H%M%S`mysqldump -uroot -plixiaoli --flush-logs --master-data=2 maweiqing>/home/backup/${date_now}.sql &&zip -r /home/backup/${date_now}.zip /home/backup/${date_now}.sqlrm -f /home/backup/${date_now}.sql
- 获取当前日期,作为库文件备份的文件名
- mysqldump命令对数据库maweiqing备份到20151030.sql中
- zip命令对文件压个缩。
- rm命令删除sql文件
二、二进制日志备份
二进制文件备份,我建议早晚各一次了。
#!/bin/bashdate_now=`date +%Y_%m_%_d_%H%M%S`filename=mysql-binfilesuffix_max=0filesuffix_lastbutone=0mysqlpath=/var/lib/mysql/backuppath=/home/backup/mysqlbinarylog/mysqladmin -uroot -plixiaoli flush-logs &&for fname in `ls $mysqlpath`dofilesuffix=${fname##*.}isnum=`expr match ${filesuffix} '[0-9][0-9]*$'`if [ $isnum ] && [ $isnum -ne 0 ] && [ $filesuffix -gt $filesuffix_max ] then filesuffix_lastbutone=$filesuffix_max filesuffix_max=$filesuffixfidone &&filefullname=${filename}.${filesuffix_lastbutone}cp $mysqlpath$filefullname $backuppath &&zip ${backuppath}${date_now}${filefullname}.zip $backuppath$filefullname &&echo "done"
1. 注意,二进制日志备份,需要mysql开启二进制日志。
2. 其文件路径是在/var/lib/mysql/路径下面。
3. mysqladmin 命令进行二进制日志备份。
说到这,我觉得我要提醒你点什么,以免你照做后出现错误来找我(如果你要来找我,我觉得挺乐意的)。
- 上面两个文件列出的路径,你一定要检查是否存在,如果不存在,就mkdir一下。
- zip命令如果在服务器上没有安装的话,我稍候也会告诉你怎么做的。
- mysql日志文件的事情,我的另一篇文章会说明的,请参见。
- 至于在Linux上怎么编辑文件,我想你可以问问“vim”大人。
- 还有什么忘记说的?对了,你在看这篇文章之前最好看看mysql配置
这两个文件是搞好了,接下来要做什么?“元芳,你怎么看?”“大人,你觉得呢?”
三、测试备份
首先,要想让两个文件运行,肯定是要赋予他们灵魂的,不然,怎么搞。
[root@iZ23gsv94suZ soft]# chmod 700 flushlog_and_copy.sh [root@iZ23gsv94suZ soft]# chmod 700 backuplixiaoli.sh
库文件备份
[ot@iZ23gsv94suZ soft]# sh backuptiangong.sh mysqldump: [Warning] Using a password on the command line interface can be insecure. adding: home/backup/2015_10_30_105545.sql (deflated 77%)[root@iZ23gsv94suZ backup]# lltotal 28-rw-r--r-- 1 root root 23948 Oct 30 10:55 2015_10_30_105545.zip
二进制日志备份
[root@iZsuZ soft]# sh flushlog_and_copy.sh mysqladmin: [Warning] Using a password on the command line interface can be insecure.expr: syntax error adding: home/backup/mysqlbinarylog/mysql-bin.000002 (deflated 36%)done[root@iZ23gZ soft]# cd /home/backup/mysqlbinarylog/[root@iZ23 mysqlbinarylog]# lltotal 8-rw-r--r-- 1 root root 343 Oct 30 10:59 2015_10_30_105901mysql-bin.000002.zip-rw-r----- 1 root root 167 Oct 30 10:59 mysql-bin.000002
四、加入crontab定时服务
到这呢,你可能需要先看看Linux:时间同步,了解一下Linux的自动化服务!
①、先看看crontab服务
[root@iZ23gsv94suZ mysqlbinarylog]# crontab -l-bash: crontab: command not found
②、安装crontab
[root@iZ23gsv94suZ mysqlbinarylog]# yum install -y vixie-cronLoaded plugins: securitySetting up Install ProcessResolving DependenciesInstalled: cronie.x86_64 0:1.4.4-15.el6 Dependency Installed: cronie-anacron.x86_64 0:1.4.4-15.el6 crontabs.noarch 0:1.10-33.el6 exim.x86_64 0:4.72-7.el6 Complete!
③、设置crontab开机启动
参照Linux:时间同步.
④、将mysql备份文件加入crontab
crontab -e
30 12,17,23 * * 1-5 sh /home/soft/flushlog_and_copy.sh40 23 * * 6 sh /home/soft/backuplixiaoli.sh
- 周一到周五12点半、17点半、23点半进行二进制文件备份
- 周六23点40分进行库文件备份。
然后,我们crontab -l
查看一下,是否已经命令加入到自动化任务中!
相关文章
- Linux上更改mysql数据库目录
- mysql之my.cnf
- linux的crontab定时服务备份mysql数据
- 升级mysql到5.7
感谢您阅读【沉默王二的博客】,如果王二的博客给您带来一丝帮助或感动,我(也就是王二)将不甚荣幸。
如果您碰巧喜欢,可以留言或者私信我,这将是我鼓捣更多优秀文章的最强动力。
3 0
- linux的crontab定时服务备份mysql数据
- crontab定时备份mysql数据
- Linux,crontab服务定时执行备份脚本
- mysqldump + crontab 定时备份MySQL数据
- linux下使用crontab定时备份MYSQL数据库的方法
- linux下使用crontab定时备份MYSQL数据库的方法
- linux下使用crontab定时备份MYSQL数据库的方法
- linux crontab mysql定时自动备份
- Linux使用Crontab MySql定时备份
- Linux下MySQL备份以及crontab定时备份
- Linux下MySQL备份以及crontab定时备份
- linux crontab 定时服务
- Linux crontab定时服务
- Crontab 每天定时备份 MySQL
- Linux下crontab+php实现Mysql数据库定时备份
- linux下应用crontab对mysql数据库进行定时备份
- linux定时任务crontab自动备份mysql数据库
- linux下使用crontab定时备份mongodb数据
- 推送通知
- 年龄几何
- 分析算法时间复杂度
- 工作不要太看重钱?那看重什么!
- 第八周项目1-建立顺序串的算法库
- linux的crontab定时服务备份mysql数据
- Cocoa过滤器NSPredicate
- C++11中的原子操作(atomic operation)
- 第九周 项目2-对称矩阵压缩存储的实现与应用(1)
- java中newInstance()和new()
- java insertsort 插入排序
- 第九周项目2-对称矩阵压缩存储的实现和应用(1)
- Java线程池介绍
- 软件认证证书