TGViewer
BashTex | Linux BashTex | Linux @bash_tex · 2.51K subscribers
Post #138 1.24K
Автоматическое обновление и откат критических сервисов с проверкой целостности

Обновление системных компонентов - рискованная задача. Ошибка в процессе может привести к сбоям, поэтому важно иметь механизм для быстрого отката. Рассмотрим, как автоматизировать обновление и откат критических сервисов с проверкой целостности с помощью Bash.

1. Основной скрипт обновления: автоматическое обновление с сохранением резервной копии текущего состояния.


#!/bin/bash

#директория для резервных копий
BACKUP_DIR="/backup/$(date +%Y%m%d_%H%M%S)"
mkdir -p "$BACKUP_DIR"

#функция для резервного копирования
backup_service() {
echo "Создание резервной копии..."
cp -r /path/to/service "$BACKUP_DIR"
}

#функция обновления
update_service() {
echo "Обновление сервиса..."
if apt-get update && apt-get install --only-upgrade myservice; then
echo "Обновление успешно завершено"
else
echo "Ошибка при обновлении"
restore_service
fi
}

#функция проверки целостности
check_integrity() {
echo "Проверка целостности..."
if systemctl is-active --quiet myservice; then
echo "Сервис работает корректно"
else
echo "Обнаружены проблемы, выполняется откат"
restore_service
fi
}

#функция отката
restore_service() {
echo "Выполняется откат..."
cp -r "$BACKUP_DIR" /path/to/service
systemctl restart myservice
if systemctl is-active --quiet myservice; then
echo "Откат успешно выполнен"
else
echo "Ошибка при откате, требуется ручное вмешательство"
fi
}

#основной процесс
backup_service
update_service
check_integrity


Описание скрипта:

Резервное копирование: Создаётся резервная копия текущего состояния сервиса.
Обновление: Устанавливается обновление, и если оно завершается с ошибкой, скрипт вызывает функцию отката.
Проверка целостности: Проверяется, работает ли сервис корректно после обновления.
Откат: В случае проблем восстанавливается состояние из резервной копии, и сервис перезапускается.

Пример использования. Выполнение скрипта:


./update_service.sh


Ожидаемый вывод:


Создание резервной копии...
Обновление сервиса...
Обновление успешно завершено
Проверка целостности...
Сервис работает корректно


Если произойдёт ошибка:


Создание резервной копии...
Обновление сервиса...
Ошибка при обновлении
Выполняется откат...
Откат успешно выполнен


Скрипт минимизируюет риск сбоев и упрощают управление критическими сервисами.

BashTex 📱 #bash #utils
  • 👍 10
  • 🤨 2
  • 🔥 1
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 →