Rsync

使用 rsync 和 StrictHostKeyChecking 並從遠端查找超過 5 分鐘的文件

  • November 16, 2015

我想使用 rsync 將我的文件從遠端同步到本地目錄。因此,我使用StrictHostKeyChecking以便無需輸入密碼。

現在我只想同步超過 5 分鐘的文件。我想用

find /path/to/folder/ -type f -mmin +5

如何將它集成到我的遠端程序中?

rsync -e "./ssh -i %syncclientkey% -o  'StrictHostKeyChecking no'" syncusr@%syncsrv:path/to/source path/to/destination

StrictHostKeyChecking與無密碼身份驗證無關。它的目的是發出一個前向確認的反向 DNS,以確保您確實連接到預期的伺服器,並且沒有使用 DNS 級別的劫持將您誤導到另一台伺服器。

要使用 pubkey 身份驗證,您必須執行以下步驟:

  1. 使用創建一個新的公鑰/私鑰ssh-keygen
  2. 使用複制公鑰到遠端伺服器ssh-copy-id

關於您問題的第二部分,rsync其本身無法進行基於時間的選擇。您必須通過生成文件列表find並將其通過管道傳輸到rsync.

例如:find /path/to/folder/ -type f -mmin +5 -print0 | rsync -files-from=- -from0 syncusr@%syncsrv:path/to/source path/to/destination

但是,由於rsync僅傳輸更改的文件/增量非常有效,也許您可以完全跳過文件選擇步驟,並簡單地每 5 分鐘同步整個文件夾。rsync將僅同步/傳輸更改的文件(間隔 5 分鐘,這意味著僅同步最近 5 分鐘內更改的文件)。

引用自:https://serverfault.com/questions/736628