Backupservers start: различия между версиями

Материал из ALT Linux Wiki
(не показано 5 промежуточных версий этого же участника)
Строка 1: Строка 1:
{{Note|Обратите внимение, что это не официальная документация, а попытка начинающего админа объяснить материал начинающим админам.}}
{{stub}}
{{Attention|Страница в стадии вычитки и доработки!}}
{{Note|Обратите внимание, что это не официальная документация, а попытка начинающего админа объяснить материал начинающим админам.}}
 
=Утилиты для бэкапов=
=Утилиты для бэкапов=
==Burp==
==Burp==
Строка 80: Строка 83:
*'resume': просто продолжить предыдущее резервное копирование с того места, где оно было прервано.
*'resume': просто продолжить предыдущее резервное копирование с того места, где оно было прервано.


{{Note|Если клиент изменил параметры включения/исключения конфигурации, поскольку резервное копирование было прервано, метод восстановления автоматически переключится на «удалить».}}
{{Note|Если клиент изменил параметры включения/исключения конфигурации, поскольку резервное копирование было прервано, метод восстановления автоматически переключится на «delete».}}


{{Note|Также обратите внимание, что если резервное копирование было прервано на этапе 1 (сканирование файловой системы), метод восстановления автоматически переключится на «удаление».}}
{{Note|Также обратите внимание, что если резервное копирование было прервано на этапе 1 (сканирование файловой системы), метод восстановления автоматически переключится на «delete».}}


Вариант 'delete' — самый безопасный (а также вариант по умолчанию), поскольку это означает, что весь процесс резервного копирования должен продолжаться непрерывно, чтобы резервное копирование могло быть выполнено полностью.
Вариант 'delete' — самый безопасный (а также вариант по умолчанию), поскольку это означает, что весь процесс резервного копирования должен продолжаться непрерывно, чтобы резервное копирование могло быть выполнено полностью.
Строка 99: Строка 102:
===Восстановление===
===Восстановление===
https://burp.grke.org/docs/restoring.html
https://burp.grke.org/docs/restoring.html
Вот несколько примеров того, как вы могли бы подумать о восстановлении. Некоторый посторонний вывод был вырезан, для ясности.
На стороне клиента перечислите свои доступные резервные копии:
$ burp -a l
Backup: 0000001 2018-01-26 10:47:26 +0000 (deletable)
Backup: 0000002 2018-01-26 10:48:13 +0000
Backup: 0000003 2018-01-27 01:30:42 +0000
Backup: 0000004 2018-01-27 01:30:55 +0000
Доступно четыре резервных копиии. Давайте посмотрим на содержимое резервной копии 3:
$ burp -a l -b 3
Backup: 0000003 2018-01-27 01:30:42 +0000
/home/graham/testdir/mydir1
/home/graham/testdir/mydir1/B17689730947800001.pdf
/home/graham/testdir/mydir1/Invoice INV-8453.pdf
/home/graham/testdir/mydir1/On The Run 2017-05-13.mp3
/home/graham/testdir/mydir1/On the run 2016-11-26.mp3
/home/graham/testdir/mydir1/Red Pill 2016-11-26.mp3
/home/graham/testdir/mydir1/cswdcd07.mp3
/home/graham/testdir/mydir1/cswdcd12.mp3
/home/graham/testdir/mydir2
/home/graham/testdir/mydir2/1195.pdf
/home/graham/testdir/mydir2/1199.txt
/home/graham/testdir/mydir2/1200.x
Чтобы вернуть все эти файлы в их исходное местоположение, просто измените «l» в предыдущей команде на «r». Для меня это создает много предупреждений, потому что исходные файлы все еще существуют в их исходных местах. '-d' тоже требуется, потому что вам нужно указать для burp целевой каталог для восстановления:
$ burp -a r -b 3 -d /
2018-01-27 01:33:25 +0000: burp[5917] WARNING: Path exists: /home/graham/testdir/mydir1/B17689730947800001.pdf
2018-01-27 01:33:25 +0000: burp[5917] WARNING: Path exists: /home/graham/testdir/mydir1/Invoice INV-8453.pdf
...etc...
Вместо этого я могу добавить «-f», чтобы заставить перезаписывать любые существующие файлы и не получить любые предупреждения в дальнейшем:
$ burp -a r -b 3 -d / -f
...
Итак, возможно, вы хотите восстановить файлы в другое место. Просто добавьте свой путь с опцией «-d». Burp создаст каталог, если его не существует:
$ burp -a r -b 3 -d /tmp/restore
...
После запуска вышеупомянутой команды и просмотра /tmp/restore вы обнаружите, что сохранена вся оригинальная структура каталогов. Например:
$ ls -l /tmp/restore/home/graham/testdir/mydir1/cswdcd07.mp3
-rw-r--r-- 1 graham graham 36402567 Jan 18 11:05 /tmp/restore/home/graham/testdir/mydir1/cswdcd07.mp3
Так что, может быть, вы хотите убрать некоторые из оригинальных ведущих каталогов с опцией «-s». Мы уберем '/home/graham/':
$ burp -a r -b 3 -d /tmp/restore -s 3
...
$ ls -l /tmp/restore/testdir/mydir1/cswdcd07.mp3
-rw-r--r-- 1 graham graham 36402567 Jan 18 11:05 /tmp/restore/testdir/mydir1/cswdcd07.mp3
Теперь, возможно, вы хотите восстановить только данные в «MyDir2». Вы можете использовать регулярное выражение, чтобы соответствовать желаемым путям. Сначала я рекомендую составить список, чтобы увидеть, что ваше выражение работает как ожидалось:
$ burp -a l -b 3 -r mydir2
Backup: 0000003 2018-01-27 01:30:42 +0000
With regex: mydir2
/home/graham/testdir/mydir2
/home/graham/testdir/mydir2/1195.pdf
/home/graham/testdir/mydir2/1199.txt
/home/graham/testdir/mydir2/1200.x
Для меня это выглядит нормально, так что просто измените «l» на «r» и укажите целевой каталог.
$ burp -a r -b 3 -r mydir2 -d /
...
Конечно, файлы снова восстановится в исходном месте, так что вы можете указать опцию «-d» и снова добавить опцию «-s»:
$ burp -a r -b 3 -r mydir2 -d /tmp/restore -s 3
...
Что если вы просто хотите восстановить один файл?
Ну, просто используйте регулярное выражение, которое соответствует вашему отдельному файлу.
$ burp -a l -b 3 -r /home/graham/testdir/mydir2/1195.pdf -d /
...
$ burp -a r -b 3 -r /home/graham/testdir/mydir2/1195.pdf -d /
...
Поскольку у меня есть только один путь, который содержит 1195.pdf, я мог бы использовать гораздо более короткое регулярное выражение. Например:
$ burp -a l -b 3 -r 1195.pdf -d /
...
$ burp -a r -b 3 -r 1195.pdf -d /
...


==fwbackups==
==fwbackups==
Строка 118: Строка 213:
===Установка===
===Установка===
{{todo|Будет описано после исправления бага и бэкпорта в P10/P11}}
{{todo|Будет описано после исправления бага и бэкпорта в P10/P11}}
==Источники==
*[https://burp.grke.org/docs.html burp.grke.org]
{{Category navigation|title=Начинающему системному администратору|category=Начинающему системному администратору|sortkey={{SUBPAGENAME}}}}
{{Category navigation|title=Начинающему системному администратору|category=Начинающему системному администратору|sortkey={{SUBPAGENAME}}}}

Версия от 23:41, 22 ноября 2024

Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.
Внимание! Страница в стадии вычитки и доработки!
Примечание: Обратите внимание, что это не официальная документация, а попытка начинающего админа объяснить материал начинающим админам.


Утилиты для бэкапов

Burp

Burp - клиент-серверная программа для резервного копирования. Есть центральный сервер для хранения копий и клиенты, которые к нему подключаются и копируют на него информацию.

Установка

# apt-get install burp

Запуск серверной части

# systemctl enable --now burp-server.service

Настройки

При обычной настройке файл конфигурации сервера будет находится /etc/burp/burp-server.conf, а файлы конфигурации, специфичные для клиента, будут находиться в каталоге /etc/burp/clientconfdir.

Многие глобальные параметры, установленные в burp-server.conf, могут быть переопределены для каждого клиента через файлы /etc/burp/clientconfdir.

Добавление нового клиента

На сервере

Каждый клиент должен быть представлен на сервере в каталоге /etc/burp/clientconfdir.

Итак, чтобы добавить клиент с именем 'data_store', вам нужно создать на сервере файл /etc/burp/clientconfdir/data_store, который должен содержать как минимум такую ​​строку (если вы не используете пароль, пропишите опцию password_check = 0):

password = abcedfgh

На клиенте

Теперь вам нужно установить burp на клиенте и отредактировать клиентский файл burp.conf.

Чтобы:

  • строка «cname» соответствует имени файла clientconfdir на сервере
  • строка «password» соответствует содержимому файла clientconfdir
  • строка "server" должна содержать адрес сервера.

В нашем примере эти три строки будут выглядеть так:

cname = data_store
password = abcdefgh
server= 1.2.3.4

При первом подключении нового клиента к серверу он выполнит обмен SSL-сертификатами.

Добавление задания по времени

Для планирования задания по времени используйте cron или systemd-timers.

Отключение клиента

Чтобы помешать клиенту успешно взаимодействовать с сервером, вам следует переместить файл /etc/burp/clientconfdir/<client> в другое место. Клиент, если он еще существует, будет продолжать попытки подключения.

Например:

# mv /etc/burp/clientconfdir/<клиент> /etc/burp/clientconfdir/<клиент>.disable

Тем не менее, это не остановит клиента, пытающегося подключиться к серверу на основе его задания. Если вы все еще можете получить доступ к клиенту, я бы порекомендовал отключить задание.

Рабочий каталог и методы восстановления

Во время резервного копирования сервер создает каталог в области хранения клиента с номером и меткой времени.

Например:

/var/spool/burp/<клиент>/0000027 12.04.2015 01:24:29

На этапах резервного копирования 1 (сканирование файловой системы) и 2 (отправка фактических данных) будет указана символьная ссылкоа, указывающая на каталог под названием «working»:

/var/spool/burp/<клиент>/working -> 0000027 12.04.2015 01:24:29

На этапах резервного копирования 3 (генерация манифеста) и 4 (перетасовка) символьная ссылка будет переименована в «finishing»:

/var/spool/burp/<клиент>/finishing -> 0000027 12.04.2015 01:24:29

Когда резервное копирование будет завершено, символьная ссылка будет переименована в «current»:

/var/spool/burp/<клиент>/current -> 0000027 12.04.2015 01:24:29

Если во время резервного копирования произошла какая-либо ошибка и резервное копирование было прервано, сервер Burp должен решить, что будет дальше. Поведение того, что произойдет дальше, запускается в следующий раз, когда клиент связывается с сервером.

Если в результате прерывания осталась символьная ссылка «finishing», сервер попытается продолжить и завершить резервное копирование. Часть 4-го этапа может включать операции которые изменяют непосредственно предыдущую резервную копию (возможно, потребуется преобразовать файлы в обратные дельты), поэтому, как только она «заканчивается», Burp может только попытаться продолжить выполнение. Обратите внимание: когда резервное копирование завершается, больше никаких данных от клиента не требуется.

Если в результате прерывания осталась символическая ссылка «working», сервер проверит опцию «working_dir_recovery_method», позволяющую решить, что делать дальше.

Есть два варианта:

  • 'delete': просто удалить старый рабочий каталог.
  • 'resume': просто продолжить предыдущее резервное копирование с того места, где оно было прервано.
Примечание: Если клиент изменил параметры включения/исключения конфигурации, поскольку резервное копирование было прервано, метод восстановления автоматически переключится на «delete».


Примечание: Также обратите внимание, что если резервное копирование было прервано на этапе 1 (сканирование файловой системы), метод восстановления автоматически переключится на «delete».


Вариант 'delete' — самый безопасный (а также вариант по умолчанию), поскольку это означает, что весь процесс резервного копирования должен продолжаться непрерывно, чтобы резервное копирование могло быть выполнено полностью.

Если вы хотите выполнить восстановление Windows на «голое железо», вам следует выбрать этот вариант, чтобы не получить смесь файлов из различных снимков VSS.

Для 'resume' burp будет использовать исходный клиентский файл рабочего каталога для сканирования системы, чтобы запросить оставшиеся файлы, которые ему необходимы для завершения резервной копии.

Если вы используете Windows (или какую-либо другую ОС, которая аналогичным образом создает доступные для просмотра снимки файловой системы для резервного копирования), это будет означать, что файлы будут скопированы из более чем одного снимка, поэтому восстановление будет несогласованным, если вы планируете восстановление на голое железо.

Кроме того, в коде 'resume' иногда обнаруживаются ошибки, которые можно избежать, если вы используете 'delete'. Разработчик для своих резервных копий использует 'resume', и у него не возникло никаких проблем.

У некоторых людей много данных, и им требуется дополнительная помощь при завершении первоначального резервного копирования. Они могут использовать «resume» до тех пор, пока не будет получена первоначальная резервная копия, и после этого переключиться на «delete».

Восстановление

https://burp.grke.org/docs/restoring.html

Вот несколько примеров того, как вы могли бы подумать о восстановлении. Некоторый посторонний вывод был вырезан, для ясности.

На стороне клиента перечислите свои доступные резервные копии:

$ burp -a l
Backup: 0000001 2018-01-26 10:47:26 +0000 (deletable)
Backup: 0000002 2018-01-26 10:48:13 +0000
Backup: 0000003 2018-01-27 01:30:42 +0000
Backup: 0000004 2018-01-27 01:30:55 +0000

Доступно четыре резервных копиии. Давайте посмотрим на содержимое резервной копии 3:

$ burp -a l -b 3
Backup: 0000003 2018-01-27 01:30:42 +0000
/home/graham/testdir/mydir1
/home/graham/testdir/mydir1/B17689730947800001.pdf
/home/graham/testdir/mydir1/Invoice INV-8453.pdf
/home/graham/testdir/mydir1/On The Run 2017-05-13.mp3
/home/graham/testdir/mydir1/On the run 2016-11-26.mp3
/home/graham/testdir/mydir1/Red Pill 2016-11-26.mp3
/home/graham/testdir/mydir1/cswdcd07.mp3
/home/graham/testdir/mydir1/cswdcd12.mp3
/home/graham/testdir/mydir2
/home/graham/testdir/mydir2/1195.pdf
/home/graham/testdir/mydir2/1199.txt
/home/graham/testdir/mydir2/1200.x


Чтобы вернуть все эти файлы в их исходное местоположение, просто измените «l» в предыдущей команде на «r». Для меня это создает много предупреждений, потому что исходные файлы все еще существуют в их исходных местах. '-d' тоже требуется, потому что вам нужно указать для burp целевой каталог для восстановления:

$ burp -a r -b 3 -d /
2018-01-27 01:33:25 +0000: burp[5917] WARNING: Path exists: /home/graham/testdir/mydir1/B17689730947800001.pdf
2018-01-27 01:33:25 +0000: burp[5917] WARNING: Path exists: /home/graham/testdir/mydir1/Invoice INV-8453.pdf
...etc...

Вместо этого я могу добавить «-f», чтобы заставить перезаписывать любые существующие файлы и не получить любые предупреждения в дальнейшем:

$ burp -a r -b 3 -d / -f
...

Итак, возможно, вы хотите восстановить файлы в другое место. Просто добавьте свой путь с опцией «-d». Burp создаст каталог, если его не существует:

$ burp -a r -b 3 -d /tmp/restore
...

После запуска вышеупомянутой команды и просмотра /tmp/restore вы обнаружите, что сохранена вся оригинальная структура каталогов. Например:

$ ls -l /tmp/restore/home/graham/testdir/mydir1/cswdcd07.mp3
-rw-r--r-- 1 graham graham 36402567 Jan 18 11:05 /tmp/restore/home/graham/testdir/mydir1/cswdcd07.mp3

Так что, может быть, вы хотите убрать некоторые из оригинальных ведущих каталогов с опцией «-s». Мы уберем '/home/graham/':

$ burp -a r -b 3 -d /tmp/restore -s 3
...
$ ls -l /tmp/restore/testdir/mydir1/cswdcd07.mp3
-rw-r--r-- 1 graham graham 36402567 Jan 18 11:05 /tmp/restore/testdir/mydir1/cswdcd07.mp3


Теперь, возможно, вы хотите восстановить только данные в «MyDir2». Вы можете использовать регулярное выражение, чтобы соответствовать желаемым путям. Сначала я рекомендую составить список, чтобы увидеть, что ваше выражение работает как ожидалось:

$ burp -a l -b 3 -r mydir2
Backup: 0000003 2018-01-27 01:30:42 +0000
With regex: mydir2
/home/graham/testdir/mydir2
/home/graham/testdir/mydir2/1195.pdf
/home/graham/testdir/mydir2/1199.txt
/home/graham/testdir/mydir2/1200.x

Для меня это выглядит нормально, так что просто измените «l» на «r» и укажите целевой каталог.

$ burp -a r -b 3 -r mydir2 -d /
...

Конечно, файлы снова восстановится в исходном месте, так что вы можете указать опцию «-d» и снова добавить опцию «-s»:

$ burp -a r -b 3 -r mydir2 -d /tmp/restore -s 3
...

Что если вы просто хотите восстановить один файл?

Ну, просто используйте регулярное выражение, которое соответствует вашему отдельному файлу.

$ burp -a l -b 3 -r /home/graham/testdir/mydir2/1195.pdf -d /
...
$ burp -a r -b 3 -r /home/graham/testdir/mydir2/1195.pdf -d /
...

Поскольку у меня есть только один путь, который содержит 1195.pdf, я мог бы использовать гораздо более короткое регулярное выражение. Например:

$ burp -a l -b 3 -r 1195.pdf -d /
...
$ burp -a r -b 3 -r 1195.pdf -d /
...

fwbackups

Примечание: Программа пока доступна только в Сизифе и пока работает некорректно - altbug #44702

Fwbackups.png

Fwbackups - GUI утилита для резервного копирования файлов по SSH.

Особенности:

  • доступна любому пользователю (без root-прав)
  • может выполнять резервное копирование по автоматическому расписанию или ручному запуску
  • Для резервного копирования настраиваются "наборы" - "sets" ("сеты"), в которых пользователь указывает необходимые файлы и каталоги
  • Копирование может выполняться в локальную папку или на SSH сервер
    • Для SSH-сервера указываются - хост, порт, имя пользователя, пароль, каталог. Есть возможность протестировать соединение.
  • прямое копирование или с сжатием в архив (есть возможность создать архив с двумя параметрами "время" (меньшая скорость создания)/"качество" (лучшее качество сжатия))
  • количество архивных копий для сохранения (если указать 0, резервные копии будут создаваться каждый раз, если указать другое число - будет создано указанное количество дополнительных копий)
  • команды, выполняемые до и после копирования (можно указать команды выполняемые до и после запуска команды копирования)
  • настройка времени запуска копирования (время запуска указывается опциональными критериями или по шаблону CRON)

Установка

TODO:
Будет описано после исправления бага и бэкпорта в P10/P11

Источники