定期备份CACTI数据到共享服务里

2016-08-10  本文已影响0人  hel2o

定期备份CACTI数据到共享服务里

思路
1.把共享文件夹挂载到服务器里面来
2.把数据存储在挂载的文件夹里
操作
1.1.把共享文件夹先挂载到本地服务器里来
加载后重启服务器又要手工加载,所以在这里要设置开机自动挂载文件夹,为了开机能够自动运行挂载的命令,所以我们在这里要在/etc/rc.d/rc.local添加开机自动运行的脚本,在里面添加内容/bin/bash /home/sh/mount.sh


定期备份CACTI数据到共享服务里

接下来就是去写这个mount.sh的shell文件内容了

!/bin/bash

mount -t cifs -o username="rh.wang",password="dnb123" //192.168.112.253/network/rh.wang /mnt/MyShare


定期备份CACTI数据到共享服务里

这样一开机就会去挂载我的共享到我的本地服务器上来,我只要把内容放到本地的文件夹就会自动存到共享的服务器里了

1.2接下来就是把数据库的内容放到上面挂载的文件夹里了,所以在这里要实现定时执行的脚本,我们要编辑
/etc/crontab这个文件,这个文件就是定义系统级别的定时执行内容

添加内容01 0 * * * root /bin/bash /home/sh/cactibak.sh 意思就是每天的0点01分就会以ROOT的身份去执行/home/sh/cactibak.sh脚本程序。


定期备份CACTI数据到共享服务里

好系统已经可以自动去执行脚本了,接下来就是要去写这个/home/sh/cactibak.sh程序了
添加如下内容

!/bin/bash

if [ -e "/mnt/MyShare/cactibak/(date -d "-5 day" +%Y-%m-%d)_cacti.sql" ];then
rm -f /mnt/MyShare/cactibak/(date -d "-5 day" +%Y-%m-%d)_cacti.sql 1>/dev/null 2>&1
echo (date +%F' '%T)"------(date -d "-5 day" +%Y-%m-%d)_cacti.sql 已删除." >> /mnt
/MyShare/cactibak/cactibak.log
fi
if [ -e "/mnt/MyShare/cactibak/(date -d "-5 day" +%Y-%m-%d)_mysql.sql" ];then
rm -f /mnt/MyShare/cactibak/(date -d "-5 day" +%Y-%m-%d)_mysql.sql 1>/dev/null 2>&1
echo (date +%F' '%T)"-----(date -d "-5 day" +%Y-%m-%d)_mysql.sql 已删除." >> /mnt/
MyShare/cactibak/cactibak.log
fi
if [ -e "/mnt/MyShare/cactibak/(date -d "-5 day" +%Y-%m-%d)_syslog.sql" ];then
rm -f /mnt/MyShare/cactibak/(date -d "-5 day" +%Y-%m-%d)_syslog.sql 1>/dev/null 2>&1
echo (date +%F' '%T)"-----(date -d "-5 day" +%Y-%m-%d)_syslog.sql 已删除." >> /mnt
/MyShare/cactibak/cactibak.log
fi

以上内容就是检查是不是有前5天的备份文件,如果有就删除,这里只备份目前5天以内的数据内容

mysqldump -u root -pviproot cacti>/mnt/MyShare/cactibak/(date +%F)_cacti.sql
echo (date +%F' '%T)"-----cacti.sql 已备份." >> /mnt/MyShare/cactibak/cactibak.log
mysqldump --event -uroot -pviproot mysql>/mnt/MyShare/cactibak/(date +%F)_mysql.sql
echo (date +%F' '%T)"-----mysql.sql 已备份." >> /mnt/MyShare/cactibak/cactibak.log
mysqldump -uroot -pviproot syslog>/mnt/MyShare/cactibak/(date +%F)_syslog.sql
echo (date +%F' '%T)"-----syslog.sql 已备份." >> /mnt/MyShare/cactibak/cactibak.log
tar cvf /mnt/MyShare/cactibak/(date +%F)_rra.tar /var/www/html/rra
echo (date +%F' '%T)"-----rra 已备份." >> /mnt/MyShare/cactibak/cactibak.log

以上内容就是执行备份程序的过程,当备份完成时也输出日志文件到共享的文件夹里,以便日后查看内容

定期备份CACTI数据到共享服务里

以上就是全部的内容

上一篇下一篇

猜你喜欢

热点阅读