Как выполнить кейс?

Автор Dimas, 18 апреля 2024, 15:41:19

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Dimas

Подскажите, пожалуйста, каким способом решить нижеприведённый кейс на linux (или от чего отталкиваться для решения):
1) На сервере примонтирован каталог /mnt/data с множеством мелких файлов, необходимо по плану резервной копии создавать копии изменившихся данных, глубина 7 дней, упаковать любым архиватором с датой и временем сжатия в имени архива и скопировать в каталог /backup, старше семи дней - удалить.
2) Развернуть второй сервер linux, скопировать архив из первого задания с помощью консоли, распаковать в любой каталог.
3) Написать скрипт проверки успешности создания резервной копии: результат про-верки сохранять в файл (OK, ERROR), проверка размера резервной копии любым методом, сохранять в файл с кодом (SIZE OK, SIZE ERROR), алгоритм решения любой.

P.S. У меня для работы будет ноутбук с установленным Debian Server 12 без графического интерфейса.

Aalexeey

https://debianforum.ru/index.php?topic=6879 100% защиты от "Ааааа у меня всё поломалось"

dzhoser

Это школьное задание? Зачем распаковывать на новом сервере?
Ubuntu->Linux mint->Astra Linux SE->Debian 12
Для новичков

Dimas

Цитата: dzhoser от 18 апреля 2024, 20:55:43Это школьное задание? Зачем распаковывать на новом сервере?

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

dzhoser

#!/bin/bash
tar -czvf /backup/www.$(date +%Y%m%d-%H%M%S).tar.gz /path/to/document_root
find /backup/www/www* -mtime +10 -exec rm {} \;
mysqldump -u root --opt -R my_database > /backup/my_database-$(date +%Y%m%d-%H%M%S).sql
find /backup/my_database* -mtime +10 -exec rm {} \;
exit 0
Вторая строка скрипта использует в качестве параметра путь к директории сайта, в данном примере "/path/to/document_root", после чего создает архивный файл, имя которого будет содержать текущую дату. Например, для архивирования другой директории, Вам  необходимо будет изменить ее в скрипте. Также обратите внимание, что директория /backup должна существовать на сервере, крайне рекомендуется чтобы в неё было смонтировано внешнее, не зависящее от сервера, хранилище.

Третья и пятая строка скрипта отвечает за ротацию резервных копий, в данном примере копии старше 10 дней будут удаляться при запуске скрипта. Четвертая строка скрипта создает дамп базы данных, в данном примере "my_database" нужно будет изменить на имя Вашей базы данных.

Резервное копирование данных должно производиться тогда, когда эти данные не изменяются. В противном случае нельзя гарантировать сохранности этих данных. Желательно регулярно выполнять резервное копирование в часы минимальной нагрузки на систему. Обычно минимальная нагрузка имеет место в диапазоне от 2 часов ночи до 5 утра (в зависимости от специфики работы системы). Ставим еженочное выполнение скрипта на cron:

crontab -e

00 2 * * * bash /home/backup.sh > /dev/null 2>&1
Ubuntu->Linux mint->Astra Linux SE->Debian 12
Для новичков