日期:2014-05-16  浏览次数:20793 次

问个mysql备份的问题
在linux下通过crontab每天定点备份.
mybackup.sh

cd /usr/bin
mysqldump -uroot -proot --default-character-set=utf8 --opt --extended-insert=false --triggers -R --hex-blob -x myDatabase>/usr/mysqlbak/myDatabase`date +'%Y%m%d'`.sql

生成的文件是myDatabase20120514.sql 
刚开始还好.现在数据库越来越大,对硬盘空间有压力.请问下,有什么办法可以减少.sql的大小.
比如更改备份文件的格式或者备份完成后,自动压缩文件?

------解决方案--------------------
仅靠 mysqldump无法实现对备份文件内容的多少进行控制。

你可以在这句后加一个文件压缩的命令,UNIX下有tar 命令。

另外备份文件一般上是禁止和数据库放在同一台服务器上的。
------解决方案--------------------
最好把备份文件放在其他机器上,另外压缩一下备份数据tar
------解决方案--------------------
可以在定时一个crontab 定时删除文件呢


删除6天前的文件
find 备份目录 -name * -mtime +6 -exec rm -rf {}\;