rsync免密码登陆,看了网上N多教程,千篇一律,愣是没法解决我的问题。
结果发现,其实注意好两点就行:
1. 在rsyncd.conf的模块设置中,要将auth users和secrets file这两项注释掉
2. 在cwrsync.cmd的SECHAW_CMD的rsync命令行中,本地目录的结尾要加上反斜杠/,否则会在服务器的目录下再创建一个目录
下面附上完整的配置文件:
rsyncd.conf
read only = no
uid = root
gid = root
use chroot = no
max connections = 4
pid file = /var/run/rsyncd.pid
log file = /var/log/rsync/rsyncd.log
lock file = /var/run/rsyncd.lock
exclude = lost+found/
# transfer logging = yes
# timeout = 900
ignore nonreadable = yes
dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2 *.jpg
[static]
path = /website/static
ignore errors = yes
hosts allow = *
comment = rsync static files of website
#auth users = rsync root
#secrets file = /etc/rsyncd.pas
cwrsync.cmd
@ECHO OFF
SETLOCAL
SET CWRSYNCHOME=%PROGRAMFILES(x86)%\CWRSYNC
SET HOME=%HOMEDRIVE%%HOMEPATH%
SET CWOLDPATH=%PATH%
SET PATH=%CWRSYNCHOME%\BIN;%PATH%
SET SECHAW_IDENTITY=/cygdrive/c/Users/user/.ssh/id_rsa
SET SECHAW_TYPE=ssh
SET SECHAW_LOCALPORT=9119
SET SECHAW_SERVER=120.120.120.120
SET SECHAW_SERVERPORT=873
SET SECHAW_USER=root
SET SECHAW_CMD=rsync.exe -avrHzP --exclude-from=/cygdrive/c/exclude.list --progress --delete /cygdrive/c/website/static/ 120.120.120.120::static
sechaw.exe --verbose
pause
其它的看网上的教程就可以了,这里只贴关键部位。另外要注意的是exclude.list中的路径不要包括/website/static这个父路径了,只要子目录就可以,如src/。