1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | # Optional variables for a backup script MYSQL_USER="root" MYSQL_PASS="password" BACKUP_ROOT=/var/backups/mysql; BACKUPS=2; BACKUP_DIR="$BACKUP_ROOT/$(date +%Y-%m-%dT%H_%M_%S)"; # Create folders test -d "$BACKUP_DIR" || mkdir -p "$BACKUP_DIR" # Get the database list, exclude information_schema for db in $(mysql -B -s -u $MYSQL_USER --password=$MYSQL_PASS -e 'show databases' | grep -v information_schema) do # dump each database in a separate file mysqldump -u $MYSQL_USER --password=$MYSQL_PASS "$db" | gzip > "$BACKUP_DIR/$db.sql.gz" done # backup cleanup ls "$BACKUP_ROOT" \ | head -n$(expr $(ls "$BACKUP_ROOT" | wc -l) - $BACKUPS) \ | while read in; do rm -rf "$BACKUP_ROOT/$in"; done |
Клочки бумаги, на которых обычно ведутся записи, имеют обыкновение теряться, если их вовремя не подшить. Мысли на тему линукса, а может и не только его, - чтоб не забыть.
2016-09-08
Бэкап всех баз MySQL с ротацией (удалением старых) бэкапов
Скрипт делает дампы всех БД сервера, сохраняя в папки именованные по дате и времени создания. Сохраняются последние N (переменная $BACKUPS) бэкапов.
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий