tgoop.com/bash_srv/119
Create:
Last Update:
Last Update:
📌 Bash-скрипт для автоматического бэкапа MySQL с ротацией
Накидал пример простого скрипта для автоматического бэкапа базы, чтобы всегда была свежая копия, но при этом не захламлять диск старыми дампами.
#!/bin/bash
# Параметры
# автор: https://www.tgoop.com/bash_srv
DB_USER="root"
DB_PASS="password"
DB_NAME="my_database"
BACKUP_DIR="/backup/mysql"
DATE=$(date +"%Y-%m-%d_%H-%M-%S")
# Создаём директорию для бэкапов, если нет
mkdir -p "$BACKUP_DIR"
# Делаем дамп базы
mysqldump -u"$DB_USER" -p"$DB_PASS" "$DB_NAME" > "$BACKUP_DIR/${DB_NAME}_${DATE}.sql"
# Оставляем только 7 последних бэкапов, остальные удаляем
ls -1t "$BACKUP_DIR"/*.sql | tail -n +8 | xargs -r rm --
echo "✅ Бэкап базы $DB_NAME создан: ${DB_NAME}_${DATE}.sql"
Как использовать:
1. Сохраните скрипт, например в
/usr/local/bin/mysql_backup.sh
.2. Дайте права на выполнение:
chmod +x /usr/local/bin/mysql_backup.sh
3. Добавьте в
cron
, чтобы бэкап делался каждый день в 3 ночи:
0 3 * * * /usr/local/bin/mysql_backup.sh
📦 В результате вы всегда будете иметь 7 последних бэкапов, а старые будут удаляться автоматически.
👉@bash_srv
BY Bash Советы

Share with your friend now:
tgoop.com/bash_srv/119