实现功能:
将客户端服务器A的每天的数据(/www,/log)本地打包,并且配置定时脚本每天同步到服务端服务器上,在服务器上对备份的数据进行校验,将结果发送到管理员邮箱。
客户端:
#!/bin/bash remote_host=172.16.1.111 remote_path=/backup local_backup_path=/backup local_file_path=/data [-d $local_backup_path ]|| mkdir -p $local_backup_path #打包 cd ${local_file_path}&& tar zcf $local_backup_path/www-$(date +%F).tar.gz /data/www && tar zcf $local_backup_path/log-$(date +%F).tar.gz /data/log && find /backup -type f -name "*.tar.gz"| xargs md5sum > $local_backup_path/flag_$(date +%F) #同步 rsync -avz $local_backup_path/* $remote_host:$remote_path --passwod(省略) #删除本地七天前 find $local_backup_path -type f -name "*.tar.gz"-mtime +7| xargs rm -f
加入定时任务
crontab -e 04*** /bin/bash /root/shell/www_backup.sh &>/dev/null
服务端:
#!/bin/bash local_backup_path=/backup md5_file=flag_$(date +%F) cd $local_backup_path if[ $?-eq 0];then if[-e $md5_file ];then md5sum -c ${md5_file}>> mail.txt if[ $?-eq 0];then mail -s "Success ! The backup task is ok !"[email protected] < mail.txt else mail -s "Failed ! The backup task is failed !"[email protected] < mail.txt fi else ls > mail.txt mail -s "Failed ! The md5_file is not exists!"[email protected] < mail.txt fi
加入定时任务
crontab -e 05*** /bin/bash /root/shell/flag_check.sh &>/dev/null
时间: 2024-10-18 22:19:41