Linux下MySQL定时按日期备份数据

2014-11-24 18:43:33 · 作者: · 浏览: 0

一、使用mysql内置命令 mysqldump


Usage:
mysqldump [OPTIONS] database [tables]
mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
mysqldump [OPTIONS] --all-databases [OPTIONS]


可以看到能备份全部的数据库,指定的数据库,指定数据库中的表


mysqldump -uUsername -pPassword Database > /var/backup/mysql/database.sql




二、按日期备份


mysqldump -uUsername -pPassword Database > /var/backup/mysql/database-`date +%Y%m%d`.sql


`date +%Y%m%d` 利用了shell的知识,先执行,得到格式化的日期


vim /var/backup/backup-mysql.sh


把上面的内容存到文件中


chmod +x backup-mysql.sh


加上可执行权限




三、定时备份


使用系统的crontab


crontab -e


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




时间的格式是


分 时 日 月 周


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




提高:


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


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


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


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


以下是shell脚本: