客户端
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