Архивация баз данных mysql
Категория: / DEV Блог
/ Сервер (FreeBSD)
Скрипт для архивации всех баз данных пользователя
Вешаем на крон и радуемся свежеиспеченным бэкапам.
Все архивы старше 8 дней беспощадно трутся с помощью утилиты find.
Добываем информацию о том чем занимется база данных
#!/bin/sh
mysqldump="/usr/local/bin/mysqldump"
mysqlparam="-u root -ppassword"
bzip2="/usr/bin/bzip2"
databases=`echo "show databases" | mysql ${mysqlparam} | grep -v "^D"`
dstdir="/backup/mysql"
fname=`date "+%Y-%m-%d`
# remove old
/usr/bin/find $dstdir -atime +8 -delete
# back it up
for dbs in $databases
do
$mysqldump $mysqlparam $dbs| $bzip2 -c -9 > ${dstdir}/${dbs}-${fname}.sql.bz2
done
Вешаем на крон и радуемся свежеиспеченным бэкапам.
Все архивы старше 8 дней беспощадно трутся с помощью утилиты find.
Добываем информацию о том чем занимется база данных
MySQL: mysqladmin processlist
PostgreSQL: select * from pg_stat_activity;
select * from pg_stat_database;
Общая статистика по работе сервера:
MySQL: mysqladmin extended-status; mysqladmin status
PostgreSQL: select * from pg_stats;
если не работает,
исправьте mysql на /usr/local/bin/mysql
или где он там у вас where mysql