寻找一种在 Linux 上压缩、加密、拆分和上传数据的方法,以便备份到多个云

寻找一种在 Linux 上压缩、加密、拆分和上传数据的方法,以便备份到多个云

正如标题所说,我正在寻找一种在 Ubuntu/Linux 中压缩、加密、拆分和上传数据以便在多个云中进行备份的方法。

我免费获取了多个云帐户,大小从 2GB 到 50GB 不等,我想将我的加密数据备份到这些云中。这些帐户包括 Dropbox、box.net、Microsoft Skydrive、Google Drive 等。我的所有系统都运行 Ubuntu 13.04 Raring。

答案1

*nix 的思维方式是使用许多小程序来执行每个必要的步骤,并使用管道将它们串联在一起。因此,与其试图找到一个可以完成所有需要的工具,不如看看可以执行每个必要步骤的各种实用程序。所以,是时候阅读了:

  1. split,GNU 核心实用程序的一部分,用于将大文件分割成块的出色的小工具。
  2. tar用于制作档案,将许多小文件合并为一个大档案。它还可以使用各种压缩程序来创建压缩档案。例如,要创建压缩 (gzip要创建一个当前目录中所有文件的 .ped 存档,请运行:

    tar czf archive.tgz *
    
  3. 基努,Gnu Privacy Guard 是一个简单易用的工具,它(除其他功能外)允许您加密/解密文件。

  4. 您使用什么上传取决于相关服务。许多服务(如 Dropbox)都有自己的工具。其他服务可能会提供ftpssh访问。如果您有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……

相关内容