Hy,

Поскольку я новичок в сценариях оболочки, мне нужна рука. В настоящее время я резервирую все мои базы данных в один файл, что затрудняет восстановление. Вторая проблема в том, что мой пароль MySQL не работает из-за ошибки Plesk, и я получаю пароль из "/etc/psa/.psa.shadow". Вот код, который я использую для резервного копирования всех моих баз данных в один файл.

mysqldump -uadmin -p`cat /etc/psa/.psa.shadow` --all-databases | bzip2 -c > /root/21.10.2013.sql.bz2

В Интернете я нашел несколько сценариев, которые резервируют каждую базу данных в отдельные файлы, но я не знаю, как заставить их работать в моей ситуации. Вот пример сценария:

for db in $(mysql -e 'show databases' -s --skip-column-names); do mysqldump $db | gzip > "/backups/mysqldump-$(hostname)-$db-$(date +%Y-%m-%d-%H.%M.%S).gz"; done

Может ли кто-нибудь помочь мне сделать приведенный выше сценарий подходящим для моей ситуации? Требования:

  1. Сделайте резервную копию каждой базы данных в отдельный файл, используя местоположение пароля plesk.

3 ответа3

0

Пытаться:

for db in $(mysql -uadmin -p`cat /etc/psa/.psa.shadow` -e 'show databases' -s --skip-column-names); do mysqldump -uadmin -p`cat /etc/psa/.psa.shadow` --skip-lock-tables $db | gzip > "/var/www/mysql/mysqldump-$(hostname)-$db-$(date +%Y-%m-%d-%H.%M.%S).gz"; done

это прекрасно работает как используется в Plesk server:: Tested use Path согласно требованию.

0

Поэтому для резервного копирования каждой базы данных PLESK в отдельные файлы и пропуска некоторых файлов, которые я нашел / сделал код:

for db in $(mysql -uadmin -p`cat /etc/psa/.psa.shadow` -e 'show databases' -s --skip-column-names); do
if [[ "$db" != *schema* && "$db" != *phpmyadmin* && "$db" != "event" && "$db" != "psa" && "$db" != "mysql" ]]; then
mysqldump -uadmin -p`cat /etc/psa/.psa.shadow` $db | bzip2 -c > /root/backup/mysql/$db.sql.bz2
fi
done

Не стесняйтесь сделать этот код лучше.

0

Попробуй это:

для БД в $(mysql -e 'show database' -s --skip-column-names); do mysqldump -uadmin -p`cat /etc /psa /.psa.shadow` $ db | bzip2 -c> "/root /$(дата +% d-% m-% Y).sql.bz2"; сделанный

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .