Linux Rsync配置
创建日期:2015-05-09 17:16

安装

yum install rsync

服务端配置

建立备份文件夹

mkdir -p /var/www/backup

使用已存在文件夹文件夹也可

建立配置主文件

vi /etc/rsyncd.conf

内容

uid=nobody
gid=nobody

use chroot=no

max connections=200
timeout = 600

pid file=/var/run/rsyncd.pid
lock file=/var/run/rsyncd.lock
log file=/var/log/rsyncd.log

hosts allow=192.168.0.0/24

auth users=backupUser
secrets file=/etc/rsyncd.secrets

[trans]
path=/var/www/backup
comment=newServer
ignore errors
read only=no
list=no

精简配置

uid = nobody
gid = nobody

use chroot = yes

pid file = /var/run/rsyncd.pid
log file = /var/log/rsyncd.log

[trans]
path = /usr/src
comment = Rsync share test

auth users = backupUser
secrets file = /etc/rsyncd.secrets

read only = yes

编辑密码文件,和配置文件对应即可

vi /etc/rsyncd.secrets

文件内容,格式为用户名:密码,每行一组

backupUser:server

或者直接

echo "backupUser:server" > /etc/rsyncd.secrets

保存后修改文件权限

chmod 600 /etc/rsyncd.secrets

TODO:用户密码使用md5加密grub-md5-crypt,服务器和客户端都是用md5加密后密码
TODO2:/etc/rsyncd.motd自定义服务器信息的,要自己写 rsyncd.motd 文件内容,Client访问Server时,会在Client端显示文件内容

启动

检查是否运行

netstat -tunpl | grep 873

lsof -i :873

方法一:--daemon参数方式,是让rsync以服务器模式运行

/usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf

--config用于指定rsyncd.conf的位置,如果在/etc下可以不写

缺省

/usr/bin/rsync --daemon

方法二:xinetd方式

# chkconfig rsync on

或直接修改配置文件

vi /etc/xinetd.d/rsync

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

运行

/etc/init.d/xinetd restart

上述, 主要是要打开rsync这个daemon, 一旦有rsync client要连接时, xinetd会把它转接给rsyncd(port 873)。然后service xinetd restart, 使上述设定生效.

rsync服务器和防火墙

Linux防火墙是用iptables,所以我们至少在服务器端要让你所定义的rsync 服务器端口通过,客户端上也应该让通过。

安装

yum install xinetd

客户端配置

yum install rsync

echo "server" > /root/secrets

rsync -rav --password-file=/root/secrets backupUser@192.168.100.1::trans ~/tmp/

将rsync放入crontab计划任务,每天同步一次

#crontab -e

0 5 * * * /usr/bin/rsync -a --password-file=/root/secrets backupUser@192.168.100.1::trans /rsync

rsync限速

限制速度很简单,添加个参数即可bwlimit,后面的值是多少k Bytes/s

如:限制为 600k Bytes/s:

rsync -auvz --progress --delete --bwlimit=600 远程文件 本地文件

参考资料

http://www.cnblogs.com/suihui/p/3799638.html
http://blog.csdn.net/keda8997110/article/details/8333082
http://www.rjkfw.com/s_1027.html
http://blog.chinaunix.net/uid-20639775-id-154468.html
http://www.tuicool.com/articles/bUZJj2u
rsync同步服务器数据
inotify-tools+rsync实时同步文件安装和配置
CentOS 6.3下rsync服务器的安装与配置
Centos下配置rsync服务器和实时同步
http://blog.sina.com.cn/s/blog_d7612de60101gjsw.html
TODO:用户没必要为系统真实存在用户