rsync配置

作者: admin 分类: Linux 发布时间: 2018-06-28 17:23 浏览:868 次    

环境: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

 

 

 

 


温馨提示:如无特殊说明,本站文章均为作者原创,转载时请注明出处及相应链接!

发表评论