TGViewer
BashTex | Linux BashTex | Linux @bash_tex · 2.51K subscribers
Post #230 1.62K
Проверка целостности бэкапов и перезапись повреждённых архивов

Сделать бэкап - это только половина дела. Вторая - убедиться, что он рабочий. Повреждённый архив может стать критичной точкой отказа, особенно при аварийном восстановлении. Попробуем автоматизировать проверку и реагирование.

🌟 Что проверяем? Если вы делаете архивы в .tar.gz, .zip, .xz и т.п., то можно автоматически:

Проверить, читается ли архив
Отправить уведомление при ошибке
Пересоздать архив, если он битый


📱 Пример скрипта:


#!/bin/bash

BACKUP_DIR="/mnt/backups"
LOGFILE="/var/log/backup-check.log"
RETRY_SCRIPT="/usr/local/bin/backup.sh" # ваш основной бэкап-скрипт

check_tar() {
tar -tzf "$1" > /dev/null 2>&1
}

for file in "$BACKUP_DIR"/*.tar.gz; do
if [[ -f "$file" ]]; then
echo -n "Проверка $file... " >> "$LOGFILE"

if check_tar "$file"; then
echo "OK" >> "$LOGFILE"
else
echo "FAILED" >> "$LOGFILE"
echo "[$(date)] Архив повреждён: $file. Перезапуск бэкапа..." >> "$LOGFILE"

# Удалить битый архив
rm -f "$file"

# Перезапуск создания бэкапа
bash "$RETRY_SCRIPT" >> "$LOGFILE" 2>&1
fi
fi
done


⭐️ Дополнительно:

1. Для .zip: unzip -t архив.zip
2. Для .xz: xz -t архив.xz
3. Можно хранить хэши (sha256sum) при создании и сверять перед восстановлением
4. Интеграция с cron — ежедневная проверка по расписанию


❗️ Уведомления: Интеграция с TG или Email - чтобы вы знали, что пошло не так:


curl -s -X POST https://api.telegram.org/bot$TOKEN/sendMessage \
-d chat_id=$CHAT_ID -d text="Архив повреждён: $file. Запущен новый бэкап."


BashTex 📱 #bash
  • 🔥 12
  • 👍 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 →