使用 rsync 与 StrictHostKeyChecking 并查找远程超过 5 分钟的文件

使用 rsync 与 StrictHostKeyChecking 并查找远程超过 5 分钟的文件

我想使用 rsync 将文件从远程同步到本地目录。因此我使用严格主机密钥检查这样就无需输入密码。

现在我想只同步超过 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

答案1

StrictHostKeyChecking与无密码身份验证无关。其目的是发出正向确认的反向 DNS,以确保您确实连接到了目标服务器,并且没有使用 DNS 级劫持将您误导到另一台服务器。

要使用公钥认证,您必须遵循以下步骤:

  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 分钟内更改的文件)。

相关内容