Помогите с автозагрузкой на Linux

Обсуждаем все, что относится к выделенным серверам *NIX (Unix, Linux) и Windows
Сообщение
Автор
Аватара пользователя
rsg16
Лейтенант
Лейтенант
Сообщения: 120
Зарегистрирован: 08.11.2009
Откуда: Укрина
Поблагодарили: 10 раз

#1 Сообщение 23.08.2011, 22:34

Подскажите как кто реализовывает автозагрузку серверов CS:Source...

Аватара пользователя
Sigaro
Капитан
Капитан
Сообщения: 330
Зарегистрирован: 11.02.2010
Откуда: Тольятти
Контактная информация:

#2 Сообщение 24.08.2011, 00:35

Что ты имеешь ввиду, говоря про автозагрузку (автостарт при падении или при аварийной перезагрузке физического сервера aka дедик)?
Никто не заставляет тебя сюда смотреть!
Изображение

Изображение
Изображение

Аватара пользователя
Dogerty
Сержант
Сержант
Сообщения: 65
Зарегистрирован: 02.06.2008

#3 Сообщение 24.08.2011, 01:01

Sigaro писал(а):Что ты имеешь ввиду, говоря про автозагрузку (автостарт при падении или при аварийной перезагрузке физического сервера aka дедик)?
Он имел ввиду
при аварийной перезагрузке физического сервера

Krab1
Лейтенант
Лейтенант
Сообщения: 187
Зарегистрирован: 12.01.2009
Поблагодарили: 1 раз

#4 Сообщение 24.08.2011, 04:08

создаешь файлик css.sh пихаешь туда

Код: Выделить всё

#! /bin/bash
screen -dm -S css "cd папка с ксс; ./srcds_run -blablabla"
делаешь chmod a+x css.sh
пихаешь его в /etc/init.d/ (или rc.d если нет первого)
делаешь команду
update-rc.d css.sh defaults
радуешься жизни.

ну или пользуешься гуглом

Аватара пользователя
cuttep
Капитан
Капитан
Сообщения: 446
Зарегистрирован: 26.06.2010
Откуда: http://www.evoplay.ru
Поблагодарили: 1 раз
Контактная информация:

#5 Сообщение 24.08.2011, 07:17

пож-та пользуйтесь поиском
http://forum.csmania.ru/viewtopic.php?f=28&t=28498

Аватара пользователя
rsg16
Лейтенант
Лейтенант
Сообщения: 120
Зарегистрирован: 08.11.2009
Откуда: Укрина
Поблагодарили: 10 раз

#6 Сообщение 24.08.2011, 09:27

Krab1
после выполнения команды, пишет:

Код: Выделить всё

update-rc.d: using dependency based boot sequencing
insserv: warning: script 'zm.sh' missing LSB tags and overrides
Добавлено спустя 4 минуты 36 секунд:
cuttep
мне нужна автозагрузка, а не перезагрузка...
хотя я думал чтобы автозагрузку через cron зделать но не знаю как написать чтобы сервера наново не запускались(чтобы оно проверяло ли сервер запущен если нет то запускало).

Аватара пользователя
jamaicada
Лейтенант
Лейтенант
Сообщения: 103
Зарегистрирован: 31.05.2009

#7 Сообщение 24.08.2011, 10:52

Ищите поиском
В частности я показывал тут скрипт авторана http://forum.csmania.ru/viewtopic.php?f=28&t=21555
Для устранения проблем с LSB (update-rc.d почти выпилен из debian squeeze, вместо него используется insserv) добавьте в скрипт примерно такую конструкцию:
### BEGIN INIT INFO
# Provides: short_server_name
# Required-Start:
# Required-Stop:
# Should-Start: ifupdown
# Should-Stop: ifupdown
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: server_description
### END INIT INFO
Кидаете получвишийся скрипт в /etc/init.d/, выставляете права, делаете insserv имя_скрипта.

Аватара пользователя
rsg16
Лейтенант
Лейтенант
Сообщения: 120
Зарегистрирован: 08.11.2009
Откуда: Укрина
Поблагодарили: 10 раз

#8 Сообщение 24.08.2011, 12:13

jamaicada
спс, попробую такой вариант

может кто-тo реализует автозагрузку через cron(думаю так будет эффективнее автозагрузка + проверка)...???

Renaissance
Полковник
Полковник
Сообщения: 6942
Зарегистрирован: 03.06.2009
Благодарил (а): 2390 раз
Поблагодарили: 2807 раз
Контактная информация:

#9 Сообщение 24.08.2011, 12:42

Сохраняешь в sh:

Код: Выделить всё

#!/bin/sh
#clear
if [[ `screen -ls |grep имя_скрина` ]]
then 
echo
else
строка запуска сервера
fi
В крон добавляешь задание по выполнению этого скрипта каждую минуту/час, как тебе нужно.
Только не забывай, что когда нужно остановить сервер, нужно скрипт переименовать, а то мало ли.

Аватара пользователя
rsg16
Лейтенант
Лейтенант
Сообщения: 120
Зарегистрирован: 08.11.2009
Откуда: Укрина
Поблагодарили: 10 раз

#10 Сообщение 24.08.2011, 13:27

Renaissance
вот мой скрипт:
#!/bin/sh
#clear
if [[ `screen -ls |grep mix` ]]
then
echo
else
screen -A -m -d -S mix /root/mix/orangebox/srcds_tk
fi
при запуске выбивает такое:
start.sh: 8: [[: not found

сервер запускается но на скрин зайти нельзя

Аватара пользователя
NiGHt-LEshiY
Полковник
Полковник
Сообщения: 10258
Зарегистрирован: 13.06.2008
Откуда: Россия
Благодарил (а): 752 раза
Поблагодарили: 2667 раз
Контактная информация:

#11 Сообщение 24.08.2011, 13:29

[[: not found
Шелл какой? В bash, насколько я помню, [[ - builtin command.
Можно заменить на [ или поставить нормальный шелл.
Кодекс поведения участников сообщества — обязательно к прочтению.
Просьба присылать сообщения об ошибках в ЛС.

Renaissance
Полковник
Полковник
Сообщения: 6942
Зарегистрирован: 03.06.2009
Благодарил (а): 2390 раз
Поблагодарили: 2807 раз
Контактная информация:

#12 Сообщение 24.08.2011, 13:44

Код: Выделить всё

[smanager@kf-azc ~]$ echo $SHELL
/bin/bash

Аватара пользователя
rsg16
Лейтенант
Лейтенант
Сообщения: 120
Зарегистрирован: 08.11.2009
Откуда: Укрина
Поблагодарили: 10 раз

#13 Сообщение 24.08.2011, 13:56

вот сделал так:
#!/bin/bash
#clear
if [[ `screen -ls |grep mix` ]]
then
echo
else
screen -A -m -d -S mix /root/mix/orangebox/srcds_tk
fi

в кроне строка
*/1 * * * * cd /root/mix/orangebox && ./start.sh

вроде всё работает...

Всем спасибо за ответы
Последний раз редактировалось rsg16 24.08.2011, 14:05, всего редактировалось 1 раз.

Renaissance
Полковник
Полковник
Сообщения: 6942
Зарегистрирован: 03.06.2009
Благодарил (а): 2390 раз
Поблагодарили: 2807 раз
Контактная информация:

#14 Сообщение 24.08.2011, 14:04

Потому что нужно:

Код: Выделить всё

cd mix/orangebox/ && screen -AmdS mix ./srcds_tk
Скрипт положи в домашнюю, и не надо никаких cd в кронтабе.

Код: Выделить всё

0-59 * * * * ~/имяскрипта.sh &> /dev/null

Аватара пользователя
jamaicada
Лейтенант
Лейтенант
Сообщения: 103
Зарегистрирован: 31.05.2009

#15 Сообщение 24.08.2011, 22:52

Чувствуется глубина познания вопроса. И назревает пара вопросов.
1. Стопить как сервер будете? Запуск сервера в скрине порождает 3 процесса довольно схожих визуально. Я не говорю про рестарт.
2. И сколько раз твердили миру... не запускать сетевые приложения от рута. Ну не надо этого делать.
3. Крон был придуман, блин, не для запуска серверов, а для переодичного выполнения чего либо. Для определения статуса сервера можно использовать monit.

Ответить