Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
mam taki o skrypcik
#!/bin/bash if [ -z "$(pgrep D2GS)" ]; then { screen -dmS d2gs wine /home/d2realm/gs/D2GS.exe echo "gsUp" } fi
ktory w zalozeniu ma sprawdzac, czy jest dana usluga, a jesli jej nie ma - to uruchamiac ja od nowa.
w crontab umiescilem cos takiego
* * * * * /home/d2realm/gs/stable.sh #gs stable
i o ile "recznie" odpalony skrypt, dziala bez problemow - tak pod cronem wyglada jakby w ogole nie dzialal.
dodatkowo popisalem, jeszcze pare skryptow, ktore juz niebardzo chca dzialac.
#!/bin/bash #Bnet/pvpgn /home/d2realm/pvgn-svn/sbin/bnetd echo "pvpgn up" sleep 5 #d2cs /home/d2realm/pvgn-svn/sbin/d2cs echo "d2cs up" sleep 5 #d2dbs /home/d2realm/pvgn-svn/sbin/d2dbs echo "d2dbs up" sleep 5 #Gs screen -dmS d2gs wine /home/d2realm/gs/D2GS.exe echo "gs up" sleep 5 #torrent screen -d -m -S rtorrent rtorrent screen -d -m -S irssi irssi echo "torrent up" sleep 1
i tu mam skromne podejrzenia, ze dzialalo by to jakby udalo mi sie zamienienic /home/d2realm/pvgn-svn/sbin/bnetd na samo bnet - jak to ma miejsc z rtorrent. z tego co googlalem to jakos trzeba to ulokowac w bin/bash, niestety zmiana powloki(tak to sie nazywa?) ciut mnie przerosla.
i jeszcze mam pytanie; czy w jakis sposob moge dorzucic do pierwszego skryptu zapis do osobnego pliku godziny jego wykonania?
z gory dziekuje za wszelka pomoc i wytkniecie wszelkich bledow.
Offline
#!/bin/bash proces=$(pgrep D2GS) if [ $? -eq 1 ]; then { screen -dmS d2gs wine /home/d2realm/gs/D2GS.exe echo "gsUp" } fi
Jeśli chodzi o crontab to:
crontb -e */1 * * * * /home/d2realm/gs/stable.sh
Offline
A nie lepiej użyć [url=http://cr.yp.to/daemontools.html]Daemontools[/url]?
W Debianie "od zawsze" jest repo.
Ten grzecznie pilnuje każdego demona, i automatycznie go podnosi, kiedy ten zdechnie.
Stosowany zazwyczaj do Qmaila, ale sprawdza się przy praktycznie wszystkich problematycznych demonach.
Jest też program [url=https://packages.debian.org/wheezy-backports/monit]Monit[/url], albo lamerstwo bashowe:
while true; do PROGRAM; sleep 60; done;
I niech ktoś później spróbuje wyłączyć program. ;)
Zatrudnianie Crona do takiego pilnowania programu, to IMHO ciężkie nieporozumienie.
Pozdro
;-)
Ostatnio edytowany przez Jacekalex (2014-03-19 10:19:20)
Offline
daemontools jeszcze nie probowalem, zaraz do niego siade.
monit nie chce wspolpracowac; raz nie wykonuje skryptu po padzie, dwa nie wiem jak ustalic pid na sztywno - google nic madrego nie podpowiada.
monita tak skonfigurowalem
check process D2GS.exe with pidfile /var/run/D2GS.pid group system start program = "/home/d2realm/gs/stable.sh"
gdzie w D2GS.pid poprostu wpisalem nr z grepa
tylko co oczywiste po padzie nr sie zmienia.
Ostatnio edytowany przez jzs44 (2014-03-19 19:19:51)
Offline
Przykład użycia daemontools, np u mnie clamd miał walnięty skrypt startowy:
ls -ld /service/clamd/* -rwx------ 1 root root 67 03-19 10:42 /service/clamd/run drwxr-xr-x 3 root root 4096 03-19 10:40 /service/clamd/supervise
root ~> cat /service/clamd/run #!/bin/sh SERVICE=clamd exec /usr/bin/setuidgid clamav /usr/sbin/clamd --config-file=/etc/clamd.conf
Podnosisz demona svscan, który zarządza całym daemontools.
Ten do każdej usługi podnosi taki malutki programik supervise, który pilnuje demona, i podnosi automatycznie, jak dany demon sam zdechnie, ale nie, jak bo ubijesz.
Potem widać dwa procesy dotyczące programu i jeden demona svscan:
root 4424 0.0 0.0 1112 128 ? Ss 10:37 0:00 /usr/bin/svscan /service root 4426 0.0 0.0 1068 76 ? S 10:37 0:00 supervise clamd clamav 4451 0.0 5.7 639088 233820 ? Sl 10:38 0:18 clamd --config-file=/etc/clamd.conf
Ręczne podnoszenie usługi:
svc -u /service/program
wyłączanie:
svc -d /service/program
status usługi:
svstat /service/program
status wszystkich:
svstat /service/*
Daemontools to jeden z najlżejszych programów do podobnych zadań, jakie znam:
psmemng | egrep 'svscan|supervise' 48.0 KiB + 28.0 KiB = 76.0 KiB supervise 72.0 KiB + 56.0 KiB = 128.0 KiB svscan
Działa?
root ~> svstat /service/clamd /service/clamd: up (pid 4451) 32462 seconds
SOA#1
Ostatnio edytowany przez Jacekalex (2014-03-19 19:54:48)
Offline
Strony: 1
Time (s) | Query |
---|---|
0.00011 | SET CHARSET latin2 |
0.00003 | SET NAMES latin2 |
0.00092 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.148.117.237' WHERE u.id=1 |
0.00095 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.148.117.237', 1732630220) |
0.00061 | SELECT * FROM punbb_online WHERE logged<1732629920 |
0.00090 | DELETE FROM punbb_online WHERE ident='3.144.115.125' |
0.00049 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=25456 AND t.moved_to IS NULL |
0.00005 | SELECT search_for, replace_with FROM punbb_censoring |
0.00229 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=25456 ORDER BY p.id LIMIT 0,25 |
0.00088 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=25456 |
Total query time: 0.00723 s |