Есть меркуриал с битбакетом, который имеет копию на убунту-серваке. Я хочу сделать, чтобы изменения, производимые локально в меркуриале, автоматически подтягивались на сервак по http, то есть hg pull каждые Х времени. Вручную через ssh все работает, с кроном что-то никак не запускается. Что я сделал:
1. crontab -e
2. Прописал PATH=/var/www/xxx (где лежит проект меркуриала)
3. Поставил отчеты на почту MAILTO=xxxx@xxxx.ru
3. Ниже * * * * * hg pull
Сохраняю, crontab -l видит этот кронтаб, но ничего не происходит, на почту отчеты не приходят. В чем ошибка? И как вообще проверить кроме почты состояние крона, работает или нет?
Переменная PATH — для указания крону где искать исполняемые файлы (т.е. в данном случае hg)
Я бы сделал так:
*/X * * * * cd /var/www/xxx; /path/to/hg pull
А вообще крон пишет лог в /var/log/messages (можно перенаправить, дописав в конец команды > /home/someuser/mylogs/cron.log)
То есть после коммита в локальный репозиторий делать хуком push в репозиторий на сервере. Также на сервере делать update после push'а если нужно (хук на changegroup уже на сервере)