我需要一个脚本,其中只有当源服务器文件上的文件在目标服务器上不存在时,才会将一台服务器的文件复制到另一台服务器的其他文件夹。
更多细节
如果用户在源服务器上创建文件,并且当文件完成并保存它(命令或脚本)时,这将始终在源服务器上运行,首先检查目标服务器上是否存在该文件。 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
基于解决方案的解决方案,这将消除大量开销。