Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

AutoReboot Server'a через Crontab

Статус пользователя Nes
сообщение 24.4.2018, 20:46
Сообщение #1


Стаж: 11 лет
Город: Москва

Сообщений: 115
Благодарностей: 1
Полезность: 15

Здравствуйте, форумчане.

Хотел бы узнать, как делается авторестарт сервера кс 1.6 каждый день в 5 утра через крон задачу?
З.Ы. У меня запущены сервера через screen задачу сервера. Читал везде, но подходящего не смог найти, возможно плохо искал не спорю.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя c0o_PeR
сообщение 25.4.2018, 6:50
Сообщение #2
Стаж: 15 лет

Сообщений: 358
Благодарности: выкл.

Nes, к сожалению, не получиться у Вас реализовать через cron подобную затею.
Только через исполняемые файлы .sh
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя mazdan
сообщение 25.4.2018, 9:41
Сообщение #3


Иконка группы

Стаж: 15 лет

Сообщений: 7566
Благодарностей: 5437
Полезность: 1305

сделаю чуть понятнее, наверное, имелось в виду, что нужно сделать .sh файл с логикой какой-то внутри, и его кроном выполнять.
Если вы скрипт файлом запускаете сервер, а не через консоль руками, то может ваш файлик поддерживает команду reboot\restart, например. Если так, то пихаете в крон и готово) но нужны подробности. И я вообще не спец в линукс, просто мимо проходил


Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ddsyarik
сообщение 25.4.2018, 9:51
Сообщение #4
Стаж: 10 лет

Сообщений: 1004
Благодарности: выкл.

Nes,
есть 2 варианта.
1) Ребут оборудование по крону и запуск сервака
2) Пихаешь свою строку запуска в sh файл и дальше по крону ребутаешь

Cкрытый текст

Скрипт запуска сервера в фоновом режиме с возможностью подключения. Создаем файлик типа start.sh с правами 744, туда пишем ->

#!/bin/bash
SCREENDIR=/home/username/tmp
export SCREENDIR
cd /home/username/CS48
screen -d -m -S CS16 ./hlds_run -game cstrike -nomaster +log on +map de_dust2 +port 27015 -maxplayers 32 +exec server.cfg &

В итоге, запустив этот скрипт, получим висящий в памяти сервер CS. Подключиться к его консоли или Screen-сессии можно так -
screen -ls
screen -R XXXX
По первой команде получаем список Screen-сессий (видит сессии только текущего пользователя). Затем подключаемся к необходимой (XXXX - номер сессии). Отключиться от сессии - CTRL+A+D

Автостарт серверов легко организовать с помощью CRON.

По умолчанию crontab использует vi в качестве текстового редактора, для неопытного он крайне неудобен и непривычен. Смена редактора командой -
export EDITOR='mcedit'
Создаем и редактируем файл командой -
crontab -e

Файлы конфигурации в Mandriva лежат в папке /var/spool/cron . Файл конфигурации назван именем пользователя от которого он будет запускаться. Пример файла -

__________________________________

@reboot /home/cs/CS48_1/start.sh
@reboot /home/cs/CS48_1/hltv.sh
@reboot /home/cs/CS48_2/start.sh
@reboot /home/cs/CS48_3/start.sh
@reboot torstart
0 1 * * * killall screen


Отредактировал: ddsyarik, - 25.4.2018, 9:53


Забудь о PROCESSCMD #cs-developer
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Nes
сообщение 25.4.2018, 17:33
Сообщение #5


Стаж: 11 лет
Город: Москва

Сообщений: 115
Благодарностей: 1
Полезность: 15

ddsyarik, Спасибо за помощь, а если несколько серверов, в файлике как прописать? Или нужно отдельно закидывать файл в папку с серверами?

А как в кроне прописать, чтоб он ребутился в 5 утра?

Отредактировал: Nes, - 25.4.2018, 17:35
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ddsyarik
сообщение 25.4.2018, 17:34
Сообщение #6
Стаж: 10 лет

Сообщений: 1004
Благодарности: выкл.

Цитата(Nes @ 25.4.2018, 17:33) *
ddsyarik, Спасибо за помощь, а если несколько серверов, в файлике как прописать? Или нужно отдельно закидывать файл в папку с серверами?

на каждый сервак своя файлик , просто создай разные имена файлов и все


Забудь о PROCESSCMD #cs-developer
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Nes
сообщение 25.4.2018, 17:36
Сообщение #7


Стаж: 11 лет
Город: Москва

Сообщений: 115
Благодарностей: 1
Полезность: 15

ddsyarik, Спасибо, попробую щас.
А по поводу крона, как сделать, чтоб ребутился к 5 утрам?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Wolf228
сообщение 25.4.2018, 18:13
Сообщение #8
Стаж: 9 лет 4 месяца

Сообщений: 361
Благодарностей: 26
Полезность: 82

Можно ещё так сделать:D
Только нужен автоподъем. В коде думаю сам разберешься))
Тык
https://c-s.net.ua/forum/topic51243.html#entry421064


Отредактировал: Wolf228, - 25.4.2018, 18:14
Прикрепленные файлы:
Прикрепленный файл  quit_server.sma ( 1,95 килобайт ) Кол-во скачиваний: 25
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ddsyarik
сообщение 25.4.2018, 18:42
Сообщение #9
Стаж: 10 лет

Сообщений: 1004
Благодарности: выкл.

Wolf228,
Без обид. Тогда кеш не скинетя на сервис) тут смысл в том. Что бы при ребуте освобождались ресурсы


Забудь о PROCESSCMD #cs-developer
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя c0o_PeR
сообщение 25.4.2018, 19:00
Сообщение #10
Стаж: 15 лет

Сообщений: 358
Благодарности: выкл.

Попробуйте следующее.
Код
#!/bin/bash
screen=/usr/bin/screen
home_cs=/root/server/
d_start()
{

killall -9 screen
cd $home_cs
$screen -A -m -d -S csserv ./hlds_run -console -game cstrike +map de_dust2_2x2 -maxplayers 32 +ip ип -port порт -sys_ticrate 1200 -norestart -pingboost 3
/usr/bin/screen -wipe
}

case "$1" in
    restart)
        d_start
  ;;
    *)
        echo "Usage: $0 {restart}" >&2
        exit 1
  ;;
esac

exit 0


Соответственно поправите под себя.

На выполнение кроном каждый день в 5 утра следующая строка:
0 5 * * * root /home/server/start.sh команда
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя vavarik
сообщение 25.4.2018, 20:48
Сообщение #11


Стаж: 15 лет
Город: Саратов

Сообщений: 942
Благодарностей: 318
Полезность: 143

SarHosting.ru
Цитата(ddsyarik @ 25.4.2018, 18:42) *
Wolf228,
Без обид. Тогда кеш не скинетя на сервис) тут смысл в том. Что бы при ребуте освобождались ресурсы

А почему бы просто не чистить кеш по крону каждые 5 часов и тогда не нужно будет рестартить сервер или серверы.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ddsyarik
сообщение 25.4.2018, 20:49
Сообщение #12
Стаж: 10 лет

Сообщений: 1004
Благодарности: выкл.

vavarik,
Это уже к автору темы)


Забудь о PROCESSCMD #cs-developer
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя oxoTHuk.
сообщение 26.4.2018, 7:39
Сообщение #13


Иконка группы

Стаж: 17 лет

Сообщений: 879
Благодарностей: 515
Полезность: 867

Может конечно хочется общаться со старыми костылями, но я бы посоветовал использовать очень удобный инструмент:
https://linuxgsm.com
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Forkas
сообщение 8.5.2018, 7:26
Сообщение #14
Стаж: 10 лет

Сообщений: 140
Благодарностей: 11
Полезность: < 0

Берете этот скрипт https://c-s.net.ua/forum/topic30077.html и редактируете под себя.
Далее в терминале пишите
crontab -e
Или
nano /etc/crontab
Или
vi /etc/crontab
Или
mcedit /etc/crontab
И добавляете
0 5 * * * /etc/init.d/[имя скрипта] restart
Сохраняете.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: