这让我很烦恼。
我需要:
- 比较 server1:/data/archive/ 与 server2:/data/archive/ (通过 rsync、ssh 等)
- 不匹配的文件名将被复制(scp)到 server2:/data/
server1 和 server2 之间有 ssh、scp、rsync 访问。
答案1
假设用户“用户名”可以从 server1 通过 ssh 访问 server2,您可以在 server1 上运行以下命令,将 server1 上所做的更改同步到 server2:
rsync -nav /path/to/files/ username@server2:/path/to/files/
尾随的斜线很重要,请参阅man rsync
详细信息。
本例中使用的选项为:n = 试运行,仅报告将要执行的操作,而不实际执行 a = 存档模式,保留所有权详细信息、链接等 v = 详细
一旦您满意它正在执行您想要的操作,您可以删除 n 标志。
查看man rsync
更多选项,如--exclude 和--delete,用于压缩的-z 也可能有用。