以编程方式在两台服务器之间复制文件

以编程方式在两台服务器之间复制文件

以下是我想做的事情:

  1. 我需要自动执行从服务器 A 到服务器 B 的文件复制过程。理想情况下,我希望有一个脚本由服务器 B 上的 cron 作业定期调用。
  2. 我需要复制的文件是可执行文件,因此我需要确保复制过程中不会丢失任何内容。

我遇到过命令行解决方案,但我需要一个编程解决方案。我该怎么做呢?

答案1

rsync两种方法都可以使用,并且都可以轻松地以编程方式scp使用。

例如,这里有一个 shell 脚本,用于将一些文件从 server-01 复制到 server-02:

(假设这些服务器之间已经配置了密钥认证)

#!/bin/sh

scp -R /path/to/files user@server-01:/path/to/destination

...以及一个 rsync 示例:

#!/bin/sh

rsync -az /path/to/files user@server-01:/path/to/destination

答案2

你需要使用同步复制文件。有一个很好的文章这里关于如何配置 ssh、rsync 和 cron。

答案3

我喜欢通过 ssh 使用 scp/rsync,但也考虑通过 http 提供文件并使用 wget/curl。

相关内容