Создаем скрипт для автоматического бэкапа и валидации контрольных сумм баз данных.
Повреждение резервных копий или их незаметная подмена злоумышленниками приводит к полной потере данных при попытке восстановления. Создание дампа с одновременным вычислением криптографического хэша SHA-256 гарантирует целостность бэкапа. Напишем Bash-скрипт, который автоматизирует резервное копирование SQLite/MySQL и сверяет контрольные суммы.
Создадим исполняемый скрипт db_backup.sh, который снимает дамп базы данных и сохраняет его SHA-256 хэш.
cat db_backup.sh
#!/bin/bash
DB_FILE=${1:-"test.db"}
BACKUP_NAME="backup_$(date +%Y%m%d_%H%M%S).sqlite"
sqlite3 "$DB_FILE" ".backup '$BACKUP_NAME'"
sha256sum "$BACKUP_NAME" > "$BACKUP_NAME.sha256"
echo "[+] Бэкап $BACKUP_NAME сгенерирован и подписан хэшем"
EOF
chmod +x db_backup.sh
Скрипт резервного копирования и расчета целостности сформирован и готов к работе.
Сгенерируем тестовую базу данных SQLite и запустим созданный скрипт для получения валидированного бэкапа.
sqlite3 test.db "CREATE TABLE users (id INT, name TEXT); INSERT INTO users VALUES (1, 'admin');"
./db_backup.sh test.db
Резервная копия тестовой базы успешно создана вместе с контрольным SHA-256 файлом.
# проверка (верификация целостности сохраненного бэкапа по хэшу)
sha256sum -c backup_*.sha256 2>/dev/null | head -n 1
Ожидаемый вывод: backup_20260916_161524.sqlite: OK
# cleanup (удаление созданных тестовых баз, бэкапов и скрипта)
rm -f test.db backup_* db_backup.sh
Автоматическая проверка целостности контрольных сумм позволяет вовремя обнаружить битые сектора диска или попытки внедрения стороннего кода в бэкапы. Дополните скрипт отправкой уведомлений в Telegram или сжатием через gzip перед вычислением хэша.
➡️ Hacking Ready | #практика
Повреждение резервных копий или их незаметная подмена злоумышленниками приводит к полной потере данных при попытке восстановления. Создание дампа с одновременным вычислением криптографического хэша SHA-256 гарантирует целостность бэкапа. Напишем Bash-скрипт, который автоматизирует резервное копирование SQLite/MySQL и сверяет контрольные суммы.
Создадим исполняемый скрипт db_backup.sh, который снимает дамп базы данных и сохраняет его SHA-256 хэш.
cat db_backup.sh
#!/bin/bash
DB_FILE=${1:-"test.db"}
BACKUP_NAME="backup_$(date +%Y%m%d_%H%M%S).sqlite"
sqlite3 "$DB_FILE" ".backup '$BACKUP_NAME'"
sha256sum "$BACKUP_NAME" > "$BACKUP_NAME.sha256"
echo "[+] Бэкап $BACKUP_NAME сгенерирован и подписан хэшем"
EOF
chmod +x db_backup.sh
Скрипт резервного копирования и расчета целостности сформирован и готов к работе.
Сгенерируем тестовую базу данных SQLite и запустим созданный скрипт для получения валидированного бэкапа.
sqlite3 test.db "CREATE TABLE users (id INT, name TEXT); INSERT INTO users VALUES (1, 'admin');"
./db_backup.sh test.db
Резервная копия тестовой базы успешно создана вместе с контрольным SHA-256 файлом.
# проверка (верификация целостности сохраненного бэкапа по хэшу)
sha256sum -c backup_*.sha256 2>/dev/null | head -n 1
Ожидаемый вывод: backup_20260916_161524.sqlite: OK
# cleanup (удаление созданных тестовых баз, бэкапов и скрипта)
rm -f test.db backup_* db_backup.sh
Автоматическая проверка целостности контрольных сумм позволяет вовремя обнаружить битые сектора диска или попытки внедрения стороннего кода в бэкапы. Дополните скрипт отправкой уведомлений в Telegram или сжатием через gzip перед вычислением хэша.
➡️ Hacking Ready | #практика