如何使用 tar、split 和 openssl 在一个命令中备份和加密?

如何使用 tar、split 和 openssl 在一个命令中备份和加密?

我经常tar将我的东西以 4 GB 的块形式备份到 FAT32 格式磁盘上的目录中,如文档所述这里

为了完成此操作,我使用以下命令:tar -cvpj /path/to/directory/ | split -d -b 4000m - "backup.tar.bz2."

我想用 加密这些tar.bz2.*文件openssl aes-256-cbc,如果可能的话,在创建 4 GB 块之后立即加密,而不是在完成整个备份作业之后。我想知道执行此操作的正确命令,以及如何在创建后重建存档。

答案1

这个怎么样?

tar -cvpj /path/to/directory | openssl aes-256-cbc -kfile /path/to/enc.key | split -d -b 4000m - backup.tar.bz2.enc.

提取:

cat backup.tar.bz2.enc.* | openssl aes-256-cbc -d -kfile /path/to/enc.key | tar xvjf -

编辑:我注意到 split 有--filter。

编辑:由于 cbc 会链接区块,因此很难加入。我将拆分放在加密之后,以使其更容易。

相关内容