linux 利用crontab,系统每天定时备份mysql数据库


数据库的重要性不言而喻,那么数据库的备份就显得非常重要了,手动人工备份肯定工作量大,而且有可能还会出错.
这里讲讲利用linux的crontab每天定时备份mysql数据库

两点要求

(1)每天定时备份,可在深夜进行,以免影响服务器;

(2)自动删除上个月老的备份文件,但保留上月最后几天的备份。

1、创建保存备份文件的路径/mysqldata
#mkdir /usr/local/mysqldata

  

2、创建/usr/sbin/bakmysql文件

#vi /usr/sbin/bakmysql

 

rq=` date +%Y%m%d `
tar zcvf /usr/local/mysqldata/mysql$rq.tar.gz /var/lib/mysql
或者写成
rq=` date +%Y%m%d `
mysqldump ——all-databases -u root -p密码 > /mysqldata/mysql$rq.sql

/var/lib/mysql是你数据库文件的目录,部分用户是/usr/local/mysql/data,每个人可能不同
/mysqldata/表示保存备份文件的目录,这个每个人也可以根据自己的要求来做。

 

3、修改文件属性,使其可执行
# chmod +x /usr/sbin/bakmysql
4、修改/etc/crontab
#vi /etc/crontab
在下面添加
01 3 * * * root /usr/sbin/bakmysql
表示每天3点钟执行备份

5、重新启动crond
# /etc/rc.d/init.d/crond restart
完成。

这样每天你在/mysqldata可以看到这样的文件

mysql20040619.tar.gz

 

定时备份

使用系统的crontab

crontab -e

# m h  dom mon dow   command
0 3 * * * /var/backup/backup-mysql.sh


时间的格式是

分 时 日 月 周

上面的例子是指定每天3点备份一次数据库


提高:

当然,还可以加上一些更好的功能,如

备份后的文件压缩一下,这个很简单

只保留最近xx天的备份文件,这个要稍微复杂一点点

使用mysql二进制增量备份……

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM