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/.
Witam,
w najblizszym czasie planuje ustawic serwerek w piwnicy do domowego uzytku. Nie ma potrzeby aby chodzil on caly czas. O ile nie bedzie wiekszego problemu z wake on lan to zastanawia mnie jak rozwiazac shutdown. Oczywiscie moge za kazdym razem, kiedy serwer nie bedzie mi potrzebny, logowac sie na ssh i robic to recznie. Niestety pozostali domownicy moga miec z tym problem. Takie rozwiazanie odpada.
Myslalem o skrypcie/programie, ktory monitoruje ruch w sieci lokalnej i po jakims okresie bezczynnosci wylacza komputer. Takie rozwiazanie byloby idealne, jednak nie wiem jak sie do tego zabrac.
Czytalem o magicznym pliku, ktory udostepnia sie przez sambe i po uruchomieniu go wylacza komputer. To jedna z ewentualnosci, ale nawet nie wiem jak sie do niej zabrac...
Macie jakies pomysly ? Pozdrawiam !
Offline
no to może jakiś prosty skrypt php? "exec" który wywoła halt?
Chodzi mi o to , że np domownik w wyszukiwarce wpisze sobie "192.168.0.1/shutdown.php" i się komp wyłączy ;]
Pozdrawiam
Offline
ja bym zrobil cos takiego: robie w sambie zasob np shutdown do ktorego wymagane jest logowanie i do tego zasobu dolaczam opcje:
root preexec = /bin/bash 'poweroff'
Offline
Dziekuje za szybka odpowiedz. Jednak chcialbym zeby odbywalo sie to automatycznie, jezeli sie nie da to bede kombinowal zeby robic to recznie przez jakis skrypt php, sambe etc.
Hm, zastanawiam sie czy ciezko byloby napisac taki skrypt, ktory monitorowalby siec i po krotkiej bezczynnosci wylaczy komputer. W sieci mam dwa komputery + serwer, sprawdzanie czy sa wlaczone mogloby sie odbywac za pomoca pinga. Czasem do mojej sieci podlaczaja sie dodatkowe komputery i tutaj zaczynaja sie jeszcze wieksze schody :)
Pozdrawiam
Offline
#!/bin/bash FOO=0 until [ $FOO -eq 4 ]; do if [ `ping -c 1 192.168.0.1 | grep from | wc -l` -eq 0 ]; then FOO=$[FOO + 1] else FOO=0 fi sleep 15m done shutdown -h now
Co 15 minut sprawdza czy dany IP odpowiada na ping. Jeśli nie -- zmienna FOO wzrasta o 1, jeśli odpowie -- FOO jest zerowane. Gdy FOO dojdzie do 4 (czyli po godzinie nieudanego pingowania) nastąpi shutdown.
Skrypt pisany na szybko, sprawdza tylko jeden komputer, ale nie chce mi się czegoś lepszego teraz pisać (poduszka tak tęsknie patrzy). Powinno być stosunkowo dobrą bazą do rozwinięcia.
Debianoc. :)
Offline
A ma ktoś jakiś pomysł, zeby jeszcze sprawdzało czy serwer nic nie pobiera ?
Offline
azhag wielkie dzieki, o cos takiego wlasnie mi chodzi, tylko nie wiem jak rozszerzyc ten skrypt na kilka komputerow :)
Offline
#!/bin/bash BAR=0 until [ $BAR -eq 4 ]; do sleep 15m FOO1=`ping -c 1 IP1 | grep from | wc -l` FOO2=`ping -c 1 IP2 | grep from | wc -l` FOO3=`ping -c 1 IP3 | grep from | wc -l` FOO=$[FOO1 + FOO2 + FOO3] if [ $FOO -eq 0 ]; then BAR=$[BAR + 1] else BAR=0 fi done shutdown -h now
a np. tak
Usypianie przeniosłem na początek pętli.
FOOx sprawdza poszczególne IP-ki, FOO to suma tychże.
Jeśli FOO wynosi 0 (czyli żaden IP nie odpowiedział) to BAR wzrasta o 1, jeśli nie -- BAR jest zerowany i rośnie od nowa. Gdy dojedzie do czterech system zostanie zamknięty.
Ostatnio edytowany przez azhag (2008-04-29 11:02:21)
Offline
maro napisał(-a):
A ma ktoś jakiś pomysł, zeby jeszcze sprawdzało czy serwer nic nie pobiera ?
mozna z ifconfiga wyciagac transfery i je porownywac, ale brak pobierania != niezerowe transfery ... lepiej chyba sprawdzac aktywne polaczenia w netstat ...
Offline
przepraszam za odkopanie tego tematu ale powyższe skrypty bardzo by mi się przydały, z tym że podczas odpalania 1 skryptu mam info
Line 4: [:Brakuje `]'
natomiast w drugim skrypcie mam
Line 3: [:Brakuje `]'
W którym miejscu są te braki bo robiłem wszelakie kombinacje i nie moge uruchomić tego skryptu.
P.S
Noga jestem z pisania skryptów dlategoż o pomoc krzyczę.
dzięki z góry za odpowiedź
Offline