На моем сервере Ubuntu (LTS 12.04) я бы хотел, чтобы crond запускался при каждой загрузке. Где я должен настроить это? Я посмотрел на service --status-all
и увидел, что cron был там, но он был помечен знаком вопроса.
В общем, где пользователь должен добавлять демонов, которые он хочет запускать при загрузке?
Обычно вы добавляете скрипт, запускающий демон, в /etc/rcS.d/
(S означает при запуске), и скрипт должен автоматически запускаться при следующей загрузке. (Как правило, сценарии программных ссылок там находятся по их первоначальному пути.) Это также можно сделать с помощью инструмента update-rc.d
{требуются права суперпользователя}.
К сожалению, я не уверен, где именно находится стартовый скрипт crond, но он должен быть автоматически настроен для запуска при загрузке, и перед игрой с системными каталогами я бы сказал, что сделайте проверку работоспособности и посмотрите, что произойдет, если вы запускаете crontab -e
и добавляете новую строку, например, такую: */1 * * * * echo "Cron works"
, и вы должны получить строку Cron works
в системной почте (при условии, что у вас настроен постфикс).
Также не забудьте удалить cronjob после того, как он будет проверен, так как он будет посылать вам эту строку каждую минуту, и он быстро становится раздражающим.
По словам Andreas Poisel в подобном потоке в stackoverflow,
Для выполнения демона или любой команды как корень перед входом в систему добавьте его к /etc/rc.local
или добавьте задание крона с @reboot
как его поле времени. Можно также записать надлежащий init сценарий на основе /etc/init.d/skeleton
.
Для выполнения команды после входа в систему добавьте его к ~/.bash_profile
(если Вы используете удар). Вопреки ~/.bashrc
, этот файл будет выполняться оболочками входа в систему только.
Для выполнения команды после входа в систему любого нового пользователя добавьте соответствующее .bash_profile
кому: /etc/skel
и новые пользователи получат этот файл автоматически на создании учетной записи.