1

Как видно из названия, я ищу способ в Ubuntu/Linux сжимать, шифровать, разбивать и загружать данные для резервного копирования в несколько облаков.

Я бесплатно собрал несколько облачных учетных записей размером от 2 до 50 ГБ, и я хотел бы сделать резервную копию своих данных, зашифрованных в эти облака. Некоторые из этих учетных записей включают Dropbox, box.net, Microsoft Skydrive, Google Drive и другие. Все мои системы работают под управлением Ubuntu 13.04 Raring.

2 ответа2

4

Менталитет * nix состоит в том, чтобы использовать множество небольших программ для выполнения каждого из необходимых шагов и связывать их все вместе, используя каналы. Таким образом, вместо того, чтобы пытаться найти один инструмент, который делает все, что вам нужно, вы должны взглянуть на различные утилиты, которые могут выполнять каждый из необходимых шагов. Итак, время, чтобы прочитать о:

  1. split, часть утилит ядра GNU, отличный маленький инструмент для разбиения больших файлов на куски.
  2. tar используется для создания архивов, для объединения множества маленьких файлов в один большой архив. Он также может использовать различные программы сжатия для создания сжатого архива. Например, чтобы создать сжатый (gzip ped) архив всех файлов в текущем каталоге, вы должны выполнить:

    tar czf archive.tgz *
    
  3. GnuPG, Gnu Privacy Guard - это простой в использовании инструмент, который (помимо прочего) позволяет шифровать / дешифровать файлы.

  4. То, что вы используете для загрузки, будет зависеть от рассматриваемой услуги. Многие (например, 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} user@service1.com:/path/to/   ## copy archive00, archive01  
                                                  ## and archive 02 to service 1
scp archive0{3,4} user@service2.com:/remote/path  ## copy the rest to service 2
1

Если вы парень из Perl, сделайте это с Perl. Если бы мне пришлось, и я, вероятно, буду, я бы сделал это с Bash. Выбрав интерпретатор, вы можете просто комбинировать вызовы split и rsync , повторять или планировать обновления с cron ...

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .