Покажи Публикации - globaluty
* Виж публикациите на потр. | Виж темите на потр. | Виж прикачените файлове на потр
Страници: 1 2 [3] 4 5 ... 7
31  Linux секция за начинаещи / Настройка на програми / Re: Mmonit - стартиране на shell script -: Aug 19, 2015, 17:47
Разделяйки го на 2 скрипта, всичко си дойде на мястото.  :)

Сега се опитвам да получавам alerts по mail. Това са ми настройките в monitrc:

set alert my_email@gmail.com
set mailserver smtp.gmail.com port 587
username "my_email@gmail.com" password "PAROLA"

В лога получавам следните грешки.

[EEST Aug 19 17:44:29] error    : Sendmail error: 530 5.7.0 Must issue a STARTTLS command first. eu2sm1923841wic.8 - gsmtp
[EEST Aug 19 17:44:29] error    : Alert handler failed, retry scheduled for next cycle

Някакви идеи?
32  Linux секция за начинаещи / Настройка на програми / Re: Mmonit - стартиране на shell script -: Aug 17, 2015, 18:22
Копирай скриптовете в /usr/local/sbin и пробвай пак.

Не помага..  :'(
33  Linux секция за начинаещи / Настройка на програми / Re: Mmonit - стартиране на shell script -: Aug 15, 2015, 11:53
Пак същото. Попринцип сървърът се стартира за максимум 5 секунди.


EDIT: Забелязах нещо много интересно. Подобно на service-a от другата тема, когато отворя нов терминал и се опитам да execute-на start.sh (/bin/sh /home/dido/user/start.sh), сървърът не се стартира. Излиза само този ред.

http://prikachi.com/images.php?images/147/8300147A.png

Чак когато го стартирам, както съм го стартирал досега, отивам в /home/dido/user/ и пиша ./start.sh, чак след това скрипта за старт ще проработи в същия терминал. Стоп скриптът винаги си работи. Чак след това се появява и този ред, което всъщност е самият гейм сървър.

http://prikachi.com/images.php?images/158/8300158t.png
34  Linux секция за начинаещи / Настройка на програми / Re: Mmonit - стартиране на shell script -: Aug 15, 2015, 01:17
start.sh

Код
GeSHi (Bash):
  1. #! /bin/sh
  2. /home/dido/user/hlds_run -game cstrike +ip IP -port PORT --pidfile /home/dido/user/pid.pid  > CONSOLE.log 2>&1 &

Oт /hlds_run нататък са опции за стариране на геймсървъра.

stop.sh
Код
GeSHi (Bash):
  1. #! /bin/sh
  2. kill $(ps aux | grep '+ip IP -port PORT' | awk '{print $2}')
35  Linux секция за начинаещи / Настройка на програми / Re: Mmonit - стартиране на shell script -: Aug 14, 2015, 15:19
root@debian:~# ls -la /home/dido/user
total 34640
drwxrwxrwx  5 root root      4096 Aug 14 13:17 .
drwxrwxrwx 23 dido user2     4096 Aug 13 16:17 ..
-rwxrwxrwx  1 root root      4767 Aug 14 13:30 CONSOLE.log
-rwxrwxrwx  1 root root    954176 Jul 24 16:44 core.so
-rwxrwxrwx  1 root root    658817 Jul 24 16:44 crashhandler.so
drwxrwxrwx 15 root root      4096 Jul 24 16:44 cstrike
-rwxrwxrwx  1 root root     28755 Aug 14 13:17 debug.log
-rwxrwxrwx  1 root root    303632 Jul 24 16:44 demoplayer.so
-rwxrwxrwx  1 root root      7340 Jul 24 16:44 dproto.cfg
-rwxrwxrwx  1 root root   2949240 Jul 24 16:44 engine_i486.so
-rwxrwxrwx  1 root root    393734 Jul 24 16:44 filesystem_stdio.so
-rwxrwxrwx  1 root root    107274 Jul 24 16:44 hlds_linux
-rwxrwxrwx  1 root root      7778 Jul 24 16:44 hlds_run
-rwxrwxrwx  1 root root    171230 Jul 24 16:44 hltv
-rwxrwxrwx  1 root root    322152 Jul 24 16:44 libgcc_s.so.1
-rwxrwxrwx  1 root root        17 Jul 24 16:44 libSDL2.so
-rwxrwxrwx  1 root root   3769939 Jul 24 16:44 libstdc++.so.6
-rwxrwxrwx  1 root root     76032 Jul 24 16:44 libsteam_api.so
-rwxrwxrwx  1 root root   4383138 Jul 24 16:44 libsteam.so
-rwxrwxrwx  1 root root    474299 Jul 24 16:44 libtier0.so
-rwxrwxrwx  1 root root    441049 Jul 24 16:44 libvstdlib.so
-rw-r--r--  1 root root         6 Aug 13 14:50 pid
-rwxrwxrwx  1 dido user2        5 Aug 14 13:29 pid.pid
-rwxrwxrwx  1 root root    948577 Jul 24 16:44 proxy.so
-rw-rw-rw-  1 dido user2      218 Aug 14 13:16 start2.sh
-rwxrwxrwx  1 dido root       219 Aug 13 15:03 start.bat
-rwxrwxrwx  1 dido user2      248 Aug 14 13:14 start.sh
-rwxrwxrwx  1 root root         3 Aug 14 13:29 steam_appid.txt
drwxrwxrwx  4 root root      4096 Jul 24 16:44 steamapps
-rwxrwxrwx  1 root root  16627778 Jul 24 16:44 steamclient.so
-rwxrwxrwx  1 dido user2       80 Aug 13 18:38 stop.sh
drwxrwxrwx 16 root root      4096 Jul 24 16:44 valve
-rwxrwxrwx  1 root root    900425 Jul 24 16:44 vgui2.so
-rwxrwxrwx  1 root root    975981 Jul 24 16:44 vgui.so
-rwxrwxrwx  1 root root     54955 Jul 24 16:44 voice_miles.so
-rwxrwxrwx  1 root root    664256 Jul 24 16:44 voice_silk.so
-rwxrwxrwx  1 root root    135312 Jul 24 16:44 voice_speex.so
36  Linux секция за начинаещи / Настройка на програми / Re: Mmonit - стартиране на shell script -: Aug 14, 2015, 13:07
В момента имам 2 скрипта - един за пускане и един за спиране на процеса.

И двата скрипта изпълнени в терминала работят нормално.

/bin/sh /home/dido/user/stop.sh
/bin/sh /home/dido/user/start.sh

В Монит имам следното:

Код
GeSHi (Bash):
  1. Process Name          = gameserver
  2. Pid file             = /home/dido/user/pid.pid
  3. Monitoring mode      = active
  4. Start program        = '/bin/sh /home/dido/user/start.sh' timeout 3 second(s)
  5. Stop program         = '/bin/sh /home/dido/user/stop.sh' timeout 3 second(s)
  6. Existence            = if does not exist 1 times within 1 cycle(s) then restart else if succeeded 1 times within 1 cycle(s) then alert
  7. Pid                  = if changed 1 times within 1 cycle(s) then alert
  8. Ppid                 = if changed 1 times within 1 cycle(s) then alert
  9. CPU usage limit      = if greater than 50.0% 2 times within 2 cycle(s) then restart else if succeeded 1 times within 1 cycle(s) then alert
  10. System Name           = system_debian
  11. Monitoring mode      = active

Когато геймсървърът е стартиран ръчно, тоест съм изпълнил командата /bin/sh /home/dido/user/start.sh в терминала, Монит вижда сървъра Running, тоест до тук добре. Когато натисна Stop Service (от Монит), процесът се спира коректно. НО, когато се опитам да го стартирам през Монит (Start Service), процесът не може да се стартира.

В лога изписва следното:

Код:
[EEST Aug 14 12:32:15] info     : 'gameserver' start on user request
[EEST Aug 14 12:32:15] info     : monit daemon at 25821 awakened
[EEST Aug 14 12:32:15] info     : Awakened by User defined signal 1
[EEST Aug 14 12:32:15] info     : 'gameserver' start: /bin/sh
[EEST Aug 14 12:32:18] error    : 'gameserver' failed to start
[EEST Aug 14 12:32:18] info     : 'gameserver' start action done

Когато го спра през Монит (Service Stop), всичко си е точно.

Код:
[EEST Aug 14 12:53:14] info     : 'gameserver' stop on user request
[EEST Aug 14 12:53:14] info     : monit daemon at 25821 awakened
[EEST Aug 14 12:53:14] info     : Awakened by User defined signal 1
[EEST Aug 14 12:53:14] info     : 'gameserver' stop: /bin/sh
[EEST Aug 14 12:53:14] info     : 'gameserver' stop action done
37  Linux секция за начинаещи / Настройка на програми / Re: Стартиране на service -: Aug 13, 2015, 16:50
Същото е: http://www.unix.com/man-page/linux/8/insserv/

Използвам Debian 7.8.
38  Linux секция за начинаещи / Настройка на програми / Re: Mmonit - стартиране на shell script -: Aug 13, 2015, 15:17
Успях да накарам въпросният геймсървър да си пише PID-a във файл. Бях се заблудил, че трябва аз да му го дефинирам в този файл и всеки път, сървърът ще използва един и същи PID. Но явно той си го пише и Monit си го взема от този файл. Дотук добре, Monit го изкарва running, сега само остава да оправя script-a за старт/стоп :)
39  Linux секция за начинаещи / Настройка на програми / Re: Стартиране на service -: Aug 13, 2015, 14:08
insserv: warning: script 'blah' missing LSB tags and overrides
insserv: There is a loop between service monit and blah if stopped
insserv:  loop involving service blah at depth 2
insserv:  loop involving service monit at depth 1
insserv: Stopping blah depends on monit and therefore on system facility `$all' which can not be true!
insserv: exiting now without changing boot order!


Освен да сложа тея тагове, но не знам какви са.
40  Linux секция за начинаещи / Настройка на програми / Re: Стартиране на service -: Aug 12, 2015, 19:16
root@debian:/etc/init.d# update-rc.d /home/dido/user/start.sh defaults
update-rc.d: using dependency based boot sequencing
update-rc.d: error: unable to read /etc/init.d//home/dido/user/start.sh
41  Linux секция за начинаещи / Настройка на програми / Re: Стартиране на service -: Aug 12, 2015, 18:53
Код
GeSHi (Bash):
  1. root@debian:/etc/init.d# update-rc.d blah defaults
  2. update-rc.d: using dependency based boot sequencing
  3. insserv: warning: script 'blah' missing LSB tags and overrides
  4. insserv: There is a loop between service monit and blah if stopped
  5. insserv:  loop involving service blah at depth 2
  6. insserv:  loop involving service monit at depth 1
  7. insserv: Stopping blah depends on monit and therefore on system facility `$all' which can not be true!
  8. insserv: exiting now without changing boot order!
  9. update-rc.d: error: insserv rejected the script header

Пробвах да премахна insserv.

Код
GeSHi (Bash):
  1. root@debian:/etc/init.d# apt-get remove insserv
  2. Reading package lists... Done
  3. Building dependency tree
  4. Reading state information... Done
  5. Some packages could not be installed. This may mean that you have
  6. requested an impossible situation or if you are using the unstable
  7. distribution that some required packages have not yet been created
  8. or been moved out of Incoming.
  9. The following information may help to resolve the situation:
  10.  
  11. The following packages have unmet dependencies:
  12. apache2.2-common : Depends: procps but it is not going to be installed
  13. E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

Dunno.  :(
42  Linux секция за начинаещи / Настройка на програми / Re: Стартиране на service -: Aug 12, 2015, 14:30
С /bin/sh /home/dido... стана.

Работи, но когато пробвам /etc/init.d/blah start в нов терминал, нищо не се случва. Трябва първо да стартирам сървъра с ./start.sh (както си го стартирам досега), чак след това проработва скрипта.  ::)
43  Linux секция за начинаещи / Настройка на програми / Re: Стартиране на service -: Aug 11, 2015, 18:41
bin/bash /home/dido/user/start.sh - те това е пълният път до скрипта, а за grep-a не ми е ясно как трябва да е пълен

В случая когато се опитам да стартирам или да спра чрез тоя скрипт, просто ми изписва в терминала съответните неща, без да предприема действия.
44  Linux секция за начинаещи / Настройка на програми / Стартиране на service -: Aug 11, 2015, 17:48
Здравейте, опитвам се да стартирам един процес като service.

Tова е най-обикновен скрипт, който съм поставил в /etc/init.d/:

Код
GeSHi (Bash):
  1. #! /bin/sh
  2. # /etc/init.d/blah
  3. #
  4.  
  5. # Some things that run always
  6. touch /var/lock/blah
  7.  
  8. # Carry out specific functions when asked to by the system
  9. case "$1" in
  10.  start)
  11.    echo "Starting script blah"
  12.    echo "/bin/bash /home/dido/user/start.sh"
  13.    ;;
  14.  stop)
  15.    echo "Stopping script blah"
  16.    echo "kill $(ps aux | grep '[79].xx.xx.xx -port 27050' | awk '{print $2}')"
  17.    ;;
  18.  *)
  19.    echo "Usage: /etc/init.d/blah {start|stop}"
  20.    exit 1
  21.    ;;
  22. esac
  23.  
  24. exit 0

Изпълнени командите в терминала /bin/bash /home/dido/user/start.sh и kill $(ps aux | grep '[79].xx.xx.xx -port 27050' | awk '{print $2}'), работят безотказно, но в самия скрипт при стартиране и спиране не работят.

Благодаря предварително за помощта.
45  Linux секция за начинаещи / Настройка на програми / Re: Mmonit - стартиране на shell script -: Aug 10, 2015, 15:11
Добре, но тъй като нито един геймсървър няма зададен PID по подразбиране, как ще стане? Как мога да задам PID на даден процес?
Доколкото четах някъде, пишеше, че монит може да следи процес, без да го стартира, което не знам дали може да помогне с НЕизползването на PID.
Мисля, че важно да добавя е, че геймсървърите се пускат от root.

Също така можеш ли да дадеш пример за спиращ скрипт, тъй като досега съм спирал процесите винаги от Htop или от конзолата на самия геймсървър.

1) if cpu usage > 1% for 5 cycles then restart
2) if 5 restarts within 100 cycles then restart

1) това не означава ли, че ако cpu usage е по-голям от 1% за 5 цикъла ще се рестартира, тоест винаги ще се рестартира на 5 цикъла?
2) ако има 5 рестарта за 100 цикъла - пак рестарт ?


Благодаря ти предварително.
Страници: 1 2 [3] 4 5 ... 7