使用 pigz 的备份脚本确保在备份服务器上使用 CPU

Backup script using pigz ensuring CPU is used on backup server

当前备份的脚本只使用 tar,没有压缩。我们需要压缩备份,但是我们需要 CPU 利用率来压缩这些备份以在备份服务器

上进行

当前:

tar -cvf - . | ssh user@backupserver.com "cat > ~/vps/v16/vzpbackup_${CTID}_${HNAME}_${TIMESTAMP}.tar"

新:

tar -cvf - . | ssh user@backupserver.com "cat > ~/vps/v17/vzpbackup_${CTID}_${HNAME}_${TIMESTAMP}.tar" ; ssh user@backupserver.com "cd ~/vps/v17/; tar --use-compress-program=pigz -cvf vzpbackup_${CTID}_${HNAME}_${TIMESTAMP}.tar.gz vzpbackup_${CTID}_${HNAME}_${TIMESTAMP}.tar"

有没有更好的方法来实现这个目标?

是的。您可以即时压缩:

tar -cvf - . | ssh user@backupserver.com "pigz > ~/vps/v17/vzpbackup_${CTID}_${HNAME}_${TIMESTAMP}.tar.gz"

背景:因为您已经通过管道发送了一个 tar 文件,您只需要在接收方压缩管道数据——最后得到一个压缩的 tar 文件。

顺便说一句,您问题中的 "New" 脚本将创建一个压缩的 tar 文件,其中包含未压缩的 tar 文件。这可能不是你想要的。