全网备份

思路:

一.配置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

 

posted @ 2021-05-14 10:58  张福帅  阅读(102)  评论(0)    收藏  举报