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]