rsync配置
环境:centos7.4
web:172.20.10.7 backup:172.20.10.8
- 第一种:系统用户
1、目标服务器安装rsync服务
[root@backup ~]# yum -y install xinetd rsync
2、启用服务
[root@backup ~]# systemctl start xinetd && systemctl enable xinetd
[root@backup ~]# rsync --daemon
[root@backup ~]# echo "rsync --daemon" >> /etc/rc.local
3、查看服务
[root@backup ~]# netstat -antup | grep :873 tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 1540/rsync
4、创建用户
[root@backup ~]# useradd backup;echo "backup:123456" |chpasswd
[root@web ~]# useradd backup;echo "123456" |passwd --stdin backup
注:两边创建相同用户
5、设置ACL权限
[root@web ~]# setfacl -R -m user:backup:rwx,group:backup:rwx /var/www/html/
6、测试
[root@web ~]# ls /var/www/html/ anaconda-ks.cfg config-3.10.0-229.el7.x86_64 Desktop Documents Downloads grub grub2
[root@backup ~]# mkdir /backup
[root@backup ~]# chown backup. -R /backup
[root@web ~]# rsync -avz /var/www/html/ backup@172.20.10.8:/backup backup@172.20.10.8's password: #输入backup用户密码 注: /html --表示将html目录本身及目录下的内容进行传输 /html/ --表示只传输html目录下面的内容信息
[root@backup ~]# ls /backup anaconda-ks.cfg config-3.10.0-229.el7.x86_64 Desktop Documents Downloads grub grub2
- 第二种非系统用户(推荐)
1、目标服务器安装rsync服务
[root@backup ~]# yum -y install xinetd rsync
2、修改配置
[root@backup ~]# vim /etc/rsyncd.conf
uid = root #默认值是" nobody" gid = root #默认值是" nobody" address = 172.20.10.8 #监听IP port = 873 #监听端口 host allow = 172.20.10.0/24 #允许同步IP地址,可以是网段,也可是固定IP ,*所有 use chroot = yes #锁定家目录 max connections = 6 #最大连接数 pid file = /var/run/rsyncd.pid #进程PID lock file =/var/run/rsync.lock #max connectios参数的锁文件 log file =/var/log/rsyncd.log #日志文件位置 [backup] #共享模块名称 path = /backup #共享路径 read only = false #读写权限 list = yes #是否允许查看模块信息 auth users = backupuser #备份的用户,和系统用户无关 secrets file = /etc/rsync.passwd #密码文件,格式是 用户名:密码
注:重要!配置文件中不能有中文备注,使用时请删除备注信息,否则会报错,亲测!!!
3、创建密钥文件
[root@backup ~]# echo "backupuser:123456" >/etc/rsync.passwd
[root@backup ~]# chmod 600 /etc/rsync.passwd #必须修改成700或600,否则验证时会报错
[root@web ~]# echo "123456" >/etc/rsync.passwd
[root@web ~]# chmod 600 /etc/rsync.passwd
4、启动服务
[root@backup ~]# systemctl start xinetd && systemctl enable xinetd
[root@backup ~]# rsync --daemon --config=/etc/rsyncd.conf
[root@backup ~]# echo "rsync --daemon --config=/etc/rsyncd.conf " >> /etc/rc.local
5、测试
[root@backup ~]# mkdir /backup
[root@web ~]# rsync -avz /var/www/html/ backupuser@172.20.10.8::backup --password-file=/etc/rsync.passwd
注:::backup 此处为两个双引号,后面backup为共享模块名
-
rsync高级用法
1、排除单个文件或目录
用法:--exclude=目录或文件名称
[root@web ~]# rsync -avz /var/www/html/ --exclude=a/3.txt backupuser@172.20.10.8::backup
2、排除多个目录或文件
用法:--exclude-from=排除多个目录或文件汇总文件名称
[root@web ~]# vim /tmp/paichu.tx a/3.txt b c
[root@web ~]# rsync -avz /var/www/html/ --exclude-from=/tmp/paichu.txt backupuser@172.20.10.8::backup
#以上例子中就会排/var/www/html/下b、c目录和a目录中3.txt文件
注:排除文件中使用相对路径指定排除信息(不能使用绝对路径如: rsync -avz /var/www/html/后面的html目录进行相对)
3、配置文件中修改要排除的文件
vim /etc/rsyncd.conf [backup] path = /backup exclude=a/3.txt b c
- 备份脚本
[root@web ~]# vim /root/backup.sh
rsync -az /var/www/html/ backupuser@172.20.10.8::backup --password-file=/etc/rsync.passwd &>/dev/null
[root@web ~]# chmod 755 /root/backup.sh
- 任务计划
[root@web ~]# crontab -e 1 3 * * * /root/backup.sh
温馨提示:如无特殊说明,本站文章均为作者原创,转载时请注明出处及相应链接!