备份到远程服务器并动态创建 tar

T K*_*T K 3 linux rsync tar

我想使用 rsync 将目录从生产服务器备份到备份服务器。

我当前的解决方案:

  1. 焦油目录
  2. 在生产服务器上通过 rsync 发送到远程服务器

我对此解决方案的问题是:没有足够的空间来创建 tar 文件+创建 tar 文件时需要大量资源。它应该尽可能减少对生产服务器资源的影响。

我想将文件发送到远程服务器上的 tar 文件中。我只需发送文件并将其 tar 到备份服务器上,但在我看来,这不是一个好的解决方案。

小智 7

您可以使用管道和 STDOUT 的组合通过网络将 tar 文件发送到远程服务器。

tar zcvf - /your/directory | ssh -i private.key backup-user@backupserver "cat > /backup/file.tgz"
Run Code Online (Sandbox Code Playgroud)

“-”字符将 tar 发送到 STDOUT ssh,然后通过管道将其内容写入常规文件cat

您需要使用ssh私钥文件进行“无密码”身份验证。

这不会使用rsync但会将 tarfile 获取到远程服务器。

参考: https ://stackoverflow.com/questions/8045479/whats-the-magic-of-a-dash-in-command-line-parameters