正如标题所说,我正在寻找一种在 Ubuntu/Linux 中压缩、加密、拆分和上传数据以便在多个云中进行备份的方法。
我免费获取了多个云帐户,大小从 2GB 到 50GB 不等,我想将我的加密数据备份到这些云中。这些帐户包括 Dropbox、box.net、Microsoft Skydrive、Google Drive 等。我的所有系统都运行 Ubuntu 13.04 Raring。
答案1
*nix 的思维方式是使用许多小程序来执行每个必要的步骤,并使用管道将它们串联在一起。因此,与其试图找到一个可以完成所有需要的工具,不如看看可以执行每个必要步骤的各种实用程序。所以,是时候阅读了:
split
,GNU 核心实用程序的一部分,用于将大文件分割成块的出色的小工具。tar
用于制作档案,将许多小文件合并为一个大档案。它还可以使用各种压缩程序来创建压缩档案。例如,要创建压缩 (gzip
要创建一个当前目录中所有文件的 .ped 存档,请运行:tar czf archive.tgz *
基努,Gnu Privacy Guard 是一个简单易用的工具,它(除其他功能外)允许您加密/解密文件。
- 您使用什么上传取决于相关服务。许多服务(如 Dropbox)都有自己的工具。其他服务可能会提供
ftp
或ssh
访问。如果您有ssh
访问权限,您应该查看rsync
可实现动态压缩和增量复制。否则,请查看scp
。
正如我所说,细节将取决于所涉及的服务,但这里有一个示例工作流程:
tar czf archive.tgz * ## compress and create single archive
gpg -c archive.tgz ## encrypt
split -dn 5 archive.tgz archive ## splits into archive00 - archive04
scp archive0{0,1,2} [email protected]:/path/to/ ## copy archive00, archive01
## and archive 02 to service 1
scp archive0{3,4} [email protected]:/remote/path ## copy the rest to service 2
答案2
如果您是 Perl 爱好者,请使用 Perl。如果必须(我可能会这么做),我会使用 Bash。选择解释器后,您只需组合对split
和 的调用rsync
,使用 进行迭代或计划更新即可cron
……