Найти в Дзене

Seafile — резервное копирование и обслуживание

Обновил скрипты для резервного копирования Seafile. Seafile — это личное хранилище для хранения данных в стиле Dropbox. Seafile — замечательный инструмент для создания личного, семейного или корпоративного файлового хранилища. Не очень сложен в установке и настройке. Речь не только по резервное копирование, а про обслуживание Community версии вашего (и нашего) личного файлового хранилища. Периодически нужно не просто бэкапить данные, но и чистить мусор, проверять целостность, восстанавливать повреждённые библиотеки. Наш набор скриптов будет выполнять еженедельную операцию и осуществлять: В официальной документации по Seafile рекомендуется бэкапить две вещи: Исходя из этих требованию была написана первая версия скриптов для обслуживания: Seafile — резервное копирование Однако, файловая структура данных Seafile имеет свой блочный формат, использовать резервную копию этих данных можно только для восстановления той же версии Seafile. Использовать резервную копию просто для поиска в ней фай
Оглавление

Обновил скрипты для резервного копирования Seafile.

Seafile — это личное хранилище для хранения данных в стиле Dropbox. Seafile — замечательный инструмент для создания личного, семейного или корпоративного файлового хранилища. Не очень сложен в установке и настройке.

Речь не только по резервное копирование, а про обслуживание Community версии вашего (и нашего) личного файлового хранилища. Периодически нужно не просто бэкапить данные, но и чистить мусор, проверять целостность, восстанавливать повреждённые библиотеки.

Функции

Наш набор скриптов будет выполнять еженедельную операцию и осуществлять:

  • резервное копирование БД
  • резервное копирование файлов Seafile
  • запускать сборщик мусора
  • проверять целостность данных
  • восстанавливать повреждённые библиотеки

Способ резервного копирования

В официальной документации по Seafile рекомендуется бэкапить две вещи:

  • Базы данных
  • Файлы данных

Исходя из этих требованию была написана первая версия скриптов для обслуживания:

Seafile — резервное копирование

Однако, файловая структура данных Seafile имеет свой блочный формат, использовать резервную копию этих данных можно только для восстановления той же версии Seafile. Использовать резервную копию просто для поиска в ней файла достаточно сложно, придётся развернуть Seafile отдельно из резервной копии. Для переноса данных в какую-то другую систему данная резервная копия не подойдёт.

Естественно, у такого способа резервного копирования есть свои плюсы, например, бэкапится вся хранимая версионность файлов.

Но я использую Seafile только как файловое хранилище, поэтому версии мне не интересны, а интересны только файлы. Поэтому я решил сделать скрипт, который бэкапит не структуру данных Seafile, а именно содержимое. В случае сбоя просто разворачивается с нуля чистый Seafile и вручную загружаются в него данные. При этом даже БД не нужно бэкапить, но мы будем, на всякий случай.

Для этого используется  расширение FUSE. Необходимо его предварительно настройть.

Seafile — расширение FUSE

Seaf-fuse является реализацией виртуальной файловой системы FUSE. Этот скрипт монтирует всё содержимое Seafile в папку (которая называется "mount point"), так что мы получаем доступ ко всем файлам Seafile так же, как к обычной папке на сервере.

Примечание: доступ к зашифрованным папкам с помощью seaf-fuse не предоставляется. Соответственно, бэкапиться шифрованные библиотеки данным скриптом не будут.

Код

Основной скрипт bck.weekly.sh. Он запускается раз в неделю через cron по понедельникам:

0 4 * * Mon /opt/cron/bck.weekly.sh > /opt/cron/bck.weekly.log

Результаты выполнения скрипта логируются в /opt/cron/bck.weekly.log.

Это вспомогательный скрипт, который последовательно запускает два скрипта:

  • bck.seafile.sh — резервное копирование
  • mnt.seafile.sh — обслуживание
Резервное копирование осуществляется без остановки сервисов!Обслуживание осуществляется с остановкой сервисов!

Скрипты накидал на коленке, натуральный продукт, без GPT.

В Дзене редактора кода нет, поэтому скрипты здесь:

https://internet-lab.ru/seafile_backup2

Источник:

Seafile — резервное копирование 2 | internet-lab.ru

💰 Поддержать проект

Если вам понравилась статья, то ставьте 👍🏻 каналу.
Пишите комментарии, задавайте вопросы, подписывайтесь.