sead 发表于 2015-11-9 22:43:08

linux下自动备份mysql数据库原创SHELL脚本分享

百度网盘
http://pan.baidu.com/s/1jGLGvQI

下载并解压文件
#mysqlbakups 目录拷贝到root目录下,此脚本只合适root权限用户使用,懂简单shell命令的加以修改就可以用在其它用户目录下

#赋予执行权限
cd /root/mysqlbakups
chmod +x runbackup.sh

##配置root数据库信息,以及保存路径

vi conf.conf

----
dbuser=root             #这里必须是mysql root帐号
dbpass=mysqlrootpasswd#mysql root 密码
userName=sshuser      #这里最好新建一个用户目录,sshuser可自行定义命名
----

#添加用户
useradd sshuser
#配置密码
passwd sshuser


#添加计划任务定时备份数据库,时间可自行设定

crontab -e
0 0 * * * /root/mysqlbakups/runbackup.sh >> /root/mysqlbakups/log

#sql_list.conf 为备份的数据库名列表,一行一条(手动添加)

要是数据库多你可以连接mysql用命令把它列出来,拷贝出来,把不要的库剔除掉,放到sql_list.conf
mysql -uroot -pmysqlrootpasswd
>> show databases;
test
db_1
db_2
....


#mysqlbackups.sh
#倒数第二行的命令的意思是,7天以上的文件全部删除,为保险起见请确保脚本正常备份文件到指定的目录再把#好去掉,避免你在任意目录下执行了这个代码,存在误删文件的风险(虽然概率很渺茫,安全起见我手动注释了,碰上一样的路径就会这样)
#保留多少天内的数据库文件自由设置
#find $backups/../ -type f -mtime +7 | xargs rm -rf

#配置完后执行一次代码
sh ./runbackup.sh

#去查看是否备份成功,如果没有备份成功,请检查你的数据库配置是否正确
cd /home/sshuser/backups/
ls
./other#每个月10号的压缩包会在这里做一次备份
./dbases #默认是不清理数据包的,X天内的数据包,在上面有提起来过

#备份成功后把清理给开启起来,不然你的数据会占用不少的空间时间就了空间就爆了

现在应该不用再纠结于怎么自动备份数据库了吧{:soso_e113:}

自动备份文件篇幅比较大,抽时间再来,喜欢的记得帮我打分哦:D 因为是新人比较缺

页: [1]
查看完整版本: linux下自动备份mysql数据库原创SHELL脚本分享