Я новичок в работе cron, и мне нужно восстановить базу данных (mysql) каждые 30 минут. Есть ли команда cron job, которая может восстановить базу данных из файла .sql, который был gzipped?
Или мне нужно создать php-скрипт для этого и создать задание cron для вызова этого скрипта каждые тридцать минут?
Кроме того, и это отдельный вопрос, но все еще связанный с заданиями cron, я использую задание cron для резервного копирования другой базы данных один раз в день, gzip и помещаю его в папку выше корня. Есть ли способ (автоматически) удалить что-нибудь старше месяца? Или, по крайней мере, сохранить последние 20 резервных копий и удалить остальные?
Там не так много хорошего учебника по этому вопросу, что другие случайные сообщения на форуме. Любая помощь приветствуется.
Что касается импорта файла дампа, просто поставьте
mysql -u user -ppassword databasename < /path/to/dump.sql
в работу cron.
Подробнее: Как восстановить файл .dump MySQL?
Вы можете написать скрипт bash для этого.
mysql -uPutYourUserHere -pPutYourPasswordHere PutYourUserHere_databaseName < database.sql
Нет ничего, что можно было бы автоматически удалить. Но вы можете сделать в своей работе cron:
find /path/to/files -mtime +30 -exec rm {}\;
MySQL не может обрабатывать данные gzipped напрямую, но тривиально обращаться через gzcat, а затем передавать их в mysql:
gzcat name_of_file.sql.gz | mysql -u....