|
Zdalne wyłączenie komputera
rolnikov - 01-11-2009 20:20
Witam, Próbowałem napisać skrypt, który by się wykonywał podczas zamykania mojego systemu, i wyłączałby zdalny serwer. #!/bin/sh echo "zombie shutting down..." ssh rolnikov@zombie 'sudo halt'
Dodałem taki skrypt do /etc/init.d/, następnie:
sudo update-rc.d zombieShuttingDown start 20 0 .
Kiedy wykonuję go ręcznie, to serwer się wyłącza, ale skrypt nie uruchamia się kiedy zamykam swój system. Ktoś mi powie dlaczego?
lessmian2 - 01-11-2009 20:39
A sprawdziłeś czy skrypt odpalony z palca działa? Tzn. czy drugi komputer się wyłącza?
Edycja Przepraszam, krzywo czytałem ;-)
A to dla tego że zamiast przy zamykaniu, to skrypt uruchamia się przy starcie systemu. Zamień start na stop i dopasuj runlevele.
rolnikov - 02-11-2009 18:23
Przecież:
runlvl 0
to jest zamykanie systemu, a start, to polecenie aby wykonać wspomniany skrypt, mylę się?
Rad - 02-11-2009 18:47
Zauważ, że skrypt jest wywoływany w ten sposób: /etc/init.d/zombieShuttingDown start
Jednak w twoim skrypcie nie ma wzorca start i pewnie stąd ten problem. Spróbuj czegoś takiego: #!/bin/sh case "$1" in start) echo "zombie shutting down..." ssh rolnikov@zombie 'sudo halt' esac exit 0
Polecam zapoznać się z /etc/init.d/skeleton
lessmian2 - 02-11-2009 19:08
Przepraszam, za wprowadzenie w błąd. Tak to jest jak się najpierw mana nie doczyta. W każdym bądź razie nie powinno robić różnicy czy dasz parametr start czy stop, bo w Twoim skrypcie i tak nie jest on uwzględniany. Więc teraz pytanie z tych głupszych. Skrypt ma atrybut wykonywalności? Możesz też spróbować podać pełne ścieżki do binarek i sprawdzić czy to pomoże.
Utumno - 03-11-2009 15:54
Widzę dwie możliwości:
1) skrypt odpala się za pózno, np już w momencie kiedy sieć nie działa. Pokaż jak dodałeś ten skrypt 2) skrypt sie odpala, ale 'sudo halt' żąda hasła.
W ogóle, debugowanie tego przypadku zacząłbym od sprawdzenia, czy skrypt w ogóle sie loguje na zdalny serwer. Sprawdź to w jego /var/log/auth.log
rolnikov - 03-11-2009 22:39
Generalnie chyba chodziło o ten parametr ,,start''.
Z palca:
/etc/init.d/zombieShutDown start
działa.
Dziś zobaczę podczas zamykania systemu.
EDIT: Cóż, przy zwykłym wyłączaniu nie zadziałał. Nie widzialem w komunikatach przy wyłączaniu mojego napisu który znajduje sie w skrypcie. Więc tak jakby się wogóle nie odpalil :| żadne haslo nie jest potrzebne (ustawione ssh i sudo).
EDIT2:
Jeśli rzeczywiście tak jest... to teoretycznie rzeczywiście zatrzyma najpierw działanie sieci. Hmm spróbuje dać parametr stop i jak najniższy priorytet.
EDIT 3: Teraz już działa: Plik zombieShutDown:
#!/bin/sh case "$1" in stop) echo 'ZOMBIE SHUTTING DOWN' su - rolnikov -c "ssh rolnikov@zombie 'sudo halt'"
esac exit 0
Update:
update-rc.d zombieShutDown stop 20 0 .
zanotowane.pldoc.pisz.plpdf.pisz.plminister.pev.pl
|