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

Материал из ALT Linux Wiki
Нет описания правки
 
(не показано 35 промежуточных версий 2 участников)
Строка 1: Строка 1:
{{Note|Обратите внимение, что это не официальная документация, а попытка начинающего админа объяснить материал начинающим админам.}}
{{Note|Обратите внимание, что это не официальная документация, а попытка начинающего админа объяснить материал начинающим админам.}}
 
=Утилиты для бэкапов=
=Утилиты для бэкапов=
==Burp==
==Burp==
Burp - клиент-серверная программа для резервного копирования. Есть центральный сервер для хранения копий и клиенты, которые к нему подключаются и копируют на него информацию.
Burp - клиент-серверная программа для резервного копирования. Есть центральный сервер для хранения копий и клиенты, которые к нему подключаются и копируют на него информацию.
===Установка===
 
===Серверная часть===
====Установка====
Установка системы:
  # apt-get install burp
  # apt-get install burp
====Настройка====
Для настройки сервера отредактируйте следующий файл:
# mcedit /etc/burp/burp-server.conf
<!-- Вас могут заинтересовать такие параметры как:
*{{path|listen = 0.0.0.0:4971}} - порт сервреа -->


===Запуск серверной части===
====Запуск серверной части====
  # systemctl enable --now burp-server.service
  # systemctl enable --now burp-server.service
===Настройки===
При обычной настройке файл конфигурации сервера будет находится {{path|/etc/burp/burp-server.conf}}, а файлы конфигурации, специфичные для клиента, будут находиться в каталоге {{path|/etc/burp/clientconfdir}}.
Многие глобальные параметры, установленные в {{path|burp-server.conf}}, могут быть переопределены для каждого клиента через файлы /etc/burp/clientconfdir.


====Добавление нового клиента====
====Добавление нового клиента====
=====На сервере=====
{{Note|Тут запомните имя клиента, которого мы прописываем. В данном примере, '''data_store'''}}
Каждый клиент должен быть представлен на сервере в каталоге {{path|/etc/burp/clientconfdir}}.
Каждый клиент должен быть представлен на сервере в каталоге {{path|/etc/burp/clientconfdir}}.


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


{{cmd|<nowiki>password = abcedfgh</nowiki>}}
{{cmd|<nowiki>password = abcedfgh</nowiki>}}


=====На клиенте=====
===Клиентская часть===
Теперь вам нужно установить burp на клиенте и отредактировать клиентский файл burp.conf.
====Установка====
Установка системы:
# apt-get install burp
 
====Настройки====
При обычной настройке файлы конфигурации, специфичные для клиента, будут находиться в каталоге {{path|/etc/burp/clientconfdir}}.
 
Многие глобальные параметры, установленные в {{path|burp-server.conf}}, могут быть переопределены для каждого клиента через файлы /etc/burp/clientconfdir.
 
=====Добавление нового клиента=====
{{Note|Обратите внимание, тут в cname пропиываем имя клиента, которое мы запомнил ранее - '''data_store'''}}


Чтобы:
Теперь вам нужно отредактировать клиентский файл {{path|/etc/burp/burp.conf}} таким образом, чтобы:
*строка «cname» соответствует имени файла clientconfdir на сервере
 
*строка «password» соответствует содержимому файла clientconfdir
*строка «cname» соответствовала имени файла clientconfdir на сервере;
*строка "server" должна содержать адрес сервера.
*строка «password» соответствовала содержимому файла clientconfdir;
*строка "server" содержала адрес сервера.


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


При первом подключении нового клиента к серверу он выполнит обмен SSL-сертификатами.
При первом подключении нового клиента к серверу он выполнит обмен SSL-сертификатами.
=====Что копировать/не копировать=====
*Каталог
include = путь
Или
exclude = путь
*расширения файлов:
include_ext = vdi
exclude_ext = vdi
====Резервное копирование====
Запустить резервное копирование (b - backup):
# burp -a b
*{{cmd|-a b}} - запустить резервное копирование
=====Резервные копии и их файлы=====
Вывести список резервных копий с датами:
# burp -a l | grep Backup
*{{cmd|-a l}} - список резервных копий (l - list)
Результат:
# burp -a l | grep Backup
Backup: 0000001 2025-02-11 14:03:36 +0300 (deletable)
Backup: 0000002 2025-02-11 14:07:45 +0300
Backup: 0000003 2025-02-11 14:22:15 +0300
Показать файлы второй резервной копии:
# burp -a l -b 2 | grep /
*{{cmd|-a l}} - список резервных копий (l - list)
*{{cmd|-b 2}} - номер бэкапа (b - backup)
Результат:
  # burp -a l -b 2 | grep /
2025-02-11 14:35:19 +0300: burp[5341] Did not find closing quote in config 'include = '/home/petr/Изображения/o p'
/home/petr/Изображения/o p
/home/petr/Изображения/o p/11.jpg
/home/petr/Изображения/o p/33.jpg
=====Восстановление из резервной копии=====
Восстановить все файлы из второй резервной копии в корневую папку
# burp -a r -b 2 -d /
*{{cmd|-a r}} - восстановить файлы (a - action, действие; r - restore, восстановить)
*{{cmd|-b 2}} - номер бэкапа (b - backup)
*{{cmd|-d}} - каталог восстановления (d - directory, каталог)
Восстановить файлы второй резервной копии, принудительно перезаписывая одноимённые файлы, в корневую папку:
# burp -a r -b 2 -d / -f
*{{cmd|-a r}} - восстановить файлы (a - action, действие; r - restore, восстановить)
*{{cmd|-b 2}} - номер бэкапа (b - backup)
*{{cmd|-d}} - каталог восстановления (d - directory, каталог)
*{{cmd|-f}} - принудительно перезаписывать файлы (f - force, принудительно)
Восстановить файлы, которые соответствуют регулярному выражению "a_*" (начинаются на «a_»), из второй резервной копии в корневую папку:
# burp -a r -b 2 -r a_* -d /
*{{cmd|-a r}} - восстановить файлы (a - action, действие; r - restore, восстановить)
*{{cmd|-b 2}} - номер бэкапа (b - backup)
*{{cmd|-r a_*}} - регулярное выражение
*{{cmd|-d}} - каталог восстановления (d - directory, каталог)
====Особенности восстановления====
Для того, чтобы burp восстановил вам файлы в каталог, нужно [[chmod|присвоить ему права]] [rw-|rw-|rw-] - 666:
Поэтому, создаем каталог:
# mkdir /home/restore
Назначаем ему права [rw-|rw-|rw-]:
# chmod -R 666 /home/restore
После этого запустите команду восстановления с указанием нашего каталога:
# burp -a r -b 2 -d /home/restore
Файлы восстановятся, но будут недоступны для чтения. Поэтому, применим команду:
# chmod -R 777 /home/restore
====Удаление бэкапа====
Чтобы удалить резервную копию в Burp, нужно использовать команду:
# burp -a delete -b 1
*{{cmd|-a delete}} - удалить бэкап
*{{cmd|-b 1}} - номер бэкапа


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


====Отключение клиента====
====Отключение клиента====
Строка 51: Строка 141:


===Рабочий каталог и методы восстановления===
===Рабочий каталог и методы восстановления===
https://burp.grke.org/docs/working_dir.html
Во время резервного копирования сервер создает каталог в области хранения клиента с номером и меткой времени.
 
Например:
/var/spool/burp/<клиент>/0000027 12.04.2015 01:24:29


Whilst a backup is taking place, the server will create a directory in the
На этапах резервного копирования 1 (сканирование файловой системы) и 2 (отправка фактических данных) будет использоваться символьная ссылка, указывающая на каталог под названием «working»:
storage area for the client with a number and a timestamp. For example:


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


During backup phases 1 (file system scan) and 2 (send actual data), there will
На этапах резервного копирования 3 (генерация манифеста) и 4 (перетасовка) символьная ссылка будет переименована в «finishing»:
be a symlink pointing to the directory called 'working':


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


During backup phases 3 (manifest generation) and 4 (shuffling), the symlink
Когда резервное копирование будет завершено, символьная ссылка будет переименована в «current»:
will be renamed to 'finishing':


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


When the backup is complete, the symlink will be renamed to 'current':
Если во время резервного копирования произошла какая-либо ошибка и резервное копирование было прервано, сервер Burp должен определить сценарий дальнейших действий, который будет запущен при следующем сеансе связи клиент-сервер.


/var/spool/burp/<client>/current -> 0000027 2015-04-12 01:24:29
Если в результате прерывания осталась символьная ссылка «finishing», сервер попытается продолжить и завершить резервное копирование. Часть 4-го этапа может включать операции, которые изменяют непосредственно предыдущую резервную копию (возможно, потребуется преобразовать файлы в обратные дельты), поэтому, как только она «заканчивается», Burp может только попытаться продолжить выполнение задачи. Обратите внимание: когда резервное копирование завершается, больше никаких данных от клиента не требуется.


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


If there is some error that happens during the backup and the backup is
*'delete': удаление старого рабочего каталога.
interrupted, the burp server needs to decide what happens next. The behaviour
of what happens next is triggered the next time that the client contacts the
server.


If the interruption left a 'finishing' symlink behind, the server will attempt
*'resume': продолжение предыдущего резервного копирования с того места, где оно было прервано.
to carry on and complete the backup. Part of phase 4 may involve operations
that alter the immediately previous backup (it may need to convert its files
into reverse deltas), so once it is 'finishing', burp can only try to move
forwards. Note that when the backup is 'finishing', no more data is required
from the client.


If the interruption left a 'working' symlink behind, the server will check the
{{Note|Если клиент изменил параметры включения/исключения конфигурации, поскольку резервное копирование было прервано, метод восстановления автоматически переключится на «delete».}}
'working_dir_recovery_method' server-side option to decide what to do next.
There are three choices:


delete: Just delete the old working directory.
{{Note|Также обратите внимание, что если резервное копирование было прервано на этапе 1 (сканирование файловой системы), метод восстановления автоматически переключится на «delete».}}
 
Вариант 'delete' — самый безопасный (а также вариант по умолчанию), поскольку это означает, что весь процесс резервного копирования должен продолжаться непрерывно, чтобы резервное копирование могло быть выполнено полностью.


resume: Simply continue the previous backup from the point at which it
Для 'resume' burp будет использовать исходный клиентский файл рабочего каталога для сканирования системы, чтобы запросить оставшиеся файлы, которые ему необходимы для завершения резервной копии.
        left off. NOTE: If the client has changed its include/exclude
        configuration since the backup was interrupted, the recovery method
        will automatically switch to 'delete'.


Note also that if the backup was interrupted in phase 1 (file system scan), the
Если вы используете Windows (или какую-либо другую ОС, которая аналогичным образом создает доступные для просмотра снимки файловой системы для резервного копирования), это будет означать, что файлы будут скопированы из более чем одного снимка, поэтому восстановление будет несогласованным, если вы планируете восстановление на голое железо.
recovery method will automatically switch to 'delete'.  


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


Setting 'delete' is the safest option (and also the default), because it means
У некоторых людей много данных, и им требуется дополнительная помощь при завершении первоначального резервного копирования. Они могут использовать «resume» до тех пор, пока не будет получена первоначальная резервная копия, и
that an entire backup run has to finish uninterrupted for a backup to be
после этого переключиться на «delete».
considered complete. If you want to do Windows bare metal restores, you should
choose this option so that you don't end up with a mixture of files from
different VSS snapshots.


For 'resume', burp will use the working directory's original client file
===Советы по восстановлению===
system scan in order to request the remaining files that it needs to finish
https://burp.grke.org/docs/restoring.html
the backup.
If you are using Windows (or some other OS that similarly generates browsable
file system snapshots for backing up), it will mean that files have been copied
from more than one snapshot, so the restore will be inconsistent if you are
considering a bare metal restore.
Additionally, there are occasionally bugs reported in the resume code, which
can be avoided if you use 'delete'.
Personally, I use 'resume' for my backups and have had no problems.


Рассмотрим несколько примеров восстановления данных. Для упрощения результаты вывода команд незначительно сокращены.


Some people have a lot of data, and need to give an initial backup extra help
На стороне клиента сформируйте перечень доступных резервных копий:
to complete. They might set 'resume' until they have that initial backup, and
switch to 'delete' after that.


-----
$ 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
  /var/spool/burp/<клиент>/0000027 12.04.2015 01:24:29
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


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


/var/spool/burp/<клиент>/working -> 0000027 12.04.2015 01:24:29
Чтобы вернуть все эти файлы в их исходное местоположение, просто измените «l» в предыдущей команде на «r». Если файлы уже существуют в исходном местоположении, будут выданы предупреждения. '-d' тоже требуется, потому что вам нужно указать для burp целевой каталог для восстановления:


На этапах резервного копирования 3 (генерация манифеста) и 4 (перетасовка) символьная ссылка будет переименована в «finishing»:
$ 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...


/var/spool/burp/<клиент>/finishing -> 0000027 12.04.2015 01:24:29
Вместо этого я могу добавить «-f», чтобы принудительно перезаписать все существующие файлы без предупреждения:


Когда резервное копирование будет завершено, символьная ссылка будет переименована в «current»:
$ burp -a r -b 3 -d / -f
...


/var/spool/burp/<клиент>/current -> 0000027 12.04.2015 01:24:29
Возможно, вы хотите восстановить файлы в другое место. Просто добавьте свой путь с опцией «-. Burp создаст каталог, если его не существует:


Если во время резервного копирования произошла какая-либо ошибка и резервное копирование было прервано, сервер Burp должен решить, что будет дальше. Поведение того, что произойдет дальше, запускается в следующий раз, когда клиент связывается с сервером.
$ burp -a r -b 3 -d /tmp/restore
...


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


Если в результате прерывания осталась символическая ссылка «working», сервер проверит опцию «working_dir_recovery_method», позволяющую решить, что делать дальше.
$ 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/':


*'delete': просто удалить старый рабочий каталог.
$ 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


*'resume': просто продолжить предыдущее резервное копирование с того места, где оно было прервано.


{{Note|Если клиент изменил параметры включения/исключения конфигурации, поскольку резервное копирование было прервано, метод восстановления автоматически переключится на «удалить».}}
Рассмотрим способ выборочного восстановления данных с помощью регулярных выражений. Например, требуется восстановление только папки «MyDir2». Сначала рекомендуется составить список, чтобы убедиться в правильной работе выражения:


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


Вариант 'delete' — самый безопасный (а также вариант по умолчанию), поскольку это означает, что весь процесс резервного копирования должен продолжаться непрерывно, чтобы резервное копирование могло быть выполнено полностью.
Если результат соответствует ожиданиям, просто измените «l» на «r» и укажите целевой каталог.
$ burp -a r -b 3 -r mydir2 -d /
...


Если вы хотите выполнить восстановление Windows на «голое железо», вам следует выбрать этот вариант, чтобы не получить смесь файлов из различных снимков VSS.
Конечно, файлы снова восстановятся в исходном месте, так что вы можете указать опцию «-d» и снова добавить опцию «-s»:
$ burp -a r -b 3 -r mydir2 -d /tmp/restore -s 3
...


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


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


Кроме того, в коде 'resume' иногда обнаруживаются ошибки, которые можно избежать, если вы используете 'delete'. Разработчик для своих резервных копий использует 'resume', и у него не возникло никаких проблем.
$ 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 /
...


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


===Восстановление===
$ burp -a l -b 3 -r 1195.pdf -d /
https://burp.grke.org/docs/restoring.html
...
$ burp -a r -b 3 -r 1195.pdf -d /
...


==fwbackups==
==fwbackups==
{{Note|Программа пока доступна только в Сизифе и пока работает некорректно - {{altbug|44702}}}}
{{Note|По состоянию на 27.11.2024 программа доступна только в Сизифе. Для стабильных бранчей ждите бэкпорта.}}
[[Файл:fwbackups.png|480px]]
[[Файл:fwbackups.png|480px]]


Строка 180: Строка 284:


Особенности:
Особенности:
*доступна любому пользователю (без root-прав)
*Доступна любому пользователю (без root-прав)
*может выполнять резервное копирование по автоматическому расписанию или ручному запуску  
*Может выполнять резервное копирование по автоматическому расписанию или ручному запуску  
*Для резервного копирования настраиваются "наборы" - "sets" ("сеты"), в которых пользователь указывает необходимые файлы и каталоги
*Для резервного копирования настраиваются "наборы" - "sets" ("сеты"), в которых пользователь указывает необходимые файлы и каталоги
*Копирование может выполняться в локальную папку или на SSH сервер
*Копирование может выполняться в локальную папку или на SSH сервер
**Для SSH-сервера указываются - хост, порт, имя пользователя, пароль, каталог. Есть возможность протестировать соединение.
**Для SSH-сервера указываются - хост, порт, имя пользователя, пароль, каталог. Есть возможность протестировать соединение.
*прямое копирование или с сжатием в архив (есть возможность создать архив с двумя параметрами "время" (меньшая скорость создания)/"качество" (лучшее качество сжатия))
*Прямое копирование или со сжатием в архив (есть возможность создать архив с двумя параметрами "время" (меньшая скорость создания)/"качество" (лучшее качество сжатия))
*количество архивных копий для сохранения (если указать 0, резервные копии будут создаваться каждый раз, если указать другое число - будет создано указанное количество дополнительных копий)
*Указание количества архивных копий для сохранения (если указать 0, резервные копии будут создаваться каждый раз. Если указать другое число, будет создано указанное количество дополнительных копий)
*команды, выполняемые до и после копирования (можно указать команды выполняемые до и после запуска команды копирования)
*Команды, выполняемые до и после копирования (можно указать команды выполняемые до и после запуска команды копирования)
*настройка времени запуска копирования (время запуска указывается опциональными критериями или по шаблону CRON)
*Настройка времени запуска копирования (время запуска указывается опциональными критериями или по шаблону CRON)
===Установка===
===Установка===
{{todo|Будет описано после исправления бага и бэкпорта в P10/P11}}
$ su -
# apt-get update
# apt-get install fwbackups
 
==Источники==
*[https://burp.grke.org/docs.html burp.grke.org]
{{Category navigation|title=Начинающему системному администратору|category=Начинающему системному администратору|sortkey={{SUBPAGENAME}}}}
{{Category navigation|title=Начинающему системному администратору|category=Начинающему системному администратору|sortkey={{SUBPAGENAME}}}}

Текущая версия от 16:52, 11 февраля 2025

Примечание: Обратите внимание, что это не официальная документация, а попытка начинающего админа объяснить материал начинающим админам.


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

Burp

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

Серверная часть

Установка

Установка системы:

# apt-get install burp

Настройка

Для настройки сервера отредактируйте следующий файл:

# mcedit /etc/burp/burp-server.conf

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

# systemctl enable --now burp-server.service

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

Примечание: Тут запомните имя клиента, которого мы прописываем. В данном примере, data_store

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

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

password = abcedfgh

Клиентская часть

Установка

Установка системы:

# apt-get install burp

Настройки

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

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

Добавление нового клиента
Примечание: Обратите внимание, тут в cname пропиываем имя клиента, которое мы запомнил ранее - data_store


Теперь вам нужно отредактировать клиентский файл /etc/burp/burp.conf таким образом, чтобы:

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

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

cname = data_store
password = abcdefgh
server= 1.2.3.4

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

Что копировать/не копировать
  • Каталог
include = путь

Или

exclude = путь
  • расширения файлов:
include_ext = vdi 
exclude_ext = vdi

Резервное копирование

Запустить резервное копирование (b - backup):

# burp -a b
  • -a b - запустить резервное копирование
Резервные копии и их файлы

Вывести список резервных копий с датами:

# burp -a l | grep Backup
  • -a l - список резервных копий (l - list)

Результат:

# burp -a l | grep Backup
Backup: 0000001 2025-02-11 14:03:36 +0300 (deletable)
Backup: 0000002 2025-02-11 14:07:45 +0300
Backup: 0000003 2025-02-11 14:22:15 +0300

Показать файлы второй резервной копии:

# burp -a l -b 2 | grep /
  • -a l - список резервных копий (l - list)
  • -b 2 - номер бэкапа (b - backup)

Результат:

 # burp -a l -b 2 | grep /
2025-02-11 14:35:19 +0300: burp[5341] Did not find closing quote in config 'include = '/home/petr/Изображения/o p'
/home/petr/Изображения/o p
/home/petr/Изображения/o p/11.jpg
/home/petr/Изображения/o p/33.jpg
Восстановление из резервной копии

Восстановить все файлы из второй резервной копии в корневую папку

# burp -a r -b 2 -d /
  • -a r - восстановить файлы (a - action, действие; r - restore, восстановить)
  • -b 2 - номер бэкапа (b - backup)
  • -d - каталог восстановления (d - directory, каталог)

Восстановить файлы второй резервной копии, принудительно перезаписывая одноимённые файлы, в корневую папку:

# burp -a r -b 2 -d / -f
  • -a r - восстановить файлы (a - action, действие; r - restore, восстановить)
  • -b 2 - номер бэкапа (b - backup)
  • -d - каталог восстановления (d - directory, каталог)
  • -f - принудительно перезаписывать файлы (f - force, принудительно)

Восстановить файлы, которые соответствуют регулярному выражению "a_*" (начинаются на «a_»), из второй резервной копии в корневую папку:

# burp -a r -b 2 -r a_* -d /
  • -a r - восстановить файлы (a - action, действие; r - restore, восстановить)
  • -b 2 - номер бэкапа (b - backup)
  • -r a_* - регулярное выражение
  • -d - каталог восстановления (d - directory, каталог)

Особенности восстановления

Для того, чтобы burp восстановил вам файлы в каталог, нужно присвоить ему права [rw-|rw-|rw-] - 666:

Поэтому, создаем каталог:

# mkdir /home/restore

Назначаем ему права [rw-|rw-|rw-]:

# chmod -R 666 /home/restore

После этого запустите команду восстановления с указанием нашего каталога:

# burp -a r -b 2 -d /home/restore

Файлы восстановятся, но будут недоступны для чтения. Поэтому, применим команду:

# chmod -R 777 /home/restore

Удаление бэкапа

Чтобы удалить резервную копию в Burp, нужно использовать команду:

# burp -a delete -b 1
  • -a delete - удалить бэкап
  • -b 1 - номер бэкапа

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

В качестве планировщика задач используйте 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' — самый безопасный (а также вариант по умолчанию), поскольку это означает, что весь процесс резервного копирования должен продолжаться непрерывно, чтобы резервное копирование могло быть выполнено полностью.

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

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

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

У некоторых людей много данных, и им требуется дополнительная помощь при завершении первоначального резервного копирования. Они могут использовать «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

Примечание: По состоянию на 27.11.2024 программа доступна только в Сизифе. Для стабильных бранчей ждите бэкпорта.

Fwbackups.png

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

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

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

Установка

$ su -
# apt-get update
# apt-get install fwbackups

Источники