iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >linux下rsync的安装和配置
  • 535
分享到

linux下rsync的安装和配置

2023-06-09 18:06:47 535人浏览 独家记忆
摘要

这篇文章主要讲解了“linux下rsync的安装和配置”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux下rsync的安装和配置”吧!Redhat中安装rsync  首先在服

这篇文章主要讲解了“linux下rsync的安装和配置”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux下rsync的安装和配置”吧!

Redhat中安装rsync

  首先在服务端和客户端都安装rsync,我的RHEL5默认已经安装好了。在安装RedHat5的时候,可以在软件定制中的“基本系统”——》“基本”的“可选的软件包”中看见:rsync-2.6.8是默认选择安装的

linux下rsync的安装和配置

linux下rsync的安装和配置

    也可以通过命令行检查是否安装:

linux下rsync的安装和配置

或者:rpm –q rsync

  如果在开始安装RedHat的时候,使用默认选择的rysnc软件,但现在想用更高版本的rsync,可以卸载掉rysnc,再安装更高版本的软件:

linux下rsync的安装和配置

    卸载完2.6.8版本的rysnc,下面来安装更高版本的rsync(3.0.9):

linux下rsync的安装和配置
linux下rsync的安装和配置

配置rsync服务器

  修改rsync的配置文件

linux下rsync的安装和配置

可以看到rysnc服务是关闭的(disable = yes),这里把它开启,把disable的值改为no

  创建rsync服务器配置文件/etc/rsyncd.conf

[root@hyj etc]# vim /etc/rsyncd.confuid = rootgid = root  port = 873                #    指定运行端口,默认是873,您可以自己指定hosts allow = 192.168.0.204, 192.168.1.205     # 允许访问的客户机#hosts deny = 0.0.0.0/32           #拒绝访问的use chroot = max connections = timeout=## 下面这些绿色文件是安装完RSYNC服务后自动生成的文件,当然也可以手动配置到指定路径pid file = /var/run/rsyncd.pid   ##pid文件的存放lock file = /var/run/rsync.lock   ##文件的存放位置log file = /var/log/rsyncd.log   ##日志记录文件的存放#motd file = /etc/rsyncd.motd   #欢迎## 上面这段是全局配置,下面的模块可以有  [test]          ## 模块名字,自己命名  path = /home/hyj/workspace/test        #指定文件目录所在位置,这是必须指定   comment = rsync files             ## 注释ignore errors                 ##忽略IOread only = yes   list = no                   ## 是否把rsync 服务器上提供同步数据的目录显示  ## 下面这一行,同步验证时用的账号,如果没有这项就是匿名同步,client同步时不用用户名也能同步。  auth users = rsyncsecrets file = /etc/rsync.passwd       ## 指定认证文件

  然后创建认证文件:

[root@hyj etc]# vim /etc/rsync.passwd
 rsync:hyl            ## 用户名:密码。注意这个不是系统用户,只是rsync用户。

所以不用useradd。

(名字随便写,只要和上边配置文件里的“auth users”参数一致即可),格式(一行一个用户)

账号:密码

(2)、把密码文件的权限改成600

[root@hyj etc]# chmod 600 /etc/rsync.passwd          ## 只能所有者可读,否则报错

   如果在配置文件中指定了欢迎信息,在/etc下创建rsyncd.motd,设置欢迎信息:

[root@hyj etc]# vim /etc/rsyncd.motd
      Welcome the rsync services!

启动rsyn

    在启动之前,可以先看一下rsync是否已经启动运行:用lsof或者nestat都可以

linux下rsync的安装和配置

    根据输出显示state为LISTEN,表示为等待接受链接的状态,说明rsync已经启动。

    现在先kill掉rsync进程,kill之前为上图,kill之后,再次执行netstat –anp|grep 873或者lsof –i:873,结果为空:

linux下rsync的安装和配置

防火墙设置:

如果服务器上装有防火墙,需在服务器中设置iptables将837端口开放。

[root@hyj ~]# iptables -A INPUT -p tcp --dport 873 -j ACCEPT

如果rsync进程没有运行,在server端将rsync启动:

(1)、启动rsync服务端(以守护进程形式,独立启动)

#/usr/bin/rsync –daemon

linux下rsync的安装和配置

说明启动成功。

(切记:命令行启动的最后是daemon,而不是deamon,否则回报如下错误:

rsync: --deamon: unknown option

rsync error: syntax or usage error (code 1) at main.c(1231) [client=2.6.8])

(2)、启动rsync服务端 (以xinetd超级进程启动)

# /etc/rc.d/init.d/xinetd reload(reload是网上的说法,但是我试了一下报错,start可以)
             或者:/etc/rc.d/init.d/xinetd reload(reload是网上的说法,但是我试了一下报错,start可以)

          演示:

     linux下rsync的安装和配置linux下rsync的安装和配置

设置自动启动:

本机安装的Redhat中rsync已经是开机自动启动的,网上说的那两种方法,配置文件中都没有找到相应的配置,通过用chkconfig 命令查看和修改开机启动服务.
[root@hyj ~]# chkconfig

linux下rsync的安装和配置

(结果部分省略),可以看出rsync处于on的状态。

配置rsync客户端

用安装服务器端的方式安装rsync。

启动rsync,如果报如下错误,是因为在etc下没有rsyncd.conf配置文件:

linux下rsync的安装和配置

[root@hyj etc]# vi /etc/rsyncd.conf

文件内容为空就行。然后启动rsync,可以启动:

linux下rsync的安装和配置

命令和实例

Rsync的命令格式可以为以下六种:

  rsync [OPTION]... SRC DEST
  rsync [OPTION]... SRC [USER@]HOST:DEST
  rsync [OPTION]... [USER@]HOST:SRC DEST
  rsync [OPTION]... [USER@]HOST::SRC DEST
  rsync [OPTION]... SRC [USER@]HOST::DEST
  rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]

常用为以下两种:

(4)、rsync [OPTION]... [USER@]HOST::SRC   DEST

从远程rsync服务器中拷贝文件到本地机。当SRC路径信息包含"::"分隔符时启动该模式。

如:rsync -av root@172.16.78.192::www /databack

(5)、rsync [OPTION]... SRC   [USER@]HOST::DEST

从本地机器拷贝文件到远程rsync服务器中。当DST路径信息包含"::"分隔符时启动该模式。

如:rsync -av /databack root@172.16.78.192::www

下面为实例:

    服务器ip为192.168.8.126,客户端ip为192.168.8.122

(1)、把服务器上的/home/hyj/workspace/test文件夹中的内容备份到客户端的/usr/local/share/rsync_backup中:
[root@hyj ~]# /usr/bin/rsync -vzrtopg --delete  --progress rsync@192.168.8.126::test /usr/local/share/rsync_backup

/etc/rsyncd.conf中模块的内容:

path = /home/hyj/workspace/testcomment = rsync filesignore errorsread only = yeslist = noauth users = rsyncsecrets file = /etc/rsync.passwd

上面这个命令行中-vzrtopg里的v是verbose,z是压缩,r是recursive,topg都是保持文件原有属性如属主、时间的参数(也可以用直接用a来代替rtopg, a为 --arcHive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptGoD)。--progress是指显示出详细的进度情况,--delete是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致。

(2)、上面的命令需要在备份的时候需要输入密码,可以在客户端建立一个密码文件,在命令中把密码文件作为参数带入:

[root@hyj rsync_backup]# vim /etc/rsync.pass
密码文件中不用输入用户名,只需输入密码即可:

linux下rsync的安装和配置

这份密码文件权限属性要设得只有root可读,不然会报错,修改属性:

[root@hyj rsync_backup]# chmod 600 /etc/rsync.pass,

    用下面这条命令,可以不输入密码:

/usr/bin/rsync -vzrtopg --delete --progress rsync@192.168.8.126::test /usr/local/share/rsync_backup --passWord-file=/etc/rsync.pass

带exclude 参数:

把服务器上的/home/hyj/workspace/test文件夹中的内容备份到客户端的/usr/local/share/rsync_backup中,但不包括:res目录和default.properties文件:

/usr/bin/rsync -vzrtopg --delete --exclude "res/" --exclude "default.properties" --progress rsync@192.168.8.126::test /usr/local/share/rsync_backup --password-file=/etc/rsync.pass

    exclude/include规则实例

Here are some exclude/include examples: --exclude "*.o"  would exclude all filenames matching *.o --exclude "/foo" would exclude a file in the base directory called foo --exclude "foo/" would exclude any directory called foo. --exclude "/foobar" would exclude any file called bar two or more levels below a base directory called foo. --include "*/" --include "*.c" --exclude "*" would include all directories and C source files--include "foo/" --include "foo/bar.c" --exclude "*" would include only foo/bar.c (the foo/ directory must be explicitly included or it would be excluded by the "*")

把客户端上的/home/hyj/vitest文件夹中的内容备份到服务器的/usr/local/share/rsync_backup中,在客户端执行如下命令:

  /usr/bin/rsync -vzrtopg --delete --progress /home/hyj/vitest rsync@192.168.8.126::clientdata --password-file=/etc/rsync.pass

此时服务器的配置文件/etc/rsyncd.conf内容为:

 uid = rootgid = roothosts allow = 192.168.8.122, 192.168.8.123   #hosts deny = 0.0.0.0/32   use chroot = no   max connections = 10   pid file = /var/run/rsyncd.pid   lock file = /var/run/rsync.lock   log file = /var/log/rsyncd.log   timeout=600[test]path = /home/hyj/workspace/test   comment = rsync files   ignore errors   read only = yes   list = no   auth users = rsync   secrets file = /etc/rsync.passwd # 上面的命令中,客户端的数据备份到clientdata模块中,备份到/usr/local/share/rsync_backup文件夹下,read only改为no,# # 否则会报ERROR: module is read only的错误[clientdata]     path = /usr/local/share/rsync_backupcomment = rsync files   ignore errors   read only = no   list = noauth users = rsync   secrets file = /etc/rsync.passwd

 定时计划备份

如果执行crontab命令提示:

linux下rsync的安装和配置

说明还没有为root这个账号提供crontab。执行crontab –e 创建一个crontab:

linux下rsync的安装和配置

编辑crontab,每两分钟备份一次:

linux下rsync的安装和配置

两分钟后,查看,数据已经备份:

linux下rsync的安装和配置

每天上午9点20执行rysnc备份任务:

20 9 * * *       /usr/bin/rsync -vzrtopg --delete  --progress rsync@192.168.8.126::test /usr/local/share/rsync_backup --password-file=/etc/rsync.pass

linux下rsync的安装和配置 

附时间设置:

(1)、查看当前时区 :  date -R
(2)、查看时间和日期:date
(3)、设置时间和日期:
      将系统日期设定成2012年8月4日的命令:date -s 08/04/2012
      将系统时间设定成下午9点20分0秒的命令:date -s 09:20:00
(4)、将当前时间和日期写入BiOS,避免重启后失效:hwclock -w

FAQ

我需要在防火墙上开放哪些端口以适应rsync?

A:视情况而定

    rsync可以直接通过873端口的tcp连接传文件,也可以通过22端口的ssh来进行文件传递,但你也可以通过下列命令改变它的端口:

   rsync --port 8730 otherhost::

或者

rsync -e 'ssh -p 2002' otherhost:

我如何通过rsync只复制目录结构,忽略掉文件呢?

A:rsync -av --include '*/' --exclude '*' source-dir dest-dir

常见错误

rsync: failed to connect to 218.107.243.2: No route to host (113)

rsync error: error in Socket IO (code 10) at clientserver.c(104) [receiver=2.6.9]

解决:对方没开机、防火墙阻挡、通过的网络上有防火墙阻挡,都有可能。关闭防火墙,其实就是把tcp udp 的873端口打开:

   解决办法:打开服务器873端口(RH-Firewall-1-INPUT为REHL 5自带的链名,10为最后一条默认规则(拒绝所以),根据实际情况修改这两个参数。另外“-m state --state NEW -m tcp”参数不加也行)

    #iptables -I RH-Firewall-1-INPUT 10 -p tcp -m state --state NEW -m tcp --dport 873 -j ACCEPT
    #iptables -I RH-Firewall-1-INPUT 10 -p udp -m state --state NEW -m udp --dport 873 -j ACCEPT

   打开端口之前的iptables配置:

linux下rsync的安装和配置

注:最后一条规则(REJECT  all -- anywhere   anywhere reject-with icmp-host-prohibited)表示拒绝所有的数据包,并向对方回应icmp-host- prohibited数据包。

本机测试通过的方法,打开服务器873端口:

(1)、[root@duoduo ~]# iptables -I INPUT -p tcp --dport 873 -j  
       [root@duoduo ~]# iptables -I INPUT -p udp --dport 873 -j ACCEPT

    (注意要用-I,而不能用-A,用A的话会添加这条规则到iptables链的最后,但是没有到这条规则就被原来的最后一条REJECT了,客户端还是无法执行rysnc备份,用I的话会插入到链的最前面,经过测试可以正常执行rysnc备份。另外“-m state --state NEW -m tcp”参数可以加上)。

(2)、上面提到的,插入规则到最后一条的前面:

#iptables -I RH-Firewall-1-INPUT 10 -p tcp -m state --state NEW -m tcp --dport 873 -j ACCEPT
#iptables -I RH-Firewall-1-INPUT 10 -p udp -m state --state NEW -m udp --dport 873 -j ACCEPT

  插入之前:

linux下rsync的安装和配置

插入规则:

linux下rsync的安装和配置
linux下rsync的安装和配置

插入规则后:

linux下rsync的安装和配置

再在客户端执行,可以正常执行。

    (3)、或者关闭服务器的iptables:service iptables stop

password file must not be other-accessible

continuing without password file

Password:

解决:这是因为rsyncd.pwd rsyncd.sec的权限不对,应该设置为600。如:chmod 600 rsyncd.pwd

@ERROR: auth failed on module xxxxx

rsync: connection unexpectedly closed (90 bytes read so far)
rsync error: error in rsync protocol data stream (code 12) at io.c(150)

解决:这是因为密码设置错了,无法登入成功,检查一下rsync.pwd,看客服是否匹配。还有服务器端没启动rsync 服务也会出现这种情况。

@ERROR: chroot failed

rsync: connection unexpectedly closed (75 bytes read so far)
rsync error: error in rsync protocol data stream (code 12) at io.c(150)

解决:这是因为你在 rsync.conf 中设置的 path 路径不存在,要新建目录才能开启同步。

[root@hyj rsync_backup]# /usr/bin/rsync -vzrtopg --delete --exclude "res/" --exclude "default.properties" --progress rsync@192.168.8.126::test /usr/local/share/rsync_backup --password-file=/etc/rsync.pass
@ERROR: chdir failed
rsync error: error starting client-server protocol (code 5) at main.c(1516) [Receiver=3.0.9]

原因及解决办法:

    SELinux;(下面这条命令在服务器端执行)
    setsebool -P rsync_disable_trans on

ERROR: module is read only
rsync: read error: Software caused connection abort (113)
rsync error: error in rsync protocol data stream (code 12) at io.c(769) [sender=3.0.8]

解决:这是因为服务器端配置文件rsyncd.conf中read only = yes,为只读,即不允许客户端上传文件,改成no就可以了。
 

感谢各位的阅读,以上就是“linux下rsync的安装和配置”的内容了,经过本文的学习后,相信大家对linux下rsync的安装和配置这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: linux下rsync的安装和配置

本文链接: https://www.lsjlt.com/news/257053.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • linux下rsync的安装和配置
    这篇文章主要讲解了“linux下rsync的安装和配置”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux下rsync的安装和配置”吧!Redhat中安装rsync  首先在服...
    99+
    2023-06-09
  • Linux下rsync如何安装
    这篇文章主要介绍了Linux下rsync如何安装,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。rsync是linux系统下的数据镜像备份工具。使用快速增量备份工具Remote...
    99+
    2023-06-28
  • mysql 在 linux下的安装 和 配置
    文章目录 1. linux 安装mysql1. 源码安装1.找到源码包2: 进行配置3:初始化数据目录官方说明 自用4:启动数据库5:写入环境变量 2:使用yum安装1. 直接配置mysql仓库 或者下载MySQL...
    99+
    2023-08-16
    linux mysql 数据库
  • Linux 下 SVN 的安装和配置方法
    这篇文章主要介绍“Linux 下 SVN 的安装和配置方法”,在日常操作中,相信很多人在Linux 下 SVN 的安装和配置方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux 下 SVN 的安装和配...
    99+
    2023-06-15
  • linux下安装和配置jdk的方法
    本篇内容介绍了“linux下安装和配置jdk的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!今天在 Linux中安装JDK,过程如下: ...
    99+
    2023-06-13
  • linux下hadoop的安装和配置过程
    这篇文章主要讲解了“linux下hadoop的安装和配置过程”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux下hadoop的安装和配置过程”吧!1,安装linux 本文假设从裸机开始...
    99+
    2023-06-13
  • linux下vsftpd安装和配置步骤
    这篇文章主要介绍“linux下vsftpd安装和配置步骤”,在日常操作中,相信很多人在linux下vsftpd安装和配置步骤问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux下vsftpd安装和配置步骤...
    99+
    2023-06-13
  • Linux下如何安装和配置Nginx
    这篇文章主要为大家展示了“Linux下如何安装和配置Nginx”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux下如何安装和配置Nginx”这篇文章吧。Nginx(“engine x”)是...
    99+
    2023-06-28
  • linux下如何安装和配置jdk1.7
    本文小编为大家详细介绍“linux下如何安装和配置jdk1.7”,内容详细,步骤清晰,细节处理妥当,希望这篇“linux下如何安装和配置jdk1.7”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。0)到官网去下在j...
    99+
    2023-06-26
  • Linux下MongoDB安装和配置详解
    MongoDB官网:http://www.mongodb.org/  MongoDB学习网站:http://www.runoob.com/mongodb 一、创建Mong...
    99+
    2024-04-02
  • Linux下Mongodb安装和启动配置
    MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。Mong...
    99+
    2024-04-02
  • Linux下安装配置maven
    一、安装以及配置maven 1.下载maven安装包 首先需要切换到自己需要安装的目录 我自己是把配置都放到了:/home/sunny 路径下 cd /home/sunny 下载maven安装包:wget https://archive.a...
    99+
    2023-08-19
    linux maven java
  • linux下Cloud Control 13c的安装和配置方法
    这篇文章主要讲解了“linux下Cloud Control 13c的安装和配置方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux下Cloud Co...
    99+
    2024-04-02
  • linux系统怎么安装rsync和sersync
    本篇内容介绍了“linux系统怎么安装rsync和sersync”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、为什么要用Rsync+se...
    99+
    2023-06-13
  • Linux下配置和安装Domino服务器的过程
    这篇文章主要讲解了“Linux下配置和安装Domino服务器的过程”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux下配置和安装Domino服务器的过程”吧!首先是软件的许可协议,内容...
    99+
    2023-06-13
  • Linux下如何安装配置Percona
    本篇内容主要讲解“Linux下如何安装配置Percona”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux下如何安装配置Percona”吧!Percona Server是一款独立的数据库产...
    99+
    2023-06-27
  • Linux下Hbase如何安装配置
    这篇文章主要介绍Linux下Hbase如何安装配置,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Linux下Hbase安装配置首先要安装HadoopLinux Hadoop 2.7.3 安装搭建1. Hbase安装包...
    99+
    2023-06-21
  • Linux下如何安装配置composer
    这篇文章主要介绍了Linux下如何安装配置composer,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Composer 是 PHP5.3以上 的一个依赖管理工具。它允许你声...
    99+
    2023-06-28
  • MacOS下安装和配置Nginx
    一、安装brew /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" 按回车后,根据提示操作:输入镜像序号 --> 输...
    99+
    2023-08-24
    nginx macos git
  • Linux下如何安装配置Twemproxy
    这篇文章给大家分享的是有关Linux下如何安装配置Twemproxy的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Twemproxy是一种代理分片机制,由Twitter开源。Twemproxy作为代理,可接受来自...
    99+
    2023-06-28
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作