Облачный сервис MEGA предлагает 50 Gb бесплатного места для хранения файлов. Можно ли использовать этот сервис для хранения резервных копий используя shell скрипты?
Кроме нативного клиента для desktop систем, есть и набор инструментов для консоли — http://megatools.megous.com/ , в этом наборе есть утилита — megafs , позволяющая подключить дисковое пространство облачного сервиса MEGA к файловой системе CentOS 7 и не только. Примонтировав сервис MEGA к системе, получим возможность работать с облачным хранилищем как с обычной файловой системой.
Приступим (предполагается, что вы уже зарегистрировались):
- Установим зависимости:
# yum -y install glib2-devel openssl-devel libcurl fuse-devel
- Скачиваем исходники:
# cd /root # wget http://megatools.megous.com/builds/megatools-1.9.94.tar.gz # tar -zxf megatools-1.9.94.tar.gz # cd megatools-1.9.94
- Компилируем и устанавливаем:
# ./configure # make # make install
- Создаем файл /root/megafs.ini со следующим содержимым:
[Login] Username = [ваш логин, обычно это email] Password = [пароль к сервису]
Поправим права:
# chmod 600 megafs.ini
- Проверяем подключение, проверив свбодное место:
# megadf --config /root/megafs.ini GLib-GIO-Message: Using the 'memory' GSettings backend. Your settings will not be saved or shared with other applications. Total: 53687091200 Used: 0 Free: 53687091200
- Теперь примонтируем:
# mkdir /mnt/megafs # megafs --disable-previews --config /root/megafs.ini /mnt/megafs # ls -l /mnt/megafs total 0 drwxr-xr-x 1 root root 0 Jan 1 1970 Contacts drwxr-xr-x 1 root root 0 Mar 6 06:16 Inbox drwxr-xr-x 1 root root 0 Mar 6 06:16 Root drwxr-xr-x 1 root root 0 Mar 6 06:16 Trash
Готово
Корень облачного хранилища: Root
Попробуем создать папку:
# mkdir /mnt/megafs/Test # ls -l /mnt/megafs/Root total 0 drwxr-xr-x 1 root root 0 Mar 6 07:54 Test
Работает. Попробуем создать файл:
# echo Test > /mnt/megafs/Root/Test/test1 bash: /mnt/megafs/Root/Test/test1: Function not implemented
Упс. Не работает. В чем же дело? А дело в том, что на момент написания заметки в man megafs написано:
Be aware that reading and writing files is not implemented yet. You can only manage directories and remove files.
А значит пока мы не сможем полноценно воспользоваться примонтированным облаком MEGA.
Но мы все еще можем использовать утилиты пакета megatools, чтобы работать с MEGA из консоли:
Скопируем файл на облако:
# dd if=/dev/zero of=/tmp/test1 bs=1M count=100 # megaput --config=/root/megafs.ini --path /Root/Test/ /tmp/test1 # megals --config=/root/megafs.ini /Root/Test /Root/Test /Root/Test/test1
Если не хотите указывать каждый раз расположение конфига, положите конфиг в $HOME/.megarc
Остальные команды, их использование и дополнительную информацию можно прочитать на страницах man:
# man megatools
На версии megatools-1.9.98
megafs: command not found