TGViewer
BashTex | Linux BashTex | Linux @bash_tex · 2.51K subscribers
Post #143 1.12K
Автоматическое восстановление после сбоев с использованием Bash-скриптов

Быстрая реакция на системные сбои является ключом к минимизации времени простоя. Рассмотрим, как настроить автоматическое восстановление системы с помощью 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
  • 👍 11
More from @bash_tex
  1. Oct 13, 2026openat2(): как Linux защищает от выхода за пределы каталога Допустим, приложение должно чи…
  2. Oct 12, 2026xargs против while read: где быстрее и безопаснее Обе конструкции позволяют обработать спи…
  3. Oct 9, 2026BashTex 📱 #мем
  4. Oct 8, 2026Bridge FDB - как Linux bridge узнаёт, где находится MAC Linux bridge не знает заранее, за…
  5. Oct 7, 2026/dev/tcp - сетевое соединение средствами Bash В Bash есть малоизвестная возможность работа…
  6. Oct 6, 2026Ephemeral ports - почему заканчиваются исходящие TCP-порты Когда приложение устанавливает…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →