更多细节

更多细节

我需要一个脚本,其中只有当源服务器文件上的文件在目标服务器上不存在时,才会将一台服务器的文件复制到另一台服务器的其他文件夹。

更多细节

如果用户在源服务器上创建文件,并且当文件完成并保存它(命令或脚本)时,这将始终在源服务器上运行,首先检查目标服务器上是否存在该文件。 SERVER 如果没有,则将其复制到 DEST。服务器

如何做到这一点我不知道编写脚本。

答案1

使用rsync--ignore-existing标志。从man rsync

--ignore-existing       skip updating files that exist on receiver

要在两个不同的服务器之间执行此操作,你可以执行以下操作:

rsync --ignore-existing -avz -e ssh source remoteuser@remoteserver:destination

如果您真的要像您在问题中所说的那样“一直”(即连续)运行此程序,我强烈建议您使用inotify基于解决方案的解决方案,这将消除大量开销。

答案2

齐奏是另一个这样的工具,它不具有与 rsync 相同的功能集,但可能同样适合这种特殊情况。

有一个不错的如何这也解释了如何集成inotify

相关内容