Я пытаюсь изучить передовые методы проверки работы Apache и Postgres на моем сервере. Если какой-либо из них остановился, я хочу автоматически перезапустить эти службы. Я использую Ubuntu 12.04 LTS.
Моя стратегия заключалась в том, чтобы написать задание cron, которое проверяло, что обе эти службы были активны каждые 5 минут, а если нет, перезапускать их (и отправлять мне электронное письмо о проблеме).
Я не уверен, есть ли лучший способ сделать это. В настоящее время я использую Fabric для удаленного администрирования сервера; и также задавался вопросом, может ли попытаться написать все это на Python подходящим подходом.
Инструменты мониторинга, такие как Zenoss, Nagios и т. Д., Наверняка будут лучше. Но если у вас есть как 1 сервер, их может быть слишком много.
Для Apache убедитесь, что вы можете получить страницу с помощью wget. Для Postgres - ну, вы можете запустить запрос с помощью psql.
Не уверен, почему вы беспокоитесь об их перезапуске. У меня есть серверы PostgreSQL и Apache, которые работают более 5 лет без необходимости перезапуска (кроме установки обновлений). Это профессиональный продукт, они не умирают просто так.
Монит делает именно то, что вы хотите, более стандартизированным образом. Я предлагаю вам использовать его вместо собственного решения.