[Обновление] 03.08.2013
Не нашёл подобной темы, а
это считаю слишком громоздким, то пришлось написать маленький скриптик. В принципе, ничего особенного в нём нет, но может кому пригодится.
Что делает?
В этой инструкции описывается, как настроить автоматический рестарт сервера по расписанию. Скрипты через консоль информируют о рестарте, затем происходит остановка сервера и следует перезапуск сервера.
rs.sh - рестарт сервера и запускает в новом скрине (screen - эмуляция терминала) (либо сами вызываем из консоли, либо назначаем запуск по расписанию).
Туториал.
1. Качаем скрипт по ссылке
http://squareland.ru/pizzlywizzly.rs.sh
2. rs.sh кладём в папку /opt/ (если в другую, то и в crontab'е путь соответствующий пропишите). Не забудьте выставить права ( chmod 777 ) на скрипт.
3. В rs.sh обязательно укажите 'path', - это путь к папке с сервером. 'jarfile' - имя java-файла сервера, который вы запускаете.
Необязательно: можете изменить название скрина, в котором будет запускаться сервер, поменяв значение 'server'.
4. Пишем 'crontab -e' в консольке, вставляем строчку
'0 3 * * * /opt/rs.sh' - скрипт будет запускаться каждый день в 3 часа ночи и перезагружать сервер.
(Сохраняем с помощью ctrl + o, выходим ctrl + x [для редактора nano]).
Теперь сервер будет перезагружаться по расписанию. Также этот скрипт просто запустит сервер, если он выключен. В rs.sh можете изменить максимальную выделяемую память, по умолчанию она равна 2 гигам.
Не забудьте запустить сервер через rs.sh, чтобы у вас уже был запущен screen при первом же рестарте. Сделать это можно командой /opt/rs.sh (если он лежит там)