PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Server herunterfahren



Kinza
07.01.03, 15:43
Eine Frage an die Linux-Spezialisten !

Ich habe einen Linux-Rechner als Server in einem kleinen LAN.
Frage: Kann ich den Server bei längerer Inaktivität im LAN (alle Clients ausgeschaltet) automatisch runterfahren und ausschalten lassen, ohne mich zuerst als root anzumelden und den halt-Befehl einzugeben?

Vielen Dank

H.Herzig

taylor
07.01.03, 15:50
Ich würde mir ein kleines Skript schreiben.

Mit z.B. fping stellst Du fest, ob ein Rechner noch an ist. Dann gehst Du alle Rechner im LAN durch, und wenn keiner mehr läuft, machst Du ein /sbin/shutdown -h now.

Das Skript kannst Du dann per cron alle z.B. 15 Minuten laufen lassen.

Gruß,
Taylor

howlcoyote
07.01.03, 17:21
Das Programm mon ist für soetwas ausgelegt:

http://www.kernel.org/software/mon/

Kinza
09.01.03, 16:15
Hallo taylor

Vielen Dank für Deinen Tip mit dem Script. Ich habe ein kleines Script geschrieben und es funktioniert sogar ;) Jedoch mit der Ausführung via Cron-Job will es nicht hinhauen.
Erst habe ich in der System-Crontab einen entsprechenden eintrag gemacht -- nichts, dann habe ich mit Webmin einen Cron-Job aufzugeben was für root eine Tabelle unter /var/spool/cron/tabs erzeugte -- leider wurde der Job auch auf diese weise nicht gestartet.

Vielleicht hast Du oder jemand anderes mir noch weitere Hilfen betr. Cron-Jobs.

Vielen Dank

H.Herzig

taylor
09.01.03, 16:30
http://www.faq.de/vps/unix/cron.htm

HTH,
Taylor

pinguin007
10.01.03, 17:26
Hallo Kinza

würde mir gerne mal dein Skript mal ansehen, wäre nicht schlecht wenn du es mal posten würdest!

gruss
pinguin

Kinza
11.01.03, 12:16
Mein Skript "linservdn" wird von cron einfach nicht ausgeführt.

Hier einige Angaben:

SUSE 8.0

Cron
/etc/init.d/cron status
Checking for cron running

************************

Script linservdn (in /usr/bin/linservdn)
( hat Ausführungsrechte und funktioniert auf der Konsole)

---------
#!/bin/sh
#
# Bei inaktivem LAN (kein Client mehr im Netz)
# wird der Server ausgeschaltet.
#
#

if fping 192.168.0.2
then echo Netz_aktiv
else halt
fi
-------

crontab (in /etc/crontab) Leerzeile ist am Schluss!:

---------

SHELL=/bin/sh
PATH=/usr/bin:/usr/sbin:/sbin:/bin:/usr/lib/news/bin:/var/spool/cron/tabs
MAILTO=root
#
# check scripts in cron.hourly, cron.daily, cron.weekly, and cron.monthly
#
-*/15 * * * * root test -x /usr/lib/cron/run-crons && /usr/lib/cron/run-crons >/dev/null 2>&1
59 * * * * root rm -f /var/spool/cron/lastrun/cron.hourly
14 0 * * * root rm -f /var/spool/cron/lastrun/cron.daily
29 0 * * 6 root rm -f /var/spool/cron/lastrun/cron.weekly
44 0 1 * * root rm -f /var/spool/cron/lastrun/cron.monthly
* * * * * root echo Hallo

---------

crontab von root (in /var/spool/cron/tabs/root):
(erzeugt mit crontab -e)

----------

# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/tmp/crontab.2209 installed on Sat Jan 11 11:50:17 2003)
# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)
SHELL=/bin/sh
MAILTO=root
* * * * * /usr/bin/linservdn

-----------

messages ( in /var/log/messages )

Jan 11 11:53:59 linux /USR/SBIN/CRON[2291]: (root) CMD ( echo Hallo)
Jan 11 11:53:59 linux /USR/SBIN/CRON[2294]: (root) CMD (/usr/bin/linservdn)
Jan 11 11:55:00 linux /USR/SBIN/CRON[2302]: (root) CMD ( echo Hallo)
Jan 11 11:55:00 linux /USR/SBIN/CRON[2305]: (root) CMD (/usr/bin/linservdn)

-------

Was mir noch aufgefallen ist : root bekommt keine Mails vom cron

Vielen Dank für etwaige Hilfe

H.Herzig

taylor
11.01.03, 13:05
Gib mal im Script für fping den absoluten Pfad an.

Dass root keine Post bekommt, liegt entweder am nicht eingerichteten sendmail, oder aber die Post für root wird an einen lokalen Benutzer weitergeleitet. Viele Distris machen das so.

Was läuft denn bei Dir, SuSE?

Kinza
11.01.03, 17:20
Vielen Dank für die Antwort.

Wenn ich Dich recht verstanden habe, meinst Du

--------
*
*
if /usr/sbin/fping 192.168.0.2
*
*
*
------

... hab ich ausprobiert. Leider auch kein Erfolg.
Ergibt die gleichen Meldungen in /var/log/messages

Ich habe SUSE 8.0

Gruss Kinza

Kinza
14.01.03, 07:08
Hallo

Ich konnte mein Problem lösen. In meinem Script stand

-----------

if fping 192.168.0.2
then echo Netz_aktiv
else halt
fi

-----------

nachem ich das

else halt

mit

else /sbin/shutdown -h now

ausgetauscht hatte, funktionierte das Ganze.

Bis zum nächsten Mal

Kinza

taylor
14.01.03, 08:50
Original geschrieben von Kinza
Ich konnte mein Problem lösen.

Gratuliere!

Gruß,
Taylor