首先,我不确定这是提出这个问题的最佳地点,如果它需要移动,那很酷。
我有共享主机没有SSH访问权限,我在部署/ rsyncing方面有什么选择......
我用PHP构建应用程序并使用GIT,不确定这是否会改变...
答案 0 :(得分:10)
Rsync旧版本使用rsh作为传输层,由更安全的ssh取代, 但是你可以强制它使用-e标签(--rsh),
的其他传输rsync --rsh=rsh
替代选项,
unison direct socket method(withou ssh)
没有ssh的rdiff-backup(阅读REMOTE OPERATION部分)
HTTP上的csync类似rsync的行为
答案 1 :(得分:2)
我认为Joao错过了在(锁定的)共享托管环境中工作的微妙之处。
但是,如果您确实需要执行正确的rsync,您是否考虑过从共享主机执行rsync pull ?
proc_open()
中包装rsync请求。 (我有一个标准命令在我的共享服务上执行此操作)确定这里有一个漏洞,rsync端口将公开暴露给互联网,而直接套接字方法不会加密有效负载,但你不需要使用默认值,只需要服务在rsync本身运行。
我只使用任何更新的(delta)tarball并在本地爆炸作为我的共享主机帐户的发布过程的一部分,但rsync就在那里。无论如何,这值得一试。
$ remote rsync --version
rsync version 3.0.6 protocol version 30
Copyright (C) 1996-2009 by Andrew Tridgell, Wayne Davison, and others.
Web site: http://rsync.samba.org/
Capabilities:
64-bit files, 64-bit inums, 32-bit timestamps, 64-bit long ints,
socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
append, ACLs, xattrs, iconv, no symtimes
rsync comes with ABSOLUTELY NO WARRANTY. This is free software, and you
are welcome to redistribute it under certain conditions. See the GNU
General Public Licence for details.