![无需套接字即可与 rsync 守护进程通信](https://linux22.com/image/58155/%E6%97%A0%E9%9C%80%E5%A5%97%E6%8E%A5%E5%AD%97%E5%8D%B3%E5%8F%AF%E4%B8%8E%20rsync%20%E5%AE%88%E6%8A%A4%E8%BF%9B%E7%A8%8B%E9%80%9A%E4%BF%A1.png)
根据联机帮助页,rsync --daemon
将:
- 尝试使用 rsync 协议使用 stdin/out 进行通信,如果检测到 stdin/out 是套接字,
- 打开一个 TCP 套接字进行监听并使用它来公开 rsync 协议端点,否则。
是否可以rsync
在不将套接字连接到其标准输入/输出的情况下强制执行第一种行为?
答案1
因此,显然我需要将 undocumented-on-purpose--server
选项作为第一个参数传递给rsync
:
liori:~% rsync --server --daemon --config <(printf "") .
@RSYNCD: 31.0
hi
@ERROR: protocol startup error
liori:~%
(hi
中间是我试图正确地问候守护进程。显然守护进程不喜欢它......)
笔记:
我太懒了,无法创建一个合适的
rsyncd.conf
文件,所以我正在创建一个带有--config <(printf "")
.否则rsync
将记录rsync: unable to open config file "rsyncd.conf": No such file or directory
到系统日志。命令行末尾的点似乎很重要(否则 rsync 会打印
rsync error: syntax or usage error
到系统日志),但我不知道它的用途。