Содержимое сценария оболочки выглядит следующим образом:
Автоматическое и регулярное резервное копирование базы данных с помощью сценариев оболочки:
#!/бин/баш
# Бэкап базы данных hs_king
# Установить информацию о соединении с MySQL
MYSQL_USER="корень"
MYSQL_ПАРОЛЬ = "123456"
MYSQL_DATABASE="hs_king"
# Задаем имя и путь к файлу резервной копии
BACKUP_PATH="/root/SQL/mysql-файл/"
BACKUP_FILENAME="$(дата +%Y.%m.%d.%H.%M)-${MYSQL_DATABASE}.sql" BACKUP_FILE="$BACKUP_PATH$BACKUP_FILENAME"
# Экспорт базы данных MySQL
mysqldump -R -u$MYSQL_USER -p$MYSQL_PASSWORD $MYSQL_DATABASE > $BACKUP_FILE # Удалить файлы резервных копий с истекшим сроком действия: последние 15 дней
найти $BACKUP_PATH -type f -name "*-${MYSQL_DATABASE}.sql" -mtime +15 -exec rm {} \;
# Удалить на основе времени создания файла
скрипт авторизации
chmod +x backup_mysql.sh
crontab добавить временные задачи
кронтаб -е
*/10 * * * * /root/SQL/backup_mysql.sh
Проверить резервную базу данных
объяснять
Этот сценарий оболочки используется для резервного копирования базы данных MySQL. Вот подробное описание скрипта:
-
Строки со 2 по 6: задайте информацию для подключения к MySQL. Вы можете изменить значение переменной в соответствии с реальной ситуацией.
MYSQL_USER
: имя пользователя MySQL, здесь установлено значение «root».MYSQL_PASSWORD
: пароль MySQL, здесь установлено значение «123456», измените его в соответствии с реальной ситуацией.MYSQL_DATABASE
: имя базы данных для резервного копирования, здесь установлено значение «hs_king».
-
Строки 9 и 10: укажите имя и путь к файлу резервной копии.
BACKUP_PATH
: путь хранения файла резервной копии, здесь задан как «/root/SQL/mysql-file/», убедитесь, что каталог существует и имеет разрешение на запись.BACKUP_FILENAME
: Имя файла резервной копии в виде текущей даты (год, месяц, день, час и минута) плюс имя базы данных.
-
Строка 13: Используйте
mysqldump
команду для экспорта базы данных MySQL.-R
Параметры используются для экспорта хранимых процедур и триггеров.-u$MYSQL_USER -p$MYSQL_PASSWORD
Указывает имя пользователя и пароль для подключения к MySQL.$MYSQL_DATABASE
Указывает базу данных для резервного копирования.> $BACKUP_FILE
Вывод экспортированных данных в файл резервной копии.
-
Строка 16: Удалить файлы резервных копий с истекшим сроком действия.
find $BACKUP_PATH
Указывает путь для поиска.-type f
Указывает только на поиск файлов.-name "*-${MYSQL_DATABASE}.sql"
Указывает шаблон имени файла резервной копии, где "*" представляет собой любой символ.-mtime +15
Указывает, что выбраны только файлы, которые были изменены более 15 дней.-exec rm {} \;
Удалите соответствующие файлы.
Функция этого скрипта заключается в резервном копировании указанной базы данных MySQL и сохранении файлов резервных копий за последние 15 дней, а файлы резервных копий старше 15 дней будут автоматически удалены. Перед запуском этого скрипта убедитесь, что каталог, в котором хранятся файлы резервных копий, создан и имеет соответствующие права на запись. Кроме того, измените информацию о подключении к MySQL и путь к файлу резервной копии в сценарии в соответствии с реальной ситуацией, чтобы она соответствовала вашей среде.