题目:实现每天晚上0点,定时把B服务器上的数据备份到A上,并把备份结果发送给运维管理员


服务器A:192.168.100.61 用户heavenfish

服务器B:192.168.100.62 用户heavenfish


编写脚本:

[heavenfish@B ~]$ vi bak62.sh

#!/bin/sh

ip=$(/sbin/ifconfig eth0|sed -rn 's#^.*addr:(.*)  Bca.*$#\1#gp')

scp -rp -P52113 /data/ 192.168.100.61:~/data_$ip


if [ $? -eq 0 ]

        then

        echo "192.168.100.62 is ok" >> /home/heavenfish/bak62.log

        scp -rp -P52113 /home/heavenfish/bak62.log 192.168.100.61:~

fi


定时任务:

[heavenfish@B ~]$ crontab -e

####注释###

00 00 * * * /bin/sh /home/heavenfish/bak62.sh >/dev/null 2>&1


此题思想很重要:

第一:运维环境一般情况下不会只有几台服务器,可能有成千上万台,服务器,不可能每台服务器都部署邮件服务。且邮件服务并不安全。

第二:我们可以换一下思路,让没台服务器做定时任务备份文件成功后,将日志文件集中到A服务器后,由A服务器统一将信息发送给管理员,这样大大减少安全隐患。同时,也减轻运维人员工作量、每天只接收一封邮件就可以查看所有服务器的备份状况!