[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登录 链接 端口)
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 (服务器同步文件目录)
comment = This is test
auth users = zqtsx (rsync授权自动登录账户zqtsx,请余上面 下面的 uid=zqtsx 中的uid 值保持一致)
uid = zqtsx
gid = zqtsx
secrets file = /home/rsync.ps (rsync 账户密码存放文件路径,文件密码格式为 username:pwd 多账户间用换行分割)
read only = no
list = no
4 确保etc/services中rsync端口号正确
[root@zqtsx etc]# vim /etc/services
rsync 873/tcp # rsync (873端口号 请与上面的 port =873 端口号一致,否则将报权限错误或无法链接登录rsync)
rsync 873/udp # rsync
5 配置rsync密码(在上边的配置文件中已经写好路径)/home/rsync.ps(名字随便写,只要和上边配置文件里的一致即可,注意不要有多余空格和空行,否则将出现账户密码验证错误),格式(一行一个用户)
[root@zqtsx etc]# vi /home/rsync.ps
zqtsx:zqtsxpwd
6 配置rsync密码文件权限
[root@zqtsx home]# chown root.root rsync.ps (安全期间密码文件归属与root账户,因为我们这里是zqtsx账户组)
[root@zqtsx home]# chmod 400 rsync.ps (安全期间增加权限设置)
7 启动配置 此步骤可省略(
如果客户端从服务器下载文件时出现 类似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
注意第一次启动请加上配置文件路径地址:如果客户端从服务器下载文件时出现 类似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)
客户端配置
1 配置三个过程就可以了
1.1 设定密码文件
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 配置密码文件 (注:为了安全,设定密码档案的属性为:600。/home/rsync.ps的密码一定要和Rsync Server密码设定案里的密码一样)
/home/rsync.ps里的 密码必须同 服务器端 rsyns账户的密码一致 即 此处 为服务器端zqtsx账户的密码,注意,该处之写密码,不写账户 且不能有多余换行和空格
[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 从服务器上下载文件(将服务器backup模块中指定的文件目录下载到本地的/home目录)
[root@zqtsxkhd rsync-3.0.4]# rsync -avz --password-file=/home/rsync.ps
[email protected]::backup /home/
从本地上传到服务器上去
rsync -avz --password-file=/home/rsync.ps 本地上传目录 rsync账户@服务器IP地址::rsync同步配置模块名(即/etc/rsync.conf 文件里的模块[backup] "[ ]"里的 backup 模块命名
[root@zqtsxkhd rsync-3.0.4]# rsync -avz --password-file=/home/rsync.ps /var/www/
[email protected]::backup (例子:将本地的 /var/www目录上传到服务器backup模块指定的目录下) 记得"/var/www/"最后一个 "/"一定要加上 否则 不是将 /var/www/目录里的文件传到服务器上,而是将 /var/目录中的 www目录上传到服务器上了。。。