2

У меня есть NAS-устройство на базе Debian Linux (сетевое хранилище) от Synology, в котором хранятся фильмы, музыка, фотографии и т.д.

На NAS установлена последняя версия прошивки DSM 6 построенная на процессоре Intel x64. Я хотел бы настроить автоматическое задание резервного копирования в облаке SpiderOak.

Проблема в том, что я могу найти очень мало информации . В основном SpiderOak предлагает создать резервную копию NAS, подключив его к компьютеру как внешний диск, как если бы вы делали резервную копию ключа USB. Это проблематично по нескольким причинам:

  • Работает только если ваш компьютер включен и находится в той же сети, что и NAS
  • Потоки данных от NAS >> Маршрутизатор >> ПК >> Маршрутизатор >> Облако излишне забивает вашу локальную сеть и использует ресурсы вашего ПК. В идеале это было бы просто NAS >> Маршрутизатор >> Облако
  • Как правило, несколько компьютеров совместно используют NAS; установка данных NAS и ПК как с одного устройства чрезмерно усложнит ситуацию, когда придет время восстанавливать данные

Если вы успешно связали любой NAS с SpiderOak, поделитесь, пожалуйста, здесь. Даже если это другой NAS, держу пари, что люди найдут его полезным. Если мы получим хорошие отзывы, я доведу этот ресурс до сведения поддержки SpiderOak

2 ответа2

2

Для настройки SpiderOak 6 на Synology NAS под управлением прошивки DSM 6

предисловие

Приведенные ниже шаги выполнялись на Synology DS216+ с DSM 6.0.2, но, вероятно, будут работать на других NAS с ОС Linux с небольшими изменениями. Используемая версия SpiderOak была 6.1.3

Я полагался на эту страницу и эту страницу в качестве отправной точки.

Некоторые вещи на заметку:

  • Эти инструкции действуют с ноября 2016 года.

  • Всякий раз, когда инструкции просят вас выполнить или запустить команду, они ссылаются на SSH (более подробная информация ниже). Все приведенные ниже команды SSH должны выполняться от имени пользователя root . Я предлагаю попытаться понять, что делает каждая команда, прежде чем запускать ее.

  • Пакеты, которые вы должны установить, зависят от архитектуры вашего процессора. Вы можете узнать это, выполнив dpkg --print-architecture в SSH.
  • Если вы знаете, почему шаг 26 ниже не удается или как это исправить, поделитесь, пожалуйста!

Включить SSH

  1. Войдите в DSM (панель мониторинга вашего NAS), перейдя по http:<NAS-IP-ADDRESS>
  2. В DSM откройте Control Panel >> Terminal & SNMP
  3. Установите Enable SSH service

SSH в ваш NAS

  1. Получить SSH-клиент (я использовал Putty SSH для Windows ; на Mac есть встроенный SSH-клиент: Терминал)
  2. Найдите IP-адрес вашей локальной сети NAS и порт SSH. IP виден в DSM на Control Panel >> Info Center >> Network tab . Порт SSH по умолчанию равен 22.
  3. Используйте IP и порт для подключения через SSH. Используйте кредиты для входа в DSM.
  4. В SSH выполните: sudo -i чтобы стать пользователем root. Вам нужно будет предоставить пароль администратора еще раз. Подробнее см. Этот FAQ

Установите Entware-ng (менеджер пакетов opkg)

  1. Из SSH следуйте этим инструкциям, чтобы установить менеджер пакетов opkg.
    а. Чтобы определить правильную версию для установки, запустите dpkg --print-architecture . Например, amd64 означает, что вам нужна 64-битная версия x86 .

    б. Инструкции, требующие редактирования файлов, можно выполнить с помощью редактора Vim. Например, чтобы отредактировать /etc/rc.local, запустите vi /etc/rc.local . Вот краткое введение в Vim

    с. Для прошивки DSM 6, когда в инструкциях Entware-ng вас попросят отредактировать /root/.profile, отредактируйте /etc /profile вместо

  2. Перезагрузите NAS, войдите в SSH и запустите sudo -i чтобы стать пользователем root.

  3. Запустите opkg install nano чтобы получить более простой текстовый редактор, чем Vim.

Установить SpiderOakOne

  1. Перейдите на сайт SpiderOak, чтобы получить URL-адрес установочного пакета, который соответствует вашему устройству. Мой NAS имеет 64-битный процессор, поэтому я выбрал Linux Debian 64-bit, и мой PACKAGE-URL https://spideroak.com/getbuild?platform=ubuntu&arch=x86_64
  2. Запустите: cd /root чтобы открыть корневой каталог
  3. Запустите: wget –output-document=spideroak.install.deb <YOUR-PACKAGE-URL> чтобы загрузить и сохранить пакет
  4. Как только вы заметите, что spideroak.install.deb был сохранен, нажмите Ctr+c чтобы вернуться к приглашению.
  5. Запустите: dpkg-deb -x spideroak.install.deb SpiderOakONE чтобы извлечь загруженные файлы в каталог /root /SpiderOakONE
  6. Запустите: rm spideroak.install.deb чтобы удалить загруженный пакет
  7. Запустите: mv SpiderOakONE /opt/SpiderOakONE чтобы переместить файлы программы в /opt
  8. Выполните: sed -i /opt/SpiderOakONE/usr/bin/SpiderOakONE -e s+/opt/SpiderOakONE+/opt/SpiderOakONE/opt/SpiderOakONE+ Это исправляет пути в скрипте запуска SpiderOak, указывающие на правильный путь из шага 17. Чтобы сделать это вручную, вместо этого откройте /opt /SpiderOakONE /usr /bin /SpiderOakONE и замените все экземпляры /opt /SpiderOakONE в файле на /opt /SpiderOakONE /opt /SpiderOakONE
  9. Если вы планируете выполнять резервное копирование большого количества данных, папка данных SpiderOak будет увеличиваться во время резервного копирования. В моем случае это заполнило системный раздел и помешало нормальной работе NAS. Чтобы это исправить, я переместил папку данных в общий раздел, где хранятся все мои данные: /volume1

    а. Запустите: mkdir /volume1/SpiderOakONE чтобы создать новый каталог данных. Замените /volume1 вашим общим разделом данных.

    б. Запустите: ln -s /volume1/SpiderOakONE/ /root/.config/SpiderOakONE чтобы создать символическую ссылку, чтобы доступ к старому / корневому каталогу автоматически перенаправлялся на новый

Добавить NAS в учетную запись SpiderOak

  1. Запустите: ln -s /opt/SpiderOakONE/usr/bin/SpiderOakONE /opt/bin/spideroak чтобы создать символическую ссылку, перенаправляющую /opt /bin /spideroak на реальный путь программы. Это позволяет нам запускать программу, просто вводя spideroak в SSH вместо того, чтобы вводить полный путь.
  2. Запустите: spideroak --help чтобы увидеть доступные опции. Если эта команда возвращает «команда не найдена», шаг 20 не сработал, как предполагалось. Вместо этого вы можете запустить программу, используя ее полный путь: /opt/SpiderOakONE/usr/bin/SpiderOakONE –-help .
  3. Запустите: spideroak --setup=- чтобы зарегистрировать свой NAS в службе. Вам понадобится ваше имя пользователя и пароль SpiderOak

Основные команды

  1. Запустите: spideroak --include-dir=<PATH> чтобы добавить каталог в резервный набор. Примером пути может быть /volume1/Pictures . Вместо этого можно использовать --exclude-dir=<PATH> чтобы исключить определенные каталоги. Если путь содержит пробелы, вы должны заключить его в двойные кавычки.
  2. Чтобы увидеть, что в данный момент выбрано для резервного копирования, запустите spideroak --selection ; запустить spideroak --reset-selection для сброса.
  3. Чтобы запустить задание резервного копирования, выполните: spideroak --batchmode Вы можете добавить --redirect=<FILE_PATH> если хотите создать файл журнала. Резервное копирование будет прервано, если ваше SSH-соединение будет разорвано (например, ваш компьютер переходит в режим ожидания), поэтому я предлагаю планировать резервное копирование в виде заданий cron самим NAS (см. Следующий раздел)

Настройте расписание резервного копирования

  1. DSM (веб-панель управления) позволяет запланировать регулярное выполнение задач в Control Panel >> Task Scheduler . Мы должны быть в состоянии использовать это для планирования регулярного резервного копирования с помощью команды, такой как spideroak --batchmode но даже если эта команда работает при запуске SSH от имени root, она завершается неудачно, когда планировщик задач пытается запустить ее от имени пользователя root. Я не знаю почему. Вместо этого я отредактировал crontab (расписание) вручную через SSH.
  2. Посмотрите, как редактировать crontab на вашем NAS. На моем, следующие 4 шага применяются:
  3. Системные запланированные задачи хранятся в файле /etc/crontab . Запустите cp /etc/crontab /etc/crontab.bak чтобы создать резервную копию. Если что-то пойдет не так с изменениями crontab позже, восстановите из рабочей резервной копии с помощью cp /etc/crontab.bak /etc/crontab
  4. Запустите: nano /etc/crontab чтобы открыть расписание для редактирования. Текстовый редактор Nano был установлен на шаге 10. Быстрый поиск в Интернете даст советы о том, как форматировать crontab . Например, чтобы запустить задание резервного копирования каждую ночь в 22:30, добавьте эту строку в файл:

30 22 * * * root spideroak --batchmode

Столбцы должны быть разделены табуляцией, а не пробелами. Если команда не выполняется, замените spideroak на полный путь (см. Шаг 21). Чтобы зарегистрировать результаты, добавьте аргумент --redirect=<FILEPATH> и Spideroak запишет журнал по этому пути.

  1. Если вы хотите просто проверить, работают ли вещи, не дожидаясь завершения длительного резервного копирования, замените --batchmode на более короткий процесс, такой как --selection и проверьте в журнале результаты
  2. Наконец, проверьте, сохранились ли ваши изменения при перезагрузке системы. Перезагрузите NAS, войдите в SSH, запустите sudo -i чтобы стать пользователем root, и nano /etc/crontab чтобы проверить расписание.

Вы сделали это!

Устранение неполадок и советы

  1. Если в SSH вы получаете сообщение об ошибке "команда не найдена" для команды, которая раньше работала, это может быть связано с тем, что /opt/bin или /opt/sbin отсутствуют в PATH:

    а. Запустите vi /etc/profile и отредактируйте раздел PATH файла (добавьте :/opt/bin:opt/sbin в конце строки PATH)

    б. Перезагрузите NAS

  2. Если вы запустите SpiderOak и получите «Аргументы командной строки, запрещенные во время установки нового пользователя», это, вероятно, связано с тем, что символическая ссылка, созданная на шаге 19.b, была уничтожена, поэтому Spideroak не может найти свою папку данных. Повторить 19.b.
  3. Если ваша установка повреждена, вы можете повторно инициализировать ваше устройство на сервере с помощью spideroak --setup=- . Это может занять некоторое время, потому что после установки программа немедленно выполнит резервное копирование, если это необходимо: мой NAS занял 12 часов.
  4. Мне пришлось один раз сбросить настройки к заводским настройкам NAS, и эта настройка была частично потеряна. Чтобы все заработало после сброса, мне пришлось повторить шаг 8.b, 19.b, 20, перезагрузить компьютер и заново создать задание cron (шаги с 26 по 31)
  5. Если команда SSH завершается с ошибкой о разрешениях, выполните whoami . Если результат не говорит "root", запустите sudo -i чтобы стать пользователем root (вам понадобится ваш пароль DSM)
0

Я создал решение для докеров:

https://hub.docker.com/r/jandebleser/spideroak/

https://github.com/jandebleser/spideroak

Основная проблема заключалась в том, что в приложении Docker на сервере Synology нельзя передавать аргументы командной строки.

Вы должны создать файл config.json с вашим именем пользователя, паролем и именем устройства. Смонтируйте этот файл и папку, которую вы хотите сделать резервную копию. Затем запустите контейнер, чтобы ничего не делать, установив переменную окружения SLEEP в значение "бесконечность". Затем перейдите на вкладку "Терминал", запустите команду bash и запустите

SpiderOakONE --setup=/config.json
SpiderOakONE --include-dir=/backup

Для нормальной работы установите переменную SLEEP в 0 и перезапустите.

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