1、修改/etc/default/rsync,让rsync服务在开机的时候启动。
$ sudo vi /etc/default/rsync
将RSYNC_ENABLE=false改为RSYNC_ENABLE=true
2、
创建一个rsyncd.conf,缺省安装中是没有这个文件的。
$ sudo vi /etc/rsyncd.conf
加入以下内容:
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
log file = /var/log/rsyncd.log
motd file = /var/log/rsyncd.motd
[yyyyyy]
path = /xxx/xxx/xxxx
read only = false
list = false
uid = 0
gid = 0
use chroot = no
max connections = 100
auth users = user
secrets file = /etc/rsyncd.secrets
dont compress = *.gz *.tgz *.zip *.z *.rpm *.deb *.iso *.bz2 *.tbz
创建/etc/rsyncd.secrets
加入内容
user:password
设置rsyncd.secrets权限
sudo chmod 600 /etc/rsyncd.secrets
3、启动rsync服务。
$ /etc/init.d/rsync start
在客户端中就可以和服务器同步了。rsync的语法如下:
rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST
其中[OPTION]通常用:-vzrtopg --progress --delete,意义大概是显示同步过程详细信息,从目的地中删除源中不存在的文件。
如果配好了ssh的密钥对,那么这个地方就不需要指定[USER@]了。比如我将我修改后的网站同步到服务器上,只需输入以下命令:
rsync -vzrtopg --progress --delete ./dagwww/ 192.168.0.1:dagwww
还可以在~/.bashrc中加入一个alias:
alias rsyncweb="rsync -vzrtopg --progress --delete ~/dagwww/ 192.168.0.1:dagwww "
然后source一下,让它启用。
$source ~/.bashrc
之后就可以用rsyncweb命令来同步了。
rsync只同步修改过的文件,而且是通过ssh通过传输,传输时会压缩数据,比起ftp来,即安全又快捷,实乃网站发布更新之利器也。