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

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

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

我当前的解决方案:

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

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

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

答案1

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

tar zcvf - /your/directory | ssh -i private.key backup-user@backupserver "cat > /backup/file.tgz"

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

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

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

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

相关内容