一、在linux系统上,编写自动备份数据库的shell脚本dumpsql.sh,内容如下图所示:
#/bin/shell
mysqldump -ulabg1204 -plabg1204aaa labg1204 > /labsoft/tomcat01/bakup/sqlback/labg1204_`date +%y.%m.%d`.sql;
tar -czvf /labsoft/tomcat01/bakup/sqlback/labg1204_`date +%y.%m.%d`.tar.gz /labsoft/tomcat01/bakup/sqlback/labg1204_`date +%y.%m.%d`.sql;
rm -rf /labsoft/tomcat01/bakup/sqlback/labg1204_`date +%y.%m.%d`.sql;
find /labsoft/tomcat01/bakup/sqlback/ -mtime +7 -name "*.tar.gz" -exec rm -rf {} \;
解释:
1、备份数据库
mysqldump -ulabg1204 -plabg1204aaa labg1204 > /labsoft/tomcat01/bakup/sqlback/labg1204_`date +%y.%m.%d`.sql;
---》使用用户名为labg1204密码为labg1204aaa的账户备份labg1204数据库,存放到/labsoft/tomcat01/bakup/sqlback/下面,备份的数据库名称是labg1204_当前年月日.sql
2、压缩当前备份好的数据库文件
tar -czvf /labsoft/tomcat01/bakup/sqlback/labg1204_`date +%y.%m.%d`.tar.gz /labsoft/tomcat01/bakup/sqlback/labg1204_`date +%y.%m.%d`.sql;
---》压缩上面备份到/labsoft/tomcat01/bakup/sqlback/目录下的数据库labg1204_当前年月日.sql为labg1204_当前年月日.tar.gz,存放在/labsoft/tomcat01/bakup/sqlback/目录下
3、删除上面1步骤备份好的数据库文件------节约硬盘可用量
rm -rf /labsoft/tomcat01/bakup/sqlback/labg1204_`date +%y.%m.%d`.sql;
---》删除/labsoft/tomcat01/bakup/sqlback/目录下上面1步骤备份好的数据库文件labg1204_当前年月日.sql
4、只保留据当前日期最近的7份备份的数据库文件------节约硬盘可用量
find /labsoft/tomcat01/bakup/sqlback/ -mtime +7 -name "*.tar.gz" -exec rm -rf {} \;
---》在/labsoft/tomcat01/bakup/sqlback/ 目录下,查找7天以前文件名称后缀为.tar.gz的文件,然后删除(即保留最近8天的文件--包含当天)
二、给linux添加定时任务来执行该脚本。
crontab -e
1 3 * * * /labsoft/tomcat04/backup/sqlback/dumpsql.sh
解释:
---》 输入如下该命令后,编辑一条任务
crontab -e
---》按下键i后,输入如下任务
1 3 * * * /labsoft/tomcat04/backup/sqlback/dumpsql.sh
---》 注意这里(1 3 * * *)需要空格做分隔符,每天凌晨3点1分执行一次指定目录下的dumpsql.sh 命令
---》任务输入结束后,在键盘上先按下“Esc”键,再按下“:”键,输入wq后,按下回车“Ente”r键,则该条任务添加成功
三、相关的截图
1、vim dumpsql.sh文件截图:
2、添加定时任务截图:
3、编辑定时任务截图:
4、最终备份的最近8天数据库压缩文件如:
注意:在Win7上定时任务添加方法参见:http://jingyan.baidu.com/article/6181c3e0435026152ef153d0.html