rsync 的安装

Server setup

0)yum -y install xinetd

vi /etc/xinetd.d/rsync

and ensure following:
    
    disable = no
    
    1)vi /etc/rsyncd.conf
    --------------
    
    uid = nobody
    gid = nobody
    use chroot = no
    max connections = 50
    port = 873
    address = 0.0.0.0
    log file = /var/log/rsyncd.log
    pid file = /var/run/rsyncd.pid
    #hosts allow = 1.2.3.123/32
    
    [main]
    path = /data/upload
    comment = main server data dir
    read only = yes
    dont compress = *.gz *.tgz *.zip *.z *.bz2 *.tbz
    auth users = imguser
    secrets file = /etc/rsyncd.users
    
    *************************
    
    2)
    echo 'imguser:1234' >> /etc/rsyncd.users
    chmod 600 /etc/rsyncd.users

#important!can't use 777 or 700,otherwise will happen---auth failed on module
    
    3)
    yum -y install xinetd
    chkconfig  xinetd on
    chkconfig  sshd on
    
    service xinetd restart
    service sshd restart
    netstat -ano|grep :873
    
    4)
    setsebool -P rsync_disable_trans on

*************

Client comand examples

command example 1:

rsync -avz imguser@10.68.229.204::main /data/upload/ --password-file=/etc/rsyncd.users

在客户端设置密码:#客户端的密码文件格式:password(只有密码,而没有用户名,因为用户名是在命令行指定的,而不能通过密码文件

echo '1234' >> /etc/rsyncd.users

chmod 600 /etc/rsyncd.users 

rsync -avz --delete coupon@10.68.229.204::main /data/upload/--password-file=/etc/rsyncd.users

***crontjob script**********
vi /data/run.rsync.cms

#!/bin/bash
if [ `netstat -anp | grep rsync | wc -l` -gt 0
 ] ; then
echo "Prev rsync still running. Skip now. `date`" >> /var/log/rsyncd-messages.log
exit 1
else
RDIR='main/'
LDIR='/data/upload/'
RADD='10.68.229.204'
BAKUSER='imguser'
PROG='/usr/bin/rsync'
OPTIONS='-arHvz --checksum'
export RSYNC_PASSWORD='1234'
$PROG $OPTIONS $BAKUSER@$RADD::$RDIR $LDIR
fi

6) crontab -e

#sync every 5 seconds.
*/1 * * * * sleep 5 && /data/run.rsync.cms

refer: http://m.oschina.net/blog/91042

上一篇:iOS开发小技巧--计算label的Size的方法总结


下一篇:sqlalchemy关于时间的数据类型