Scripting

將伺服器的一個文件夾中的文件同步到另一個文件夾

  • November 11, 2012

我需要一個腳本,其中一台伺服器的文件將被複製到另一台伺服器的其他文件夾,並且僅當源伺服器文件上的文件在目標伺服器上不存在時。

更多細節

如果使用者在源伺服器上創建文件並且當文件完成並保存它(命令或腳本)時,這將在源伺服器上一直執行,如果文件存在於 DEST 上,則首先檢查 DESTINATION SERVER。SERVER 如果不是,則將 if 複製到 DEST。伺服器

如何做到這一點我不知道腳本。

使用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基於解決方案的解決方案,這將消除大量成本。

Unison是另一個這樣的工具,它沒有與 rsync 相同的功能集,但可能同樣適合這種特殊情況。

有一個很好的方法,它還解釋瞭如何與inotify集成

引用自:https://unix.stackexchange.com/questions/55442