Различия

Показаны различия между двумя версиями страницы.


Предыдущая версия
dropbox [2025/07/06 12:38] (текущий) – внешнее изменение 127.0.0.1
Строка 1: Строка 1:
 +====== Резервные копии в облачном хранилище Dropbox из консоли Linux, BSD ======
 +{{htmlmetatags>
 +metatag-description=(Использование bash клиента и API Dropbox для синхронизации резервный копий Linux, BSD, FreeBSD 8.3/10.0, MacOSX, Windows/Cygwin, Raspberry Pi, QNAP, iOS, OpenWRT, Chrome OS, OpenBSD, Termux)
 +}}
  
 +[[https://to.dieg.info/dropbox|{{ ::dropbox_besplatnyj_tarif.jpg?nolink&600 |}}]]
 +
 +Облачный сервис Dropbox безусловно открывает все свои возможности при совместной групповой работе. Dropbox позволяет не использовать [[VPN|VPN]] для защиты данных и отказаться от [[FTP|FTP]] серверов. Dropbox шифрует сетевой трафик с помощью протокола SSL/TLS и использует 256-битное AES-шифрование для хранения и защиты ваших данных от угроз информационной безопасности.
 +
 +В этом руководстве упор сделан на повседневное использование [[https://to.dieg.info/dropbox|бесплатного тарифа Dropbox Basic]] или тарифа Plus для одного пользователя, в таких средах как GNU Linux, FreeBSD 8.3/10.0, MacOSX, Windows/Cygwin, Raspberry Pi, QNAP, iOS, [[OpenWRT|OpenWRT]], Chrome OS, OpenBSD, Termux.
 +
 +
 +Достоинства Dropbox:
 +
 +  * Чрезвычайно прост в работе, практически не требует обучения.
 +  * Поддерживает любой тип файлов.
 +  * Позволяет работать с большим количеством файлов и папок одновременно.
 +  * Устанавливается на любую операционную систему.
 +  * Бесплатный плагин для браузеров **Dropbox Passwords** для безопасного хранения паролей.
 +  * Поддерживает публикацию файлов в интернет.
 +  * Поддерживает автоматическое обновление данных в интернет при обновлении на локальном компьютере.
 +  * Поддерживает совместную работу нескольких пользователей. При изменении файлов одним пользователем, эти файлы у остальных изменяются автоматически, при этом появляется сообщение об обновлении.
 +  * Поддерживается контроль версий и возможность возврата к предыдущим.
 +  * Бесплатно предоставляются 2 ГБ пространства на тарифном плане [[https://to.dieg.info/dropbox|Dropbox Basic]].
 +  * **Dropbox Vault** (платная) — это функция, с помощью которой можно создать в Dropbox место с дополнительным уровнем безопасности для ваших самых важных файлов, а потом поделиться этими файлами с доверенными контактами. Такое место называется «сейф», оно располагается в вашем аккаунте Dropbox и защищается цифровым паролем или PIN-кодом. Доступа к сейфу нет ни у каких сторонних приложений.
 +
 +===== Примеры использования синхронизации Dropbox  =====
 +Что можно синхронизировать в Dropbox, вариантов множество от загрузки проектов в продекшн, до скачивания торрентов
 +  * Логи ICQ и других мессенджеров
 +  * Профили [[Firefox|Firefox]].
 +  * Можно расшарить например верстку сайта в Public и она будет отлично открываться через веб. Удобно и не требует установки веб-сервера :)
 +  * **Удаленная загрузка torrent Dropbox.** Еще одна супер интересная фишка (для меня) — удаленная загрузка торент-файлов: Создаем папку, например: «torrents» и, находясь на работе, складываем туда файлы с расширением .torrents, а на домашнем компе настраиваем µTorrent так, чтобы следил за этой папкой, и при появлении новых данных сразу их скачивал! Приходите с работы домой, а там уже скачанные файлы вас дожидаются! =) Отличный сервис!
 +
 +===== Шаг 1: Начало работы c Dropbox =====
 +
 +  - Заходим на сайт по ссылке для бесплатного тарифа [[https://to.dieg.info/dropbox|Dropbox Basic]], это позволит вам получить дополнительные бесплатный 500 МБ дискового пространства.
 +  - Устанавливаем программное обеспечение.
 +  - При первом запуске предлагается регистрация и создание рабочей области — соглашаемся, создаем аккаунт. У нас появляется локальная корневая папка Dropbox.
 +  - В любом файловом навигаторе (Проводник, Total Comander) копируем файлы для публикации, передачи или совместной работы. Структура папок в интернет полностью повторяет локальную
 +  - Устанавливаем дополнительные свойства папок, если требуется. Есть возможность предоставлять совместный доступ другим пользователям (на папки, не на отдельные файлы). В контекстном меню файлового навигатора появляется пункт Dropbox, включающий список дополнительных действий с папками и файлами
 +  - При необходимости. Устанавливаем Dropbox на другом компьютере, указываем существующий аккаунт и получаем актуальную копию рабочей области. Синхронизация происходит автоматически
 +
 +===== Шаг 2: Постановка задачи  =====
 +Зачастую владельцы или веб-разработчики какого-либо ресурса, не задумываются, что при нехватке места на виртуальной машине или контейнере, можно воспользоваться облачными хранилищами. Я для бэкапов выбрал Dropbox из-за удобства настройки. Подобное можно сделать в таких сервисах как Google Диск, Microsoft OneDrive или Яндекс.Диск, но там есть свои нюансы и на мой взгляд подключение более сложное и написание скриптов не прозрачно, особенно в Google Диск.
 +
 +Если используется [[paneli_upravlenija_xostingom|панель управления хостингом]], например ISPManager, [[hestia|Hestia]], тогда функции резервного копирования могут быть реализованы средствами самой панели. В этом мануале рассмотрим случай, когда панель на сервере не используется или по каким-то причинам резервные копии необходимо делать другим способом. В нашем примере мы реализуем следующую схему — создание резервных копий каталогов с вебсайтами, баз данных и их загрузка на сервис Dropbox.
 +
 +Я рекомендую [[https://to.dieg.info/dropbox|создать отдельный аккаунт Dropbox]] для хранения резервных копий.
 +
 +===== Шаг 3: Установка Dropbox на компьютер без монитора через командную строку =====
 +
 +На [[dropbox#shag_1nachalo_raboty_c_dropbox|Шаг 1]] вы зарегистрировали аккаунт Dropbox. 
 +==== Шаг 3.1: Установка и настройка официального клиента Dropbox ====
 +Теперь загрузим и установим официальный клиент dropbox на наш сервер Linux. Для написания руководства используется Ubuntu 22.04 LTS Jammy, но вы можете использовать CentOS и у вас не возникнет проблем.
 +<alert type="warning">
 +Перечитайте верхнюю строку, я написал, что "у вас не возникнет проблем"=) У вас возникнут проблемы!!8-):-D
 +
 +Цитата "Демон Dropbox отлично работает на 32-разрядных и 64-разрядных серверах Linux". Отлично от чего?
 +</alert>
 +Значит, чтобы установить официальный клиент, в терминале Linux запустите команду.
 +
 +32-бит:
 +<file bash>
 +cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86" | tar xzf -
 +</file>
 +
 +64-бит:
 +<file bash>
 +wget -O - "http://www.dropbox.com/download/?plat=lnx.x86_64" | tar xvzf - -C /root
 +</file>
 +После выполнения этой команды система создаст новую скрытую папку под названием .dropbox-dist, в моем случае /root/.dropbox-dist.
 +
 +После этого запустите демон Dropbox из вновь созданной папки .dropbox-dist.
 +<file bash>
 +~/.dropbox-dist/dropboxd
 +</file>
 +Вам выведет сообщение: Этот компьютер не подсоединен к аккаунту Dropbox, Чтобы подсоединить этот компьютер, перейдите по ссылке. Скопируйте указанную ссылку в буфер и откройте ее в броузере. При необходимости — авторизуйтесь на сайте Dropbox. Сразу после этого скрипт сообщит Вам об успешной привязке сервера к вашему dropbox-аккаунту.
 +
 +Нажмем Ctrl-C и приступим к настройке клиента Dropbox. Для начала обеспечим запуск dropboxd при загрузке системы. Это сделать проще всего с помощью планировщика — запустим [[cron|crontab]] -uroot -e и вставим сточку:
 +
 +<file bash>
 +@reboot $HOME/.dropbox-dist/dropboxd
 +</file>
 +
 +После этого с помощью символьной ссылки укажем клиенту dropbox расположение файлов с резервными копиями:
 +<file bash>
 +ln -s /var/backup-manager /root/Dropbox/backup
 +</file>
 +
 +На этом настройка окончена. Перезагрузим сервер, dropbox-клиент автоматически запуститься.
 +
 +На этом настройка нашей системы резервного копирования завершена. Буквально через несколько минут в облачное хранилище будут загружены резервные копии наших данных и к ним в любой момент можно будет получить доступ.
 +
 +**Заключение:** Разработчики официального клиента Dropbox хотели как лучше, но получилось как всегда! FIXME Думаю на десктоп системах он работает хорошо, но как для серверной версии слишком много требует зависимостей и танцев с бубном.
 +==== Шаг 3.2: (Рекомендую!) BASH клиент Dropbox Uploader и API Dropbox ====
 +
 +Но это же Linux и значит всегда есть альтернатива. Рекомендую для работы с сервисом Dropbox использовать bash клиента [[https://github.com/andreafabrizi/Dropbox-Uploader|andreafabrizi/Dropbox-Uploader]] и API Dropbox.
 +
 +Если вам нужно получить доступ к Dropbox с вашего сервера или с небольшого устройства, такого как Raspberry Pi, которое не позволяет вам установить клиент Dropbox, лучшим решением будет возможность управлять своей учетной записью Dropbox прямо с терминала.
 +
 +Dropbox Uploader - это сценарий [[BASH|BASH]], который можно использовать для загрузки, скачивания, вывода списка или удаления файлов из Dropbox. Он хорош тем, что не требует ввода имени пользователя и пароля Dropbox. Он использует API Dropbox для подключения к вашей учетной записи Dropbox, чтобы вы могли передавать файлы, не беспокоясь об утечке пароля.
 +<alert type="info">Dropbox Uploader тестировался в таких средах GNU Linux, FreeBSD 8.3/10.0, MacOSX, Windows/Cygwin, Raspberry Pi, QNAP, iOS, OpenWRT, Chrome OS, OpenBSD Termux.</alert>
 +
 +Для работы Dropbox Uploader необходим только Bash. Скачиваем, задаем права для запуска:
 +<file bash>
 +curl "https://raw.githubusercontent.com/andreafabrizi/Dropbox-Uploader/master/dropbox_uploader.sh" -o dropbox_uploader.sh
 +
 +chmod +x dropbox_uploader.sh
 +mv dropbox_uploader.sh /usr/local/bin/dropbox_uploader
 +</file>
 +
 +При первом запуске dropbox_uploader будет запущен мастер, чтобы настроить доступ к вашему Dropbox. Эта конфигурация будет храниться в ~/.dropbox_uploader. Мастер настройки понятен и не вызывает вопросов:
 +  - Перейдите на сайт разработчика Dropbox и создайте приложение.
 +  - Задайте нужны права
 +  - Вернувшись в терминал, введите ключ и секрет приложения.
 +  - Перейдите по ссылке авторизации Dropbox, чтобы предоставить Dropbox Uploader разрешение на доступ к вашей учетной записи Dropbox.
 +
 +Выполнив 3 этих шага вы сможете управлять своим Dropbox в терминале при помощи Dropbox Uploader.
 +
 +===== Шаг 4: Использование BASH клиент Dropbox Uploader  =====
 +С Dropbox Uploader можно использовать 10 команд:
 +
 +  * загрузить / upload <LOCAL_FILE/DIR ...> <REMOTE_FILE/DIR>
 +  * скачать / download <REMOTE_FILE/DIR> [LOCAL_FILE/DIR]
 +  * удалить / delete
 +  * move - переместить или переименовать удаленный файл или каталог
 +  * копировать / copy
 +  * mkdir - создание удаленного каталог в Dropbox
 +  * list - cписок содержимого удаленной папки Dropbox
 +<file bash>
 +dropbox_uploader list
 + > Listing "/"... DONE
 + [D]  2022_06_21
 +</file>
 +  * monitor [REMOTE_DIR] [TIMEOUT] Следите за изменениями в удаленной папке Dropbox.
 +  * share <REMOTE_FILE> Получить общедоступную ссылку для указанного файла или каталога
 +  * saveurl <URL> <REMOTE_DIR> Загрузите файл с URL-адреса в папку Dropbox напрямую (файл НЕ загружается локально)
 +  * search <QUERY> Выполните поиск Dropbox и получите список соответствующих файлов или каталогов.
 +  * info - Вывести информацию о вашей учетной записи Dropbox
 +  * space - Вывести информацию об использовании места в вашей учетной записи Dropbox
 +<file bash>
 + dropbox_uploader space
 +Quota:  2304 Mb
 +Used:   517 Mb
 +Free:   1786 Mb
 +</file>
 +  * unlink - Отвязать скрипт от вашего аккаунта Dropbox
 +
 +Примеры запуска скрипта Dropbox Uploader:
 +
 +  * Чтобы загрузить файл / папку, используйте синтаксис:
 +<file bash>
 +dropbox_uploader upload /filepath/to/file-or-folder /filepath/in/dropbox
 +</file> Если "путь к файлу / в / dropbox" опущен, файл(ы) будут загружены на самый верхний уровень вашей учетной записи Dropbox.
 +  * Перечислить все файлы в папке в вашей учетной записи Dropbox
 +<file bash>
 +dropbox_uploader list /filepath/to/folder/in/Dropbox
 +</file>
 +  * Получить общедоступную ссылку на определенный файл в Dropbox
 +<file bash>
 +dropbox_uploader share /filepath/to/file/in/Dropbox
 +</file>
 +<file bash>
 + ./dropbox_uploader.sh upload /etc/passwd /myfiles/passwd.old
 + ./dropbox_uploader.sh upload *.zip /
 + ./dropbox_uploader.sh -x .git upload ./project /
 + ./dropbox_uploader.sh download /backup.zip
 + ./dropbox_uploader.sh delete /backup.zip
 + ./dropbox_uploader.sh mkdir /myDir/
 + ./dropbox_uploader.sh upload "My File.txt" "My File 2.txt"
 + ./dropbox_uploader.sh share "My File.txt"
 +</file>
 +
 +===== Заключение =====
 +Dropbox Uploader предоставляет удобный способ получить доступ к своей учетной записи Dropbox и управлять ею прямо из консоли. В сочетании с [[skript_rezervnogo_kopirovaniya_sayta_na_virtualnom_khostinge_pri_pomoshchi_protokola_ftp|простым сценарием резервного копирования]] и заданием [[cron|cron]] вы можете легко автоматизировать резервное копирование сервера в Dropbox.
 +===== FAQ 1: Как очищать историю изменений в Dropbox? =====
 +Удалить файл (как вариант перенести в другую папку), потом через Web interface включив режим отображения удалённых файлов, в меню файла выбрать Purge.
 +
 +<panel type="primary" title="Читайте также">
 +  * [[po_dlja_rezervnogo_kopirovanija]]
 +  * [[rclone]]
 +</panel>

📌 Удобный подбор VPS по параметрам доступен на DIEGfinder.com - официальном инструменте проекта DIEG. Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти подходящий VPS/VDS сервер для любых задач хостинга.

📌 Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок. Подробнее о быстрой аренде VPS для экспериментов - читайте здесь.

💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!