全网备份

思路:

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