定期备份CACTI数据到共享服务里
定期备份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数据到共享服务里以上就是全部的内容