Быстрая реакция на системные сбои является ключом к минимизации времени простоя. Рассмотрим, как настроить автоматическое восстановление системы с помощью Bash-скриптов для замены поврежденных файлов и перезапуска критических служб.
Для восстановления системы необходимо создать скрипт, который будет:
Проверять целостность ключевых файлов.
Восстанавливать поврежденные файлы из резервной копии.
Перезапускать критические службы.
Пример скрипта восстановления
#!/bin/bash
# Пути к резервным копиям и критическим файлам
BACKUP_DIR="/backup/system_files"
FILES_TO_CHECK=("/etc/nginx/nginx.conf" "/var/www/html/index.html")
# Проверка целостности файлов
for FILE in "${FILES_TO_CHECK[@]}"; do
if [[ ! -f "$FILE" || ! cmp -s "$BACKUP_DIR/$(basename $FILE)" "$FILE" ]]; then
echo "Файл $FILE поврежден или отсутствует. Восстанавливаем..."
cp "$BACKUP_DIR/$(basename $FILE)" "$FILE"
fi
done
# Перезапуск критических служб
SERVICES=("nginx" "mysql")
for SERVICE in "${SERVICES[@]}"; do
if ! systemctl is-active --quiet "$SERVICE"; then
echo "Служба $SERVICE не работает. Перезапускаем..."
systemctl restart "$SERVICE"
fi
done
echo "Восстановление завершено."
Автоматизация проверок с cron. Для регулярного выполнения скрипта можно использовать cron. Например, для запуска каждые 5 минут:
*/5 * * * * /path/to/restore_script.sh
BashTex 📱 #bash