linux rsyncserver文件同步

版权声明:本文为博主原创文章,未经博主同意不得转载。

https://blog.csdn.net/zqtsx/article/details/24254651

[root@zqtsx]# rpm -qa |grep rsync #检查系统是否安装了rsync软件包
rsync-2.6.8-3.1
[root@zqtsx]# rpm -ivh rsync-2.6.8-3.1.i386.rpm # 假设没有安装则手动安装

或者安装

yum install rsync 进行安装(一般编译系统时默认会将所需软件rsync编译进去)

[root@test zqtsx]# vim /etc/xinetd.d/rsync


1 配置rsync servervi /etc/xinetd.d/rsync

vim /etc/xinetd.d/rsync

将disable=yes改为no


service rsync
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}

2 配置rsync自己主动启动
[root@zqtsx etc]# chkconfig rsync on
[root@zqtsx etc]# chkconfig rsync --list
rsync on

3 配置rsyncd.conf
[root@test etc]# vim /etc/rsyncd.conf (默认不存在这个文件,假设不存在请手动增加)

uid = zqtsx  (sync授权登录用户 账户)
gid = zqtsx (sync授权登录用户 账户所属工作组)
use chroot = no
max connections = 4 (最大连接数)
strict modes = yes
port = 873  (rsync登录 链接 port)
pid file = /var/run/rsyncd.pid  (pid启动文件存放路径,例如以下解释同此。故而省略)
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log (sync日志存放文件夹)

[backup]  (backup模块能够自由命名。但必须与以下的登录 模块同名)
path = /home/var/www   (server同步文件文件夹)
comment = This is test
auth users = zqtsx (rsync授权自己主动登录账户zqtsx。请余上面 以下的 uid=zqtsx 中的uid 值保持一致)
uid = zqtsx
gid = zqtsx
secrets file = /home/rsync.ps (rsync 账户password存放文件路径。文件password格式为 username:pwd 多账户间用换行切割)
read only = no
list = no

4 确保etc/services中rsyncport号正确
[root@zqtsx etc]# vim /etc/services
rsync 873/tcp # rsync  (873port号 请与上面的 port =873  port号一致。否则将报权限错误或无法链接登录rsync)
rsync 873/udp # rsync

5 配置rsyncpassword(在上边的配置文件中已经写好路径)/home/rsync.ps(名字随便写。仅仅要和上边配置文件中的一致就可以,注意不要有多余空格和空行,否则将出现账户password验证错误)。格式(一行一个用户)
[root@zqtsx etc]# vi /home/rsync.ps
zqtsx:zqtsxpwd

6 配置rsyncpassword文件权限
[root@zqtsx home]# chown root.root rsync.ps (安全期间password文件归属与root账户,由于我们这里是zqtsx账户组)
[root@zqtsx home]# chmod 400 rsync.ps (安全期间增加权限设置)

7 启动配置 此步骤可省略(假设client从server下载文件时出现 相似1503 的error错误,请使用/etc/init.d/xinetd stop 停止后 再重新启动rsync就可以)
[root@zqtsx home]# /etc/init.d/xinetd restart
Stopping xinetd: [ OK ]
Starting xinetd: [ OK ]

8 假设xinetd没有的话,须要安装一下
[root@zqtsx home]# yum -y install xinetd


启动rsync server
RSYNC服务端启动的两种方法
9、启动rsync服务端(独立启动)

[root@zqtsx home]# /usr/bin/rsync --daemon

注意第一次启动请加上配置文件路径地址:假设client从server下载文件时出现 相似1503 的权限error错误,请使用/etc/init.d/xinetd stop 停止xinetd后 再重新启动rsync就可以

[root@zqtsx home]# /usr/bin/rsync --daemon --config=/etc/rsyncd.conf &

或者例如以下启动也可:

[root@zqtsx home]# rsync --daemon --config=/etc/rsyncd.conf &

[5] 9182   (出现相似此行。证明启动成功)
[4]   Done                    /usr/bin/rsync --daemon --config=/etc/rsyncd.conf  (出现相似此行 证明先前已启动过rsync。此次为反复启动操作)

使用命令查看 rsync 是否启动成功

[root@zqtsx home]# ps auxf | grep 'rsync' 

出现例如以下信息证明 启动成功(尤其第二行。之出现第一行仅仅能证明rsync成功安装,不代表已成功载入配置文件 成功启动,必须出现相似第二行信息才可正常使用)
root      9185  0.0  0.0 103252   864 pts/0    S+   23:36   0:00          \_ grep rsync
root      8137  0.0  0.0 107620   668 ?        Ss   22:50   0:00 rsync --daemon --config=/etc/rsyncd.conf

关闭rsync 可先用 ps auxf | grep 'rsync' 命令查看 rsync 执行的进程号  然后 "kill  -9  8137" (8137为rsync进程号)就可以。再次重新启动依然使用老方法启动就可以


10、启动rsync服务端 (有xinetd超级进程启动)
[root@test home]# /etc/init.d/xinetd reload

11 增加rc.local
在各种操作系统中。rc文件存放位置不尽同样。能够改动使系统启动时把rsync --daemon载入进去。


[root@test home]# vi /etc/rc.local
/usr/bin/rsync --daemon #增加一行

12 检查rsync是否启动
[root@zqtsx home]# lsof -i :873
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME

xinetd 4396 root 5u IPv4 633387 TCP *:rsync (LISTEN)


client配置
1 配置三个过程就能够了
1.1 设定password文件
1.2 測试rsync执行指令
1.3 将rsync指令放入工作排程(crontab)
[root@zqtsxkhd home]# vi /etc/xinetd.d/rsync

# default: off
# description: The rsync server is a good addition to an ftp server, as it
# allows crc checksumming etc.
service rsync
{
disable = yes
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}

1.1 配置password文件 (注:为了安全,设定password档案的属性为:600。/home/rsync.ps的password一定要和Rsync Serverpassword设定案里的password一样)

/home/rsync.ps里的 password必须同 server端 rsyns账户的password一致 即 此处 为server端zqtsx账户的password,注意。该处之写password,不写账户 且不能有多余换行和空格

[root@zqtsxkhd home]# vi /home/rsync.ps
zqtsxpwd
[root@zqtsxkhd home]# chown root.root .rsync.ps # 注意必须给权限
[root@zqtsxkhd home]# chmod 600 .rsync.ps # 必须改动权限

1.2 从server上下载文件(将serverbackup模块中指定的文件文件夹下载到本地的/home文件夹)
[root@zqtsxkhd rsync-3.0.4]# rsync -avz --password-file=/home/rsync.ps zqtsx@192.168.0.206::backup /home/

从本地上传到server上去

rsync -avz --password-file=/home/rsync.ps 本地上传文件夹 rsync账户@serverIP地址::rsync同步配置模块名(即/etc/rsync.conf 文件中的模块[backup] "[ ]"里的 backup 模块命名

[root@zqtsxkhd rsync-3.0.4]# rsync -avz --password-file=/home/rsync.ps /var/www/ zqtsx@192.168.0.206::backup  (样例:将本地的 /var/www文件夹上传到serverbackup模块指定的文件夹下) 记得"/var/www/"最后一个 "/"一定要加上 否则 不是将 /var/www/文件夹里的文件传到server上。而是将 /var/文件夹中的 www文件夹上传到server上了。。。
【推广】 免费学中医,健康全家人
原文地址:https://www.cnblogs.com/ldxsuanfa/p/10582959.html