QV или БЕЗ НАЗВАНИЯ
Меню сайта

Форма входа

Поиск

Календарь
«  Февраль 2014  »
ПнВтСрЧтПтСбВс
     12
3456789
10111213141516
17181920212223
2425262728

Архив записей

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Приветствую Вас, Гость · RSS 16.10.2019, 02:44

Главная » 2014 » Февраль » 25 » Backup в облако из командной строки Linux по расписанию
22:25
Backup в облако из командной строки Linux по расписанию
Сторонников параноидальной конспирологии прошу не беспокоиться.
Итак, возникла необходимость периодического бекапа нескольких файлов в
облако с машины (Linux), имеющий доступ в интернет через прокси. Бекап
должен был выполняться в фоновом режиме несколько раз в сутки. Вначале
 выбор пал на Yandex.disk с возможностью работать из командной строки
и через прокси и демон, ну прямо няшка! К сожалению, радость оказалось
недолгой. В какой-то момент без видимой причины Yandex.disk стал зависать
 при работе и более того
выпилить его из системы штатными средствами оказалось не
возможно. Разочерование ... Недолгое гугление привело к https://www.idrive.com/online-backup-linux.htm
Бесплатно предлагалось 5Гб, что для моих нужд было более чем достаточно, а
главное имела место быть утилита для общения с сервером из командной
строки! Был сочинен элементврно-кондовый скрипт и все заработало!
Обнаруженные недостатки сервиса носят, скорее, субъективный характер:
- скудная документация,
- пароли доступа к сервису хранятся в открытом виде на локальной машине,
- утилита доступна в виде бинарника, без исходного кода.
Ну, а бекап я организовал следующим образом:
1. Создал каталог ~/backup в который,
2. rsync'ом копируются файлы для последующего бекапа,
3. эти файлы сжимаются tar'ом' и
4. шифруются gpg,
5. к созданным архивам добавляется время и дата их создания,
6. и далее из командной строки запускалась idevsutil  (собственно утилита idrive)
для общения с idrive.
Скрипты запускается из cron.
Вот как-то так. Некоторые подробности работы с idevsutil:
Прежде всего перед тем, как начать работать с сервисом из командной строки необходимо
во-первых, создать аккаунт на сервере (это не сложно), во-вторых,
получить адрес сервера вида: ххх.ххх.ххх.ххх :
./idevsutil --getServerAddress <user name>
И далее,  
- список опций: idevsutil --help > help.txt
Примеры (можно найти на www.idrive.com):
- копирование файлов с локальной машины на сервер:
./idevsutil --pvt-key=key --password-file=pass --proxy=PROXY:PORT --files-from=filelist.txt / <USER_MAIL>@SERVER_ADRES::home/
где key файл приватного ключа, если вы его создали, для вашего аккаунта,
pass файл с паролем для доступа к аккаунту, filelist.txt - список путей
к файлам на локальной машине, которые (файлы) будут копированы на сервер.
- удаление файлов на сервере:
./idevsutil --delete-items --pvt-key=key --password-file=pass --files-from=filelist_del.txt --proxy=PROXY:PORT <USER_MAIL>@SERVER_ADRES::home/    
где filelist_del.txt список файлов на сервере с указанием путей к ним для удаления,
- удаление файлов из корзины на сервере,
./idevsutil  --deletefrom-trash --pvt-key=key --password-file=pass --files-from=filelist_del.txt --proxy=PROXY:PORT <USER_MAIL>@SERVER_ADRES::home/
- копирование файлов в пределах аккаунта на сервере:
./idevsutil --password-file=pass --copy-within --pvt-key=key --files-from=filelist_serv_copy.txt --proxy=PROXY:PORT <USER_MAIL>@SERVER_ADRES::home/new_folder
где, filelist_serv_copy.txt список файлов с полным путем для копирования в папку ::/home/new_folder
NB!!! Обратите внимание, что "/" необходим перед
<USER_MAIL>@SERVER_ADRES::home/ только при копировании файлов с
локальной машины на сервер! Во всех других случаях - не нужен!
Просмотров: 1022 | Добавил: avn | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Copyright MyCorp © 2019