? Bash совет дня: автоматический бэкап и удаление стары?...
? Bash совет дня: автоматический бэкап и удаление старых архивов ?
Если у тебя на сервере регулярно делаются бэкапы, важно не только их сохранять, но и вовремя удалять старые, чтобы не засорять диск. Вот скрипт, который это делает автоматически:
#!/bin/bash
# Папка, куда сохраняются бэкапы
BACKUP_DIR="/opt/backups"
# Название базы данных
DB_NAME="mydatabase"
# Храним бэкапы не старше 7 дней
DAYS_TO_KEEP=7
# Текущее время
NOW=$(date +"%Y-%m-%d_%H-%M")
# Создание дампа базы
DUMP_FILE="$BACKUP_DIR/${DB_NAME}_backup_$NOW.sql.gz"
mysqldump "$DB_NAME" | gzip > "$DUMP_FILE"
# Удаление старых бэкапов
find "$BACKUP_DIR" -name "${DB_NAME}_backup_*.sql.gz" -type f -mtime +$DAYS_TO_KEEP -delete
echo "✅ Бэкап завершён: $DUMP_FILE"
? Что делает скрипт:
• Создаёт дамп базы данных в формате gzip.
• Помещает его в указанную директорию.
• Удаляет бэкапы, которым больше 7 дней.
Можно повесить этот скрипт в cron, чтобы запускался каждый день:
0 2 * * * /opt/scripts/db_backup.sh
? Не забудь дать скрипту права на исполнение: chmod +x db_backup.sh
? [club16108331|@itmozg]
Комментарии