эй, я новичок в написании сценариев в Linux. Я хочу получать sqldump моей базы данных каждый час, я просмотрел пару блогов, я смог написать сценарий, который будет делать дамп моей базы данных, но я заставляю его запускаться каждый час в crontab.
Пожалуйста, помогите мне.
Для этого вы будете использовать cron. Отредактируйте ваш crontab и добавьте что-нибудь вроде
* /1 * * * <your script>
Чтобы отредактировать ваш crontab, используйте
crontab -e
делать дамп базы данных каждый час - не лучший вариант. если размер базы данных большой, то большая часть системных ресурсов будет занята только тем, что каждый час делает дамп. лучше подумать о ДОПОЛНИТЕЛЬНЫХ резервных копиях, в которых вы создаете резервную копию только измененной области базы данных, а не всей базы данных.
Создание дополнительных резервных копий путем включения двоичного журнала
MySQL поддерживает инкрементное резервное копирование: вы должны запустить сервер с параметром --log-bin, чтобы включить ведение двоичного журнала. Бинарные файлы журнала предоставляют вам информацию, необходимую для репликации изменений в базе данных, которые вносятся после того, как вы выполнили резервное копирование. В тот момент, когда вы хотите сделать инкрементную резервную копию (содержащую все изменения, произошедшие с момента последней полной или инкрементной резервной копии), вам следует повернуть двоичный журнал с помощью FLUSH LOGS. После этого вам необходимо скопировать в хранилище резервных копий все двоичные журналы, начиная с момента последнего полного или инкрементного резервного копирования до предпоследнего. Эти двоичные журналы представляют собой инкрементную резервную копию; во время восстановления вы применяете их «Моментальное (инкрементное) восстановление с использованием двоичного журнала». В следующий раз, когда вы сделаете полную резервную копию, вам также следует повернуть двоичный журнал с помощью FLUSH LOGS, mysqldump --flush-logs или mysqlhotcopy --flushlog.
для разных типов резервных копий в mysql перейдите по этому URL-адресу: