31
|
Linux секция за начинаещи / Настройка на програми / Re: Mmonit - стартиране на shell script
|
-: Aug 19, 2015, 17:47
|
Разделяйки го на 2 скрипта, всичко си дойде на мястото. Сега се опитвам да получавам alerts по mail. Това са ми настройките в monitrc: set alert my_email@gmail.comset 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 Някакви идеи?
|
|
|
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): Process Name = gameserver Pid file = /home/dido/user/pid.pid Monitoring mode = active Start program = '/bin/sh /home/dido/user/start.sh' timeout 3 second(s) Stop program = '/bin/sh /home/dido/user/stop.sh' timeout 3 second(s) Existence = if does not exist 1 times within 1 cycle(s) then restart else if succeeded 1 times within 1 cycle(s) then alert Pid = if changed 1 times within 1 cycle(s) then alert Ppid = if changed 1 times within 1 cycle(s) then alert 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 System Name = system_debian 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
|
|
|
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!
Освен да сложа тея тагове, но не знам какви са.
|
|
|
41
|
Linux секция за начинаещи / Настройка на програми / Re: Стартиране на service
|
-: Aug 12, 2015, 18:53
|
GeSHi (Bash): root@debian:/etc/init.d# update-rc.d blah defaults update-rc.d: using dependency based boot sequencing 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! update-rc.d: error: insserv rejected the script header
Пробвах да премахна insserv. GeSHi (Bash): root@debian:/etc/init.d# apt-get remove insserv Reading package lists... Done Building dependency tree Reading state information... Done Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: apache2.2-common : Depends: procps but it is not going to be installed E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
Dunno.
|
|
|
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): #! /bin/sh # /etc/init.d/blah # # Some things that run always touch /var/lock/blah # Carry out specific functions when asked to by the system case "$1" in start) echo "Starting script blah" echo "/bin/bash /home/dido/user/start.sh" ;; stop) echo "Stopping script blah" echo "kill $(ps aux | grep '[79].xx.xx.xx -port 27050' | awk '{print $2}')" ;; *) echo "Usage: /etc/init.d/blah {start|stop}" exit 1 ;; esac 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
|
|