mysql自动备份

引言:由于公司有少部分项目使用的是阿里云的服务器,而阿里云的服务器本身并不自带数据库自动备份功能,系统快照并不能做到即时,因此着手写了这个脚本。


此脚本主要用于linux环境下的mysql自动备份,备份格式为.gz。


1.创建存储备份文件的文件夹

在不手动删除的情况下,该备份将长期存储,所以建议先查一下当前系统的分区环境,尽量将该文件夹建立在空间较大的分区。

mkdir /home/mysql-backup

2.创建shell脚本,为防止误删,可将该文件放置在不经常访问的目录下

vi /home/shell/databackup.sh

3.databackup.sh内容

建议先直接输入mysqldump命令,回车,试试mysql命令可用性,如不可用需使用该命令绝对路径或安装mysql

dbUser=root
dbPwd=root
dbHost=127.0.0.1
dbPort=3306
filename=`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

你可能感兴趣的:(数据库,linux,服务器)