使用crontab和linux脚本编程简单实现mysql自动备份
在linux中如何对mysql数据库进行自动定期备份,今天bruce来分享一下这个小经验。
1,写一个小脚本,测试手动可以执行:
1)touch autoBakDb.sh--创建一个autoBakDb.sh文件
2)chmod +x autoBakDb.sh--将该文件加上执行的权限
3)编辑该脚本命令:
vi autoBakDb.sh,输入:
#!/bin/bash
SQLNAME="seotcs_`date +%Y%m%d%H%M%S`.sql"
cd ~/dbbak
mysqldump -u user -ppasswd dbname>$SQLNAME
其中,"seotcs_`date +%Y%m%d%H%M%S`.sql"可以生成这样一个字符串seotcs_20120209205144.sql,采用时间字符串确保文件的唯一性,-p后面的字符串是数据库密码,中间是没有空格的,dbname是你要备份的那个数据库名称。
测试后可以执行后,进入crontab的编辑模式。
2,执行crontab -e,添加命令行到最后:
54 23 * * 2 /etc/job/autoBakDb.sh
参照我之前的文章crontab任务不执行的解决办法,可以看出,该自动备份脚本执行频率为,在每周二的晚上11点54分进行mysql中数据库dbname的自动备份。
小小经验,就此分享,希望对你有所帮助。
分享按钮
1,写一个小脚本,测试手动可以执行:
1)touch autoBakDb.sh--创建一个autoBakDb.sh文件
2)chmod +x autoBakDb.sh--将该文件加上执行的权限
3)编辑该脚本命令:
vi autoBakDb.sh,输入:
#!/bin/bash
SQLNAME="seotcs_`date +%Y%m%d%H%M%S`.sql"
cd ~/dbbak
mysqldump -u user -ppasswd dbname>$SQLNAME
其中,"seotcs_`date +%Y%m%d%H%M%S`.sql"可以生成这样一个字符串seotcs_20120209205144.sql,采用时间字符串确保文件的唯一性,-p后面的字符串是数据库密码,中间是没有空格的,dbname是你要备份的那个数据库名称。
测试后可以执行后,进入crontab的编辑模式。
2,执行crontab -e,添加命令行到最后:
54 23 * * 2 /etc/job/autoBakDb.sh
参照我之前的文章crontab任务不执行的解决办法,可以看出,该自动备份脚本执行频率为,在每周二的晚上11点54分进行mysql中数据库dbname的自动备份。
小小经验,就此分享,希望对你有所帮助。