Linux期中架构 全网备份案例

时间:2023-03-08 15:49:11

server端脚本

 #!/bin/bash
#1 进行数据完整性验证 并生成结果
find /backup -type f -name "finger.txt"| xargs md5sum -c &>/tmp/check_info.txt #02 实现发送邮件功能
mail -s "check_info" 312051952@qq.com </tmp/check_info.txt #03 保存180天的数据
find /backup -type f -name "*.tar.gz" -mtime +180 -not -name "*_week1.tar.gz" | xargs rm -f

client端

 #/bin/bash
backup_dir="/backup"
date_info=$(date +%F_week%w -d -1day)
ip_info=$(hostname -i)
#
mkdir $backup_dir/$ip_info/ /var/html/www /app/logs -p #
cd / tar zchf $backup_dir/$ip_info/bak_$date_info.tar.gz ./var/spool/cron/root ./etc/rc.local ./server/scripts ./etc/sysconfig/iptables
tar zchf $backup_dir/$ip_info/www-bak_$date_info.tar.gz ./var/html/www
tar zchf $backup_dir/$ip_info/log-bak_$date_info.tar.gz ./app/logs #生成指纹信息
find $backup_dir/$ip_info/ -type f -name "*_$date_info.tar.gz"|xargs md5sum >>$backup_dir/$ip_info/finger.txt
#3.3
rsync -az $backup_dir/ rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password
#
find $backup_dir/ -type f -name "*.tar.gz" -mtime +7| xargs rm -f