引言:由于公司有少部分项目使用的是阿里云的服务器,而阿里云的服务器本身并不自带数据库自动备份功能,系统快照并不能做到即时,因此着手写了这个脚本。
此脚本主要用于linux环境下的mysql自动备份,备份格式为.gz。
1.创建存储备份文件的文件夹
在不手动删除的情况下,该备份将长期存储,所以建议先查一下当前系统的分区环境,尽量将该文件夹建立在空间较大的分区。
mkdir /home/mysql-backup
2.创建shell脚本,为防止误删,可将该文件放置在不经常访问的目录下
vi /home/shell/databackup.sh
3.databackup.sh内容
建议先直接输入mysqldump命令,回车,试试mysql命令可用性,如不可用需使用该命令绝对路径或安装mysql
dbUser=rootdbPwd=rootdbHost=127.0.0.1dbPort=3306filename=`date +%Y%m%d%H%M%S`mysqldump -h $dbHost -P$dbPort -u$dbUser -p$dbPwd --opt -R -v --all-databases|gzip -9 > /home/mysql-backup/$filename.sql.gz
4.将脚本加入定时任务中,每5分钟运行一次
Linux的定时任务配置文件为/etc/crontab,所以在crontab文件最后加入一行
*/5 * * * * root /bin/sh /home/shell/databackup.sh
5.重启crond服务,使新加入的定时任务生效
service crond restart