Я обычно обращаюсь к этому с коротким сценарием обертки крона:
#!/bin/bash
[ -r $HOME/.bashrc ] && . $HOME/.bashrc
[ -r $HOME/.profile ] && . $HOME/.profile
exec "$@"
Затем просто снабдите префиксом команду в crontab с Вашей оберткой:
* * * * 1-5 ~/scripts/cron-wrapper ~/scripts/myscript.sh
* * * * 1-5 ~/scripts/cron-wrapper ~/scripts/myotherscript.sh
Некоторые версии крона позволяют Вам устанавливать переменные непосредственно в crontab. К сожалению, я не добираюсь для использования тех, которые на работе.
Я создал сценарий удара, который инкрементно выводит базы данных от ведущего устройства и загружает их в ведомое устройство при отслеживании replicate_do_db.
Domas Mituzas спасибо для этого сообщения, которое позволило мне обновлять replicate_do_db на лету. Я также вытягиваю master_log_file, и master_log_pos от выведенного sql для издания ЗАПУСКАЮТ ВЕДОМОЕ УСТРОЙСТВО ДО и ВЫБИРАЮТ MASTER_POS_WAIT для загрузки данных в корректной точке.
Более позднее Редактирование: Для этого для работы, поскольку ожидаемая ПОСТРОЧНАЯ РЕПЛИКАЦИЯ - необходимость.
Является Вашей базой данных MySQL просто InnoDB, или это также включает MyISAM? Если это - InnoDB, можно использовать mysqldump с опцией "-единственной транзакцией - основные данные" для получения надежного дампа для ведомого устройства репликации.
Если у Вас есть MyISAM, к сожалению, для получения надежного дампа, он должен заблокировать - все-транзакции на сервере, пока целое резервное копирование не завершено.. и то время зависит от комбинации размера базы данных в ГБ и количестве общего количества строк.