利用shell脚本自动备份Mysql数据库
购买VPS建立这个博客之后,便要考虑备份的问题,首先就是Mysql数据库的备份,可以用这行命令备份数据库:
很有可能要备份多个数据库,就可以用编写一个shell脚本:
利用这个脚本就可以备份多个Mysql数据库了。
利用Linux的Crontab建立计划任务,自动运行这个脚本,就可以实现数据库定时自动备份了。
运行
有可能会提示找不到vi程序而不能编辑,此时需要运行
安装好vi之后,就可以进入crontab的编辑页,设置每天凌晨4点的时候自动运行。
也可以根据自己VPS的情况设置自动运行的时间。
/usr/local/mysql/bin/mysqldump -uUSER -pPASSWORD --database DBNAME > backup.sql
很有可能要备份多个数据库,就可以用编写一个shell脚本:
#!/bin/bash
#要备份的数据库名,多个数据库用空格分开
databases=(database1 database2 database3)
#备份文件要保存的目录
basepath='/root/backup/lveyo.com/mysql/'
#循环databases数组
for db in ${databases[*]}
do
#备份数据库生成SQL文件
/bin/nice -n 19 /usr/local/mysql/bin/mysqldump -uROOTUSER -pPASSWORD --database $db > $basepath$db-$(date +%Y%m%d).sql
#将生成的SQL文件压缩
/bin/nice -n 19 tar zPcf $basepath$db-$(date +%Y%m%d).sql.tar.gz $basepath$db-$(date +%Y%m%d).sql
#删除7天之前的备份数据
rm -rf $basepath$db-$(date +%Y%m%d -d "7 days ago").sql.tar.gz
done
#删除生成的SQL文件
rm -rf $basepath/*.sql
利用这个脚本就可以备份多个Mysql数据库了。
利用Linux的Crontab建立计划任务,自动运行这个脚本,就可以实现数据库定时自动备份了。
运行
crontab -e
有可能会提示找不到vi程序而不能编辑,此时需要运行
yum install vim-minimal
安装好vi之后,就可以进入crontab的编辑页,设置每天凌晨4点的时候自动运行。
0 4 * * * /backup_script/auto_mysql_backup.sh
也可以根据自己VPS的情况设置自动运行的时间。
评论
发表评论