skrypt sprawdzający działanie programu
|
TheWB |
Dodano 12-08-2011 12:41
|
Power User
Posty: 219
Dołączył: 16/02/2011 13:38
|
Witam
używam skryptu do sprawdzania działania oscama
sprawdza się b.dobrze
#!/bin/sh
if ps w |grep -v grep |grep -c oscam ;
then
echo `date` "Oscam working" >> /opt/tmp/Check_Oscam.log
else
echo `date` "Restarting Oscam..." >> /opt/tmp/Check_Oscam.log
/opt/bin/oscam -b -c /opt/etc/oscam/ &
fi
postanowiłem go trochę przerobić do sprawdzania transmissjon
i wyszło mi coś takiego i nawet działa:
#!/bin/sh
if ps w |grep -v grep |grep -g /opt/bin/transmission-daemon ;
[bcolor=#ff3366]then
echo `date` "Oscam working" >> /opt/tmp/Check_Oscam.log
else
echo `date` "Restarting Oscam..." >> /opt/tmp/Check_Oscam.log[/bcolor]
/opt/etc/init.d/transmission start -g /opt/etc/init.d/transmission &
fi
nie wiem co z tym podkreślonym na czerwono bo to pozostałość z oscama a bez tego nie działa
Po za tym w Schedulerze mam start transmission o 22 stop o 10
co dodać do skryptu żeby sprawdzał działanie programu tylko między godziną 22 a 10 rano
|
|
|
|
TF |
Dodano 12-08-2011 13:18
|
Power User
Posty: 249
Dołączył: 17/02/2010 21:51
|
Jak wywalisz to, co na czerwono, to się nie dziwię, że nie działa . Przecież kompletnie odwracasz wtedy działanie instrukcji if (komenda startu oryginalnie wykona się gdy proces nie zostanie wykryty a po zmianie tylko gdy proces już działa)
2 x TP-Link WR1043ND (Gargoyle PL by obsy) + SpeedStream 4101
|
|
|
|
TheWB |
Dodano 12-08-2011 13:26
|
Power User
Posty: 219
Dołączył: 16/02/2011 13:38
|
Więc tak powinien wyglądać?
#!/bin/sh
if ps w |grep -v grep |grep -g /opt/bin/transmission-daemon ;
then
else
/opt/etc/init.d/transmission start -g /opt/etc/init.d/transmission &
fi
|
|
|
|
hermes-80 |
Dodano 12-08-2011 13:56
|
VIP
Posty: 3676
Dołączył: 21/04/2009 11:24
|
#!/bin/sh
ALIVE=`ps |grep -v grep| grep "/opt/bin/transmission-daemon" |wc -l'
if [ "$ALIVE" = "0" ] then
/opt/etc/init.d/transmission start
echo `date` "Transmission start" >> /opt/tmp/Check_Transmission.log
else
echo `date` "Transmission works" >> /opt/tmp/Check_Transmission.log
fi
Raczej coś takiego, a jak zmusić by sprawdzał tylko pomiędzy tymi godzinami ?? To odpalić skrypt o 22, a zabić proces o 10.
killall {nazwa skryptu}.
Nie testowałem więc może trzeba jakieś drobne zmiany wprowadzić w skrypt.
Edytowany przez hermes-80 dnia 12-08-2011 14:09
===============================================================
Netgear WNR3500L v1
Podziękowania dla administracji Openlinksys.info!
|
|
|
|
TheWB |
Dodano 12-08-2011 14:07
|
Power User
Posty: 219
Dołączył: 16/02/2011 13:38
|
W tej chwili skrypt mam w Schedulerze wykonywalność co minutę czyli twój sposób nie zadziała
|
|
|
|
hermes-80 |
Dodano 12-08-2011 14:10
|
VIP
Posty: 3676
Dołączył: 21/04/2009 11:24
|
:) prawda ;) . Wystarczy w pętle wrzucić całość.
#!/bin/sh
X=1
while [ "$X" = "1" ] ; do
sleep 60
ALIVE=`ps |grep -v grep| grep "/opt/bin/transmission-daemon" |wc -l`
if [ "$ALIVE" = "0" ] then
/opt/etc/init.d/transmission start
echo `date` "Transmission start" >> /opt/tmp/Check_Transmission.log
else
echo `date` "Transmission works" >> /opt/tmp/Check_Transmission.log
fi
done
Edytowany przez hermes-80 dnia 12-08-2011 14:32
===============================================================
Netgear WNR3500L v1
Podziękowania dla administracji Openlinksys.info!
|
|
|
|
punkl |
Dodano 12-08-2011 15:39
|
User
Posty: 86
Dołączył: 10/11/2009 17:09
|
Ale czy nie wystarczy zaznaczyc keep alive w GUI tomato w menu Transmission? |
|
|
|
hermes-80 |
Dodano 12-08-2011 15:44
|
VIP
Posty: 3676
Dołączył: 21/04/2009 11:24
|
Pewnie i wystarczy ale skoro kombinuje coś ze skryptem to chyba jest tego świadomy lub nie ma takiej możliwości.
===============================================================
Netgear WNR3500L v1
Podziękowania dla administracji Openlinksys.info!
|
|
|
|
lpm11 |
Dodano 12-08-2011 15:54
|
User
Posty: 56
Dołączył: 05/03/2009 21:43
|
#!/bin/sh
while [ 1 ]; do
polecenie
sleep 1
done
Wg. mnie właśnie taki skrypt sprawdzi się najlepiej. Warunkiem jest nie-daemon-owy (nie mam pomysłu jak to lepiej napisać) tryb pracy. Czyli proces nie może chodzić w tle. Jeżeli wszystko jest z konfiguracją dobrze, to można nawet wywalić instrukcję sleep, ale trzeba się przy awariach liczyć z 100% obciążeniem CPU - zupełnie bezcelowym.
Odnośnie restartów oscama - jest w wersji stabilnej i nie powinny one mieć miejsca. |
|
|
|
adrian414 |
Dodano 12-08-2011 18:33
|
Power User
Posty: 388
Dołączył: 24/06/2009 16:05
|
A jak będzie wyglądać skrypt, który sprawdza działanie transmission ale tego wbudowanego w tomato od shibby'ego ?
Bo w sumie ja bym potrzebował taki. Bo przy większej ilości tj 5 torrent'ów do tomato potrafi się wysypać i robi to bardzo często, a czasami nawet przy mniejszej ilości. NIe wiem czy nie jest to wina prędkości pobierania bo mam łącze symetryk 100/100.
ASUS RT-N16 / ASUS RT-AC56U
WLA-9000AP DD-WRT v24 14896
ASUS RT-AC3200 #FreshTomato 2019.2
|
|
|
|
hermes-80 |
Dodano 12-08-2011 18:46
|
VIP
Posty: 3676
Dołączył: 21/04/2009 11:24
|
@adrian414 wszystko będzie tak samo tylko ta zmienna /opt/bin/transmission-daemon będzie dostosowana do wyświetlania procesów transmission w konsoli.
Ale dlaczego szukacie dziury w całym skoro Shibby dodał taki skrupt i w GUI wystarczy zaznaczyć keep alive.
===============================================================
Netgear WNR3500L v1
Podziękowania dla administracji Openlinksys.info!
|
|
|
|
adrian414 |
Dodano 12-08-2011 18:49
|
Power User
Posty: 388
Dołączył: 24/06/2009 16:05
|
@hermes-80
Spoko rozumiem, że wystarczy zmienić tylko ścieżkę dostępu na tą gdzie jest zamontowane transmission w tomato, ale nie wiem jak to sprawdzić. Może przez htop albo jakąś komendą ? Bo funkcja keep alive niestety się nie sprawdza, często wracam albo z pracy sprawdzam czy działa i czasami jest wyłączone przez pół dnia. Stąd pytam o to.
ASUS RT-N16 / ASUS RT-AC56U
WLA-9000AP DD-WRT v24 14896
ASUS RT-AC3200 #FreshTomato 2019.2
|
|
|
|
hermes-80 |
Dodano 12-08-2011 18:55
|
VIP
Posty: 3676
Dołączył: 21/04/2009 11:24
|
Jak uruchomisz Transmission to w konsoli wpisz ps i pokaż co ci się wyświetli.
===============================================================
Netgear WNR3500L v1
Podziękowania dla administracji Openlinksys.info!
|
|
|
|
adrian414 |
Dodano 12-08-2011 18:59
|
Power User
Posty: 388
Dołączył: 24/06/2009 16:05
|
1 root 1360 S /sbin/init noinitrd
2 root 0 SW< [kthreadd]
3 root 0 SW< [ksoftirqd/0]
4 root 0 SW< [events/0]
5 root 0 SW< [khelper]
18 root 0 SW< [kblockd/0]
44 root 0 SW [pdflush]
45 root 0 SW [pdflush]
46 root 0 SW< [kswapd0]
47 root 0 SW< [aio/0]
89 root 0 SW< [mtdblockd]
281 root 752 S hotplug2 --persistent --no-coldplug
320 root 1344 S buttons
321 root 1312 S console
322 root 1716 S /bin/sh
324 root 0 SW< [khubd]
371 root 736 S p9100d -b -f /dev/usb/lp0 0
401 root 0 SW< [scsi_eh_0]
402 root 0 SW< [usb-storage]
496 root 1712 R telnetd -p 23
499 root 1144 S dropbear -p 22 -a
642 root 0 SW< [kjournald]
1381 root 4136 S /opt/sbin/lighttpd -f /opt/etc/lighttpd/lighttpd.con
2596 nobody 2404 S vsftpd
2598 root 2536 S vsftpd
5002 root 1012 S eapd
5005 root 1192 S nas
5015 root 1724 S crond -l 9
5017 root 1028 S rstats
5037 root 2484 S nmbd -D
5054 root 3356 S N smbd -D
5056 root 2400 S vsftpd
5059 root 7152 S minidlna -f /etc/minidlna.conf
5065 root 7152 R minidlna -f /etc/minidlna.conf
5068 root 7152 S N minidlna -f /etc/minidlna.conf
5260 nobody 1080 S dnsmasq -c 1500 --log-async
5644 root 912 S miniupnpd -f /etc/upnp/config
5647 root 2560 S httpd
5668 root 1724 S udhcpc -i vlan2 -b -s dhcpc-event -H fuxx -m
6588 root 14796 S /usr/bin/transmission-daemon -g /nas/.settings
6589 root 14796 S /usr/bin/transmission-daemon -g /nas/.settings
6592 root 14796 S /usr/bin/transmission-daemon -g /nas/.settings
6593 root 14796 S /usr/bin/transmission-daemon -g /nas/.settings
9012 root 4044 S transmission-daemon
9013 root 4044 S transmission-daemon
9014 root 4044 S transmission-daemon
9015 root 4044 S transmission-daemon
9016 root 4044 S transmission-daemon
9018 root 4032 S transmission-daemon
9019 root 4032 S transmission-daemon
9020 root 4032 S transmission-daemon
9021 root 4032 S transmission-daemon
9026 root 4024 S transmission-daemon
9027 root 4024 S transmission-daemon
9028 root 4024 S transmission-daemon
9029 root 4024 S transmission-daemon
9100 root 4032 S /usr/bin/transmission-daemon -g /nas/.settings
9101 root 4032 S /usr/bin/transmission-daemon -g /nas/.settings
9102 root 4032 S /usr/bin/transmission-daemon -g /nas/.settings
9103 root 4032 S /usr/bin/transmission-daemon -g /nas/.settings
9341 root 1720 S -sh
9345 root 1712 R ps
ASUS RT-N16 / ASUS RT-AC56U
WLA-9000AP DD-WRT v24 14896
ASUS RT-AC3200 #FreshTomato 2019.2
|
|
|
|
hermes-80 |
Dodano 12-08-2011 19:15
|
VIP
Posty: 3676
Dołączył: 21/04/2009 11:24
|
#!/bin/sh
X=1
while [ "$X" = "1" ] ; do
sleep 60
ALIVE=`ps |grep -v grep| grep "transmission-daemon" |wc -l`
if [ "$ALIVE" = "0" ] then
[color=#ff0000]/opt/etc/init.d/transmission start[/color]
echo `date` "Transmission start" >> /opt/tmp/Check_Transmission.log
else
echo `date` "Transmission works" >> /opt/tmp/Check_Transmission.log
fi
done
Nie wiem jak go Shibby odpala ale to zaznaczone na czerwono na pewno nie zadziała.
===============================================================
Netgear WNR3500L v1
Podziękowania dla administracji Openlinksys.info!
|
|
|
|
TheWB |
Dodano 12-08-2011 22:24
|
Power User
Posty: 219
Dołączył: 16/02/2011 13:38
|
@hermes-80 Dzięki za zainteresowanie ale ten skrypt nie działa:
#!/bin/sh
ALIVE=`ps |grep -v grep| grep "/opt/bin/transmission-daemon" |wc -l'
if [ "$ALIVE" = "0" ] then
/opt/etc/init.d/transmission start
echo `date` "Transmission start" >> /opt/tmp/Check_Transmission.log
else
echo `date` "Transmission works" >> /opt/tmp/Check_Transmission.log
fi
ten też nie:
#!/bin/sh
X=1
while [ "$X" = "1" ] ; do
sleep 60
ALIVE=`ps |grep -v grep| grep "/opt/bin/transmission-daemon" |wc -l`
if [ "$ALIVE" = "0" ] then
/opt/etc/init.d/transmission start
echo `date` "Transmission start" >> /opt/tmp/Check_Transmission.log
else
echo `date` "Transmission works" >> /opt/tmp/Check_Transmission.log
fi
done
tak jak zrobię też nie działa:
#!/bin/sh
X=1
while [ "$X" = "1" ] ; do
sleep 60
if ps w |grep -v grep |grep -g /opt/bin/transmission-daemon ;
then
echo `date` "Oscam working" >> /opt/tmp/Check_Oscam.log
else
echo `date` "Restarting Oscam..." >> /opt/tmp/Check_Oscam.log
/opt/etc/init.d/transmission start -g /opt/etc/init.d/transmission &
fi
dodam że mam transmission bez gui w tomato
nie mam pojęcia o co chodzi w tych skryptach robię to metodą prób i błędów -pół dnia mi minęło na obserwację htop :)
Mógłby mi ktoś wyjaśnić o co chodzi w tym:
#!/bin/sh
while [ 1 ] do
polecenie
sleep 1
done
jak to dopasować do transmission ?
wodzu @shibby
czy mógłby założyć temat ze skryptami
każdy by dodał jakiś który mu działa i się sprawdza a nawet jakieś podstawowa komendy
bo te tematy zawsze wracają jak bumerang
|
|
|
|
hermes-80 |
Dodano 12-08-2011 22:27
|
VIP
Posty: 3676
Dołączył: 21/04/2009 11:24
|
Słowo nie działa - nic nie znaczy.
Pokaż co ci się wyświetla.
I nie próbuj wszystkiego co leci bo nie wszystko jest dla ciebie.
Jak byś mi dał dostęp do ssh to bym ci go dopasował bo tak strzelać i nie wiedzieć co nie gra to ciężko.
===============================================================
Netgear WNR3500L v1
Podziękowania dla administracji Openlinksys.info!
|
|
|
|
TheWB |
Dodano 12-08-2011 22:36
|
Power User
Posty: 219
Dołączył: 16/02/2011 13:38
|
Poco te nerwy
nie działa to znaczy że zabity proces transmission sam się nie uruchamia
nie mam zewnętrznego ip a portu poniżej setki nie mogę otworzyć
dzięki za próbę pomocy
jedynie zostaje TeamViewer
|
|
|
|
hermes-80 |
Dodano 12-08-2011 22:38
|
VIP
Posty: 3676
Dołączył: 21/04/2009 11:24
|
Nie ma w mojej wypowiedzi ani odrobiny zdenerwowania. Po prostu tłumacze. TV to kiepski pomysł raz już tak się bawiłem to mało nerwicy nie dostałem
===============================================================
Netgear WNR3500L v1
Podziękowania dla administracji Openlinksys.info!
|
|
|
|
TheWB |
Dodano 12-08-2011 22:53
|
Power User
Posty: 219
Dołączył: 16/02/2011 13:38
|
W SSH Daemon jest możliwość zmienienia portu jeżeli zmienię na jakieś powyżej setki powiedzmy 5555
iptables -A INPUT -p tcp --dport 5555 -j ACCEPT
to taki wpis w firewallu wystarczy zęby otworzyć ruter na świat z tym portem zakładając tak że że administrator otworzy mi ten port?
Przez TV widziałbym co robisz i przy okazji pewnie coś by podłapał a tak umrę głupi
|
|
|