全网备份项目

思路:

一.配置rsync守护进程模式
1.服务端配置(backup)
1.1安装rsync
[root@backup ~]# yum install rsync -y
1.2修改配置文件
vim /etc/rsyncd.conf ###rsyncd.conf start## fake super = yes uid = rsync gid = rsync use chroot = no max connections = 2000 pid file = /var/run/rsyncd.pid lock file = /var/run/rsyncd.lock log file = /var/log/rsyncd.log ignore errors read only = false list = false hosts allow = 10.0.0.0/24 #hosts deny = 0.0.0.0/32 auth users = rsync_backup secrets file = /etc/rsync.password timeout = 600 ############################################# [backup] path = /backup
1.2.创建虚拟用户
[root@backup ~]#useradd rsync -M -s/sbin/nologin
1.3创建密码文件并修改密码文件权限
[root@backup ~]# vim /etc/rsync.password [root@backup ~]# cat /etc/rsync.password rsync_backup:123456 [root@backup ~]# chmod 600 /etc/rsync.password
1.4创建备份目录并修改目录权限
[root@backup ~]# mkdir /backup [root@backup ~]# chown rsync.rsync /backup
1.5重启rsync服务
[root@backup ~]# systemctl restart rsyncd
1.6本地测试
[root@backup ~]# rsync /etc/hostname rsync_backup@10.0.0.41::backup Password: [root@backup ~]# ls /backup/ hostname
2.客户端配置(web01)
2.1创建密码文件,修改权限
[root@webo1 ~]# echo '123456' > /etc/rsync.password [root@webo1 ~]# chmod 600 /etc/rsync.password
2.2远程备份测试
[root@webo1 ~]# rsync shuai.txt rsync_backup@10.0.0.41::backup --password-file=/etc/rsync.password [root@backup ~]# ll /backup/ -rw-r--r-- 1 rsync rsync 0 Dec 17 16:25 shuai.txt
2.3编写备份脚本
vim /server/scripts/bck.sh #!/bin/bash #创建目录 ip=`hostname -I | awk '{print $NF}'` mkdir -p /backup/$ip #打包备份目录到/backup目录,-h软连接不会丢 cd / && \ tar zhcf /backup/$ip/conf-`date +%F-%w`.tar.gz /etc/ /var/spool/cron/ /var/www/html/ -P #MD5加密 find /backup/$ip/ -type f -name "*.tar.gz" | xargs md5sum > /backup/$ip/check.md5 #推送到备份服务器 rsync -az /backup/ rsync_backup@10.0.0.41::backup --password-file=/etc/rsync.password #删除7天之前的备份 find /backup/ -name '*.tar.gz' -mtime +7 -type f |xargs rm -f
2.4设置定时任务
cronteb -e 00 00 * * * /bin/bash /server/scripes/bck.sh >/dev/null 2>&1
3.服务器端脚本设置(backup)
3.1保留每周六的都要数据,其他备份保留180天
[root@backup ~]# find /backup/ -type f -name "*.tar.gz" ! -name "*-6.tar.gz" -mtime +180 | xargs rm -f
3.2检查数据发邮件到管理员
#启动邮箱服务 [root@backup ~]# systemctl start postfix #发送邮箱 [root@backup ~]# mail -s "backup is ok " 1240347414@qq.com < /etc/hostname
3.3服务端脚本编写
vim /server/scripts/check.sh #!/bin/bash #检查数据发邮件到管理员 md5sum -c /backup/10.0.0.31/check.md5 >/backup/checkmd5.log mail -s "backup is ok " 1240347414@qq.com </backup/checkmd5.log #保留每周六的都要数据,其他备份保留180天 find /backup/ -type f -name "*.tar.gz" ! -name "*-6.tar.gz" -mtime +180 | xargs rm -f
Linux运维

浙公网安备 33010602011771号