rsync实践部署服务端客户端流程

客户端

1、下载rsync服务
 yum install rsync  -y
2、打包/etc和/var/log小的数据并备份
[root@nfs-31 ~]#cd /
[root@nfs-31 /]#tar -zcf /backup/etc.tgz etc
[root@nfs-31 /]#tar -zcf /backup/vlog.tgz var/log
3、创建以主机名_ip地址_当前日期命名的目录
[root@nfs-31 ~]#hostname
nfs-31
[root@nfs-31 ~]#ifconfig eth1 |awk 'NR==2{print $2}'
172.16.1.31
[root@nfs-31 ~]#date +%F
2022-04-21

[root@nfs-31 ~]#mkdir -p /backup/$(hostname)_$(ifconfig eth1 |awk 'NR==2{print $2}')_$(date +%F)


4、文件校验
[root@nfs-31 ~]md5sum /backup/$(hostname)_$(ifconfig eth1|awk 'NR==2{print $2}')_$(date +%F)/*.tgz > /backup/backup/$(hostname)_$(ifconfig eth1|awk 'NR==2{print $2}')_$(date +%F)/md5.txt


5、通过rsync上传到backup服务器
用户认证两种方式
1)生成密码文件
[root@nfs-31 ~]#echo '111111'  > /etc/rsync.mima
[root@nfs-31 ~]#rsync -avzP  --password-file=/etc/rsync.mima   /backup/   rsync_user@rsync-41::backup
2)变量
[root@nfs-31 ~]#export RSYNC_PASSWORD=111111
[root@nfs-31 ~]#rsync -avzP   /backup/   rsync_user@rsync-41::backup


6、保留七天的数据
[root@nfs-31 ~]#find /backup/ -mtime +7 -delete

客户端脚本

[root@nfs-31 ~]#cat /my_rsync.sh 
#!/bin/bash

#1、定义PATH变量
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

#2、下载rsync服务
yum install rsync  -y

#3、定义生成的时间文件变量,创建文件
name_file=$(hostname)_$(ifconfig eth1 |awk 'NR==2{print $2}')_$(date +%F)

mkdir -p /backup/$name_file

#4、位置移到根
 cd /

#5、打包/etc和/var/log小的数据并备份
tar -zcf /backup/$name_file/etc.tgz   etc
tar -zcf /backup/$name_file/vlog.tgz  var/log


#6、文件校验
md5sum /backup/$name_file/*.tgz > /backup/$name_file/md5.txt

#7、通过rsync上传到backup服务器
#1)生成变量
export RSYNC_PASSWORD=111111
#2)传输文件
rsync -avzP   /backup/   rsync_user@rsync-41::backup

#8、保留七天的数据
find /backup/ -mtime +7 -delete
#

服务端

1、下载rsync服务
yum install rsync  -y
2、部署rsync服务
1)修改配置文件
cat > /etc/rsyncd.conf << 'EOF'
uid = www 
gid = www 
port = 873
fake super = yes
use chroot = no
max connections = 200
timeout = 600
ignore errors
read only = false
list = false
auth users = rsync_user
secrets file = /etc/rsync.passwd
log file = /var/log/rsyncd.log
#####################################
[backup]
comment = yuchaoit.cn about rsync
path = /backup

[data]
path = /data
EOF
2)创建用户,数据目录
创建用户
[root@rsync-41 ~]#useradd -u 1000 -M -s /sbin/nologin www

创建数据目录
[root@rsync-41 ~]#mkdir /data
[root@rsync-41 ~]#mkdir /backup

修改属主属组
[root@rsync-41 ~]#chown -R www:www /data/
[root@rsync-41 ~]#chown -R www:www /backup/

3)创建虚拟用户密码文件与授权
创建虚拟用户密码
[root@rsync-41 ~]#echo 'rsync_user:111111' > /etc/rsync.passwd
给密码文件授权
[root@rsync-41 ~]#chmod 600 /etc/rsync.passwd 
4)运行rsyncd服务
systemctl start rsyncd

3、校验文件完整性
[root@rsync-41 ~]#md5sum -c /backup/nfs-31*/md5.txt

4、校验结果发给我
1)安装mailx
[root@rsync-41 ~]yum install mailx -y
2)配置文件
cat > /etc/mail.rc << 'EOF' 
set from=1398787859@qq.com
set smtp=smtps://smtp.qq.com:465
set smtp-auth-user=1398787859@qq.com
set smtp-auth-password=gxpqqdyoucokgebd
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb/
EOF

3)服务端生成校验结果文件
[root@rsync-41 ~]#md5sum -c /backup/nfs-31*/md5.txt  > /backup/md5-c_rsync.txt
4)发到自己的邮箱
[root@rsync-41 ~]#mail -s "check-rsync-$(date +%F)" 1398787859@qq.com < /backup/md5-c_rsync.txt

5、保存六个月的文件
find /backup -mtime +180 -delete

服务端脚本

[root@rsync-41 ~]#cat /my_rsync.sh 
#!/bin/bash

#1、下载rsync服务
yum install rsync  -y

#2、定义PATH变量
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

#3、部署rsync服务
#1)修改配置文件
cat > /etc/rsyncd.conf << 'EOF'
uid = www 
gid = www 
port = 873
fake super = yes
use chroot = no
max connections = 200
timeout = 600
ignore errors
read only = false
list = false
auth users = rsync_user
secrets file = /etc/rsync.passwd
log file = /var/log/rsyncd.log
#####################################
[backup]
comment = yuchaoit.cn about rsync
path = /backup

[data]
path = /data
EOF
#2)创建用户,数据目录
#创建用户
useradd -u 1000 -M -s /sbin/nologin www

#创建数据目录
mkdir /data
mkdir /backup

#修改属主属组
chown -R www:www /data/
chown -R www:www /backup/

#3)创建虚拟用户密码文件与授权
#创建虚拟用户密码
echo 'rsync_user:111111' > /etc/rsync.passwd
#给密码文件授权
chmod 600 /etc/rsync.passwd 
#4)运行rsyncd服务
systemctl start rsyncd

#4、校验结果发给我
#1)安装mailx
yum install mailx -y

#2)修改配置文件
cat > /etc/mail.rc << 'EOF' 
set from=1398787859@qq.com
set smtp=smtps://smtp.qq.com:465
set smtp-auth-user=1398787859@qq.com
set smtp-auth-password=gxpqqdyoucokgebd
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb/
EOF

#3)校验结果生成文件
md5sum -c /backup/nfs-31*_$(date +%F)/md5.txt  > /backup/md5-c_rsync.txt

#4)发送到邮箱
mail -s "check-rsync-$(date +%F)" 1398787859@qq.com < /backup/md5-c_rsync.txt

#5、保存六个月的文件
find /backup -mtime +180 -delete

定时

客户端
[root@nfs-31 ~]#crontab -l
* * * * * /usr/sbin/ntpdate time1.aliyun.com > /dev/null 2>&1 &

0 1 * * * /bin/bash /my_rsync.sh  > /tmp/backup.log 2>&1



服务端
[root@rsync-41 ~]#crontab -l
* * * * * /usr/sbin/ntpdate time1.aliyun.com > /dev/null 2>&1

0 1 * * * /bin/bash  /my_rsync.sh  /tmp/backup.log  2>&1 
You have new mail in /var/spool/mail/root
 

posted @ 2022-07-06 20:18  张开嘴  阅读(259)  评论(0编辑  收藏  举报