Показать исходный текстСсылки сюдаНаверх Резервное копирование данных [чистовик] Резервное копирование можно осуществить с помощью скриптов sql_daily_dump и sql_hourly_dump, находящихся в папке DISTR/sql/sctipts дистрибутива mikbill. sql_daily_dump - создает дамп раз в день. sql_hourly_dump - создает дамп раз в час. Рассмотрим создание резервной копии раз в день применив скрипт sql_daily_dump. #!/bin/sh fn=`/bin/date +%m_%d` /usr/bin/mysqldump -q -A -a -uroot -ppassword -hlocalhost > /root/buckup/mysql/daily/sqldump$fn.sql /bin/gzip -f "/root/buckup/mysql/daily/sqldump$fn.sql" Генерируется имя имя архива, затем с помощью mysqldump производится дамп базы данных в определённую директорию и затем архивируется. Важно: -uroot -ppassword - имя пользователя и пароль указывайте без пробела. Также проверьте путь куда будет сохранять и архивироваться дам, в данном скрипте сохраняется в /root/buckup/mysql/daily/ Затем добавим в планировщик выполнение этого задания: mcedit /etc/crontab В конец файла добавьте: 10 5 * * * root /root/sql_daily_dump > /dev/null Выполнять /root/sql_daily_dump в 5-10 утра. Скрипт sql_daily_dump можно дополнить дополнительным копированием дампа на другой сервер, всё таки 2 копии лучше чем одна. Осуществлять это будем с помощью утилиты scp. Утилита scp естественно запрашивает пароль который планировщик ввести не сможет, поэтому используем открытый сертификат и передадим его удалённому серверу. Если у вас нет открытого SSH-ключа сгенерируйте его. ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: The key's randomart image is: +--[ RSA 2048]----+ | | |. o + . | |.. * = | | . B + S | |. . @ . | | .o | +-----------------+ Три раза жмём Enter. Будет предложено имя у куда сохранить, в данном случае /root/.ssh/id_rsa и пароль. Передадим копию ключа ssh-copy-id -i .ssh/id_rsa.pub user@IP-backup-server .ssh/id_rsa.pub - Ваш pub ключ. user - Имя пользователя на удаленном сервер. IP-backup-server - IP адрес удаленного сервера. Теперь попробуем что нибудь скопировать scp test.txt user@10.10.1.1:/home/user test.txt 100% 295 0.3KB/s 00:00 Пароль не был запрошен. Теперь добавим в скрипт sql_daily_dump выполнение копирования. /usr/bin/scp /root/buckup/mysql/daily/sqldump$fn.sql.gz user@10.10.1.1:/home/user/backup/mikbill Измените только месторасположение архива и имя пользователя на удаленном сервере. Всё, теперь можно спать спокойно) sysadmin/mysql_backup_scp.txt Последние изменения: 2019/08/29 10:40 — Дмитрий Грошилин