linux rsync 启动

2020-03-03 18:54:01 gjwgjw1111 阅读数 199

linux查看 rsync 服务状态,如何启动rsync服务

[root@localhost ~]# lsof -i tcp:873

开启状态:
在这里插入图片描述未开启状态:
在这里插入图片描述启动rsync服务命令:

[root@localhost ~]# rsync --daemon --config=/etc/rsyncd.conf

启动时报错:failed to create pid file /var/run/rsyncd.pid: File exists
在这里插入图片描述错误信息,及解决办法,请查看文章:两台linux服务器互相自动备份,及报错解决办法

2018-06-22 15:58:04 sinat_41075146 阅读数 9065

Rsync  简介;

Rsync  是一款开源的、快速的 多功能的 可以实现全量以及增量的本地或者是远程的数据同步备份的优秀工具

并且可以不进行改变原有的数据属性信息,实现数据的备份和迁移的特性 ,Rsync 软件适用于 Linux/unix/windows  等多种操作系统上 。

Rsync备份服务知识点;

1,Rsync可以实现的备份方式 ;

  • 本地备份
  • 远程备份
  • 无差异备份
2,Rsync实现方式介绍 ;
  •  全量备份数据
  •  增量备份数据 
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 全量  - 增量的区别                                                +
+          完整数据传送表示为 全量  ,  传送新增加的数据表示增量,    +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

   实现rsync增量同步数据,是运用了其独特的“quick check”算法
    CentOS5,rsync2.x比对方法,把所有的文件比对一遍,然后进行同步。
    CentOS6,rysnc3.x比对方法,一边比对差异,一边对差异的部分进行同步。

3,Rsync 特性总结说明 ;

  •  01:支持多种类型文件拷贝
  •  02:支持文件复制排除功能
  •  03:支持文件复制属性不变
  •  04:支持文件复制增量同步
  •  05:支持文件复制隧道加密
  •  06:支持守护进程同步数据
  •  07:支持数据同步身份验证

1. 可以镜像保存整个目录树和文件系统;
2. 可以很容易做到保持原来文件的权限、时间、软硬链接等;
3. 无须特殊权限即可安装;
4. 优化的流程,文件传输效率高;
5. 可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接;
6. 支持匿名传输,以方便进行网站镜像。

 

4,Rsync复制原理说明  ;

      网站内部人员数据备份场景 

1,定时任务+rsync

    网站外部用户数据备份场景

       2,实时同步工具+rsync

5,Rsync工作方式,介绍  ;

       5.1  本地方式  、 隧道方式  、守护进程 ;
5.2 单个主机本地之间的数据传输(此时类似于cp命令的功能)。
5.3 借助rcp,ssh等通道来传输数据(此时类似于scp命令的功能)。
5.4 以守护进程(socket)的方式传输数据(这个是rsync自身的重要的功能)。

=======================开始部署===================================

[root@rsync ~]# rpm -qa | grep rsync                  #查看软件是否安装
rsync-3.0.6-12.el6.x86_64

[root@rsync ~]# 

[root@rsync ~]# rsync --version                           #查看版本信息 
rsync  version 3.0.6  protocol version 30
Copyright (C) 1996-2009 by Andrew Tridgell, Wayne Davison, and others.
Web site: http://rsync.samba.org/
Capabilities:
    64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints,
    socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
    append, ACLs, xattrs, iconv, symtimes


rsync comes with ABSOLUTELY NO WARRANTY.  This is free software, and you
are welcome to redistribute it under certain conditions.  See the GNU
General Public Licence for details.

 配置rsync软件的配置文件

    cat >>/etc/rsyncd.conf<<EOF 
    #rsync_config
    #created by HQ at 2017
    ##rsyncd.conf start##                           
    uid = rsync             

    gid = rsync              

    use chroot = no     

    max connections = 200   
    timeout = 300           
    pid file = /var/run/rsyncd.pid            
    lock file = /var/run/rsync.lock
    log file = /var/log/rsyncd.log
    ignore errors
    read only = false
    list = false
    hosts allow = 172.16.1.0/24
    hosts deny = 0.0.0.0/32
    auth users = rsync_backup
    secrets file = /etc/rsync.password
    [backup]
    comment = "backup dir by oldboy"
    path = /backup
EOF


########################### 配置文件注释 #####################################
#rsync_config
#created by oldboy 15:00 2016-11-15
##rsyncd.conf start##
uid = rsync                          # 用户 远端的命令使用rsync访问共享目录
gid = rsync                          # 用户组                        
use chroot = no                      # 安全相关
max connections = 200                # 最大连接数
timeout = 300                        # 超时时间
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 = 172.16.1.0/24          # 允许连接的服务器
hosts deny = 0.0.0.0/32             # 后勤组连接的服务器
auth users = rsync_backup            # 虚拟用户
secrets file = /etc/rsync.password  # 虚拟用户对应的用户和密码文件


[backup]                            # 模块名称
path = /backup                      # 服务端提供访问的目录
########################### 配置文件注释 #####################################

第一步  ; 创建备份存储的目录,和创建管理用户用户组 

[root@rsync ~]# mkdir -p backup                 #创建目录
[root@rsync ~]# ls
backup  install.log  install.log.syslog  optimize-init_sys.sh  sysctl.conf
[root@rsync ~]# useradd rsync -s /sbin/nologin -M        #创建rsync备份目录的管理用户与用户组
[root@rsync ~]# chown -R rsync.rsync backup/                #授权
[root@rsync ~]# ll    
总用量 64
-rw-------. 1 root  root   1510 11月 18 2017 anaconda-ks.cfg
drwxr-xr-x. 2 rsync rsync  4096 6月  21 23:05 backup
-rw-r--r--. 1 root  root  30419 11月 18 2017 install.log
-rw-r--r--. 1 root  root   9371 11月 18 2017 install.log.syslog
-rwxr-xr-x. 1 root  root   4065 8月   5 2017 optimize-init_sys.sh
-rwxr-xr-x. 1 root  root   2184 8月   5 2017 sysctl.conf
[root@rsync ~]# 


第二步;创建服务端和客户端的身份认证文件

[root@rsync ~]# echo "rsync_backup:oldboy123" >/etc/rsync.password
[root@rsync ~]# chmod 600 /etc/rsync.password   #配置文件权限只允许 root 用户查看 
[root@rsync ~]# cat /etc/rsync.password
rsync_backup:oldboy123
[root@rsync ~]# 


第三步 ;启动 rsync 服务 

[root@rsync ~]# rsync --daemon                  #启动服务
[root@rsync ~]# netstat -lntup |grep rsync         #rsync   端口是 873 端口 
tcp        0      0 0.0.0.0:873                 0.0.0.0:*                   LISTEN      2425/rsync          
tcp        0      0 :::873                      :::*                        LISTEN      2425/rsync          
[root@rsync ~]# 


CentOS 默认以 xinetd 方式运行 rsync 服务。rsync 的 xinetd 配置文件 在 /etc/xinetd.d/rsync。
要配置以 xinetd 运行的 rsync 服务需要执行如下的命令,也可以rsync --daemon 这样独立运行 。
# chkconfig rsync on
# service xinetd restart

======================= 客户端配置  ===============================

[root@localhost ~]# rpm -qa | grep rsync           #查看软件是否安装,如已安装则无需在进行安装 
rsync-3.0.9-18.el7.x86_64
[root@localhost ~]# echo "oldboy123" >/etc/rsync.password        #创建认证
[root@localhost ~]# cat /etc/rsync.password
oldboy123
[root@localhost ~]# 

[root@localhost ~]# rsync --daemon          #启动服务 
[root@localhost ~]# netstat -lntup |grep rsync       #查看是否监听端口 
tcp        0      0 0.0.0.0:873             0.0.0.0:*               LISTEN      1397/rsync          
tcp6       0      0 :::873                  :::*                    LISTEN      1397/rsync          
[root@localhost ~]# 

[root@rsync ~]# rsync -av /etc/hosts 172.16.1.8:/mnt/
root@172.16.1.8's password: 
sending incremental file list
hosts

[root@localhost ~]# cd /mnt/
[root@localhost mnt]# ls
hosts
[root@localhost mnt]# 


rsync 中的推和拉的概念 ;




#######################  rsync备份服务部署扩展功能  ############################
①. rsync服务端多模块功能配置
   
配置文件多模块信息
[root@rsync backup]# cat /etc/rsyncd.conf 
    #rsync_config
    #created by HQ at 2017
    ##rsyncd.conf start##
    
    uid = rsync
    gid = rsync
    use chroot = no
    max connections = 200
    timeout = 300
    pid file = /var/run/rsyncd.pid
    lock file = /var/run/rsync.lock
    log file = /var/log/rsyncd.log
    ignore errors
    read only = false
    list = false
    hosts allow = 172.16.1.0/24
    hosts deny = 0.0.0.0/32
    auth users = rsync_backup
    secrets file = /etc/rsync.password
    [backup]
    comment = "backup dir by oldboy"
    path = /backup
    [nfsbackup]                     #新增加的一个模块 
    comment = "nfsbackup dir by oldboy"
    path = /nfsbackup
    说明:01:修改配置文件信息,实现多模块功能后,需要重启rsync服务
      02:多模块信息配置好后,需要创建多模块指定备份目录
    
# 创建多模块目录
mkdir /nfsbackup
        mkdir /nfsbackup -p
        chown -R rsync.rsync /nfsbackup/
        ll -d /nfsbackup/

# 进行多模块目录测试

rsync -avz /etc/rc.local rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password 

rsync -avz /etc/rc.local rsync_backup@172.16.1.41::nfsbackup --password-file=/etc/rsync.password 

# 利用rsync客户端在备份目录中创建多级目录
①. 多级目录的表现格式为 backup/sa/   如果sa后面没有接/ 表示的是文件不是目录
②. rsync客户端创建目录,只能创建一级,不能创建多级目录

 # 利用rsync客户端同步数据(非常重要)
rsync -avz /tmp/ rsync_backup@172.16.1.41::backup/ --password-file=/etc/rsync.password 
说明:/tmp/ 表示同步tmp目录下内容,但不包含目录本身
rsync -avz /tmp rsync_backup@172.16.1.41::backup/ --password-file=/etc/rsync.password 
说明:/tmp 表示同步tmp目录下内容及目录本身


===============================================================

#rsync异常问题总结:


问题一:
[root@nfs tmp]# rsync -avz /etc/hosts rsync@172.16.1.41::backup
Password: 
@ERROR: auth failed on module backup
rsync error: error starting client-server protocol (code 5) at main.c(1503) [sender=3.0.6]
问题原因:
①. 认证的用户名或者密码输入的不正确
②. 认证文件编写有问题(认证内容信息)
③. 认证文件的权限设置的不正确(权限为600,文件用户和用户组还是root不变)
④. rsync服务端配置文件中指定的认证文件路径与实际认证文件路径不符


问题二:
[root@nfs01~]#rsync -avz /etc/hosts rsync_backu@172.16.1.41::backup --password-file=/etc/rsync.password
rsync: failed to connect to 172.16.1.41: Connection refused (111)
rsync error: error in socket IO (code 10) at clientserver.c(124) [sender=3.0.6]
问题原因:
①. rsync服务没有启动


问题三:
rsync -avz /etc/sysconfig/network rsync_backup@172.16.1.41::nfsbackup --password-file=/etc/rsync.password 
@ERROR: chdir failed
rsync error: error starting client-server protocol (code 5) at main.c(1503) [sender=3.0.6]
解决原因:
①. rsync服务端没有模块指定的目录,需要进行创建和授权


问题四:
[root@web01 ~]# rsync -avz /etc/rc.local rsync_backup@172.16.1.41::backup/sa/ --password-file=/etc/rsync.password 
sending incremental file list
rsync: mkdir "sa" (in backup) failed: File exists (17)
rsync error: error in file IO (code 11) at main.c(576) [receiver=3.0.6]
rsync: connection unexpectedly closed (5 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(600) [sender=3.0.6]

①. 传输的文件或目录与备份服务目录中文件名称相同,拒绝传输



==========================End===================================


2018-08-24 08:39:10 mengzuchao 阅读数 2075

1、下载
 wget https://download.samba.org/pub/rsync/src/rsync-3.1.2.tar.gz
 tar -zxvf rsync-3.1.2.tar.gz


2、安装
cd rsync-3.1.2
./configure --prefix=/usr/local/rsync
make
make install


3、配置rsyncd.conf
vim /usr/local/rsync/rsyncd.conf 


rsyncd.conf 的内容如下:


### 全局参数 ###
port=8730 # 【注意:默认端口是873,这里改用8730了】
motd file=/usr/local/rsync/rsyncd.motd
log file=/usr/local/rsync/rsyncd.log
pid file=/var/run/rsyncd.pid


### 模块参数 ###
[testmodule]
path=/home/test
use chroot=true
uid=0
gid=0
read only=false
exclude=/readme.txt /runtime

#auth users后的用户名随便给,可以是系统中不存在的用户名
auth users=txinz
secrets file = /usr/local/rsync/rsyncd.secrets


4、配置rsyncd.secrets

vim /usr/local/rsync/rsyncd.secrets

rsyncd.secrets的内容的语法为 用户名:登录密码

举例
txinz:qwert54321

# rsyncd.secrets文件权限必须设置为600
chmod 600 /usr/local/rsync/rsyncd.secrets


5、配置rsyncd.motd
vim /usr/local/rsync/rsyncd.motd


rsyncd.motd的内容举例:
welcome use rsync service !


6、启动rsync服务
/usr/local/rsync/bin/rsync --daemon --config=/usr/local/rsync/rsyncd.conf


7、配置rsync开机启动:

vi /etc/rc.local

在末尾加上  /usr/local/rsync/bin/rsync --daemon --config=/usr/local/rsync/rsyncd.conf


现在我们来测试,

假设朋友的服务器IP是39.108.230.60,并且启动了rsync服务。

推送目录/root/test/下的数据给朋友:

/usr/local/rsync/bin/rsync --port=8730 -av /root/test/  txinz@39.108.230.60::mymodule --password-file=/home/txinz.pass

拉取朋友的数据到本机/root/test/目录:

/usr/local/rsync/bin/rsync --port=8730 -av txinz@39.108.230.60::mymodule  /root/test/  --password-file=/home/txinz.pass

注意:--password-file是可选的,表示导入存储在本机的朋友服务器rsync的用户密码,本例中的密钥文件内容为qwert54321

 

转载:https://blog.csdn.net/tangxinzhuan/article/details/78790153

更多:http://man.linuxde.net/rsync

           https://www.cnblogs.com/wenxinphp/p/5800446.html

2016-04-06 10:04:01 u012558554 阅读数 5265

rsync是类unix系统下非常高效,实用的数据镜像备份工具。在rsyncd.log里面或.err文件里面,我们都是通过错误日志查看,可以分析出错误的原因。

问题一:
@ERROR: chroot failed
rsync error: error starting client-server protocol (code 5) at main.c(1522) [receiver=3.0.3]

原因:
服务器端的目录不存在或无权限,创建目录并修正权限可解决问题。

问题二:
@ERROR: auth failed on module tee
rsync error: error starting client-server protocol (code 5) at main.c(1522) [receiver=3.0.3]

原因:
服务器端该模块(tee)需要验证用户名密码,但客户端没有提供正确的用户名密码,认证失败。
提供正确的用户名密码解决此问题。

问题三:
@ERROR: Unknown module ‘tee_nonexists'
rsync error: error starting client-server protocol (code 5) at main.c(1522) [receiver=3.0.3]

原因:
服务器不存在指定模块。提供正确的模块名或在服务器端修改成你要的模块以解决问题。
问题1:
在client上遇到问题:
rsync -auzv --progress --password-file=/etc/rsync.pas root@192.168.1.128::backup /home/
rsync: could not open password file "/etc/rsync.pas": No such file or directory (2)
Password:
@ERROR: auth failed on module backup
rsync error: error starting client-server protocol (code 5) at main.c(1506) [Receiver=3.0.7]
遇到这个问题:client端没有设置/etc/rsync.pas这个文件,而在使用rsync命令的时候,加了这个参数--
password-file=/etc/rsync.pas

问题2:
rsync -auzv --progress --password-file=/etc/rsync.pas root@192.168.1.128::backup /home/
@ERROR: auth failed on module backup
rsync error: error starting client-server protocol (code 5) at main.c(1506) [Receiver=3.0.7]
遇到这个问题:client端已经设置/etc/rsync.pas这个文件,里面也设置了密码111111,和服务器一致,但是
服务器段设置有错误,服务器端应该设置/etc/rsync.pas ,里面内容root:111111 ,这里登陆名不可缺少

问题3:
rsync -auzv --progress --password-file=/etc/rsync.pas root@192.168.1.128::backup /home/
@ERROR: chdir failed
rsync error: error starting client-server protocol (code 5) at main.c(1506) [Receiver=3.0.7]
遇到这个问题,是因为服务器端的/home/backup 其中backup这个目录并没有设置,所以提示:chdir failed

问题4:
rsync: write failed on "/home/backup2010/wensong": No space left on device (28)
rsync error: error in file IO (code 11) at receiver.c(302) [receiver=3.0.7]
rsync: connection unexpectedly closed (2721 bytes received so far) [generator]
rsync error: error in rsync protocol data stream (code 12) at io.c(601) [generator=3.0.7]
磁盘空间不够,所以无法操作。
可以通过df /home/backup2010 来查看可用空间和已用空间

问题5:网络收集问题
1、权限问题
类似如下的提示:rsync: opendir "/kexue" (in dtsChannel) failed: Permission denied (13)注意查看同步的目录权限是否为755
2、time out
rsync: failed to connect to 203.100.192.66: Connection timed out (110)
rsync error: error in socket IO (code 10) at clientserver.c(124) [receiver=3.0.5]
检查服务器的端口netstat –tunlp,远程telnet测试。
可能因为客户端或者服务端的防火墙开启 导致无法通信,可以设置规则放行 rsync(873端口) 或者直接关闭防火墙。还有一种在同步过程中可能会提示没有权限 (将同步目录加上SvcwRsync全部权限即可,更简单的方法就是将SvcwRsync设为管理员即可)
3、服务未启动
rsync: failed to connect to 10.10.10.170: Connection refused (111)
rsync error: error in socket IO (code 10) at clientserver.c(124) [receiver=3.0.5]
启动服务:rsync --daemon --config=/etc/rsyncd.conf
4、磁盘空间满
rsync: recv_generator: mkdir "/teacherclubBackup/rsync……" failed: No space left on device (28)
*** Skipping any contents from this failed directory ***
5、Ctrl+C或者大量文件
rsync error: received SIGINT, SIGTERM, or SIGHUP (code 20) at rsync.c(544) [receiver=3.0.5]
rsync error: received SIGINT, SIGTERM, or SIGHUP (code 20) at rsync.c(544) [generator=3.0.5]
6、xnetid启动
rsync: read error: Connection reset by peer (104)
rsync error: error in rsync protocol data stream (code 12) at io.c(759) [receiver=3.0.5]
查看rsync日志
rsync: unable to open configuration file "/etc/rsyncd.conf": No such file or directory
xnetid查找的配置文件位置默认是/etc下,根据具体情况创建软链接。例如:
ln -s /etc/rsyncd/rsyncd.conf /etc/rsyncd.conf
或者更改指定默认的配置文件路径,在/etc/xinetd.d/rsync配置文件中。

rsync启动停止脚本

阅读数 1536