PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [Code] Schell script zum ausschalten des rechners


BerettaM92
03.01.2005, 15:21
Hi, habe aus Langeweile mal ein shellscript gebastelt das root ermöglicht den Server nach einer bestimmten Zeitspanne auszuschalten. Wie gesagt, einfacher code:

runterfahrn.sh

#!/bin/sh

# Shell Script zum ausschalten des Rechners in x Minuten
# Autor: BerettaM92
#
# Auszuführen als SU
#
# Have a lot of fun

#Prüfen ob $1 vorliegt...
if test $1 -ge 1
then
let seconds_halt=$1*60
# So lange warten bis der Countdown abgelaufen ist
echo "System wird in $seconds_halt Sekunden heruntergefahren"
sleep $seconds_halt
init 0
else
echo "Benutzung: runterfahrn.sh [Minuten]"
fi


butterkeks
03.01.2005, 16:07
man 8 shutdown

<- das Tool (was standart,äßig distributiert wird) kann das übrigens auch; dennoch netter Code für Leute, die gerade Shell SCripting lernen und ein paar Kniffe abschauen wollen

BerettaM92
03.01.2005, 17:47
jap aber selbstprogrammieren macht mir viel spaß und gerade für shell scripting das ein wenig anders ist als sprachen die ich bisher gelernt hab erfordert ein wenig übung. bin für weitere verbesserungen bezüglich dausicherheit oder so immer offen

Jan Krüger
03.01.2005, 20:14
Vorteil an shutdown: man kann es von einer beliebigen Shell aus wieder abbrechen.

Gelatine Gurk
12.03.2005, 18:42
also buben, jetzt mal ehrlich ! welcher gscheite sysadmin benachrichtigt seine user ueber einen shutdown ! einfach init 0 auf allen rechnern, schliesslich "a crash a day keeps the user
away" aber mal ernst. zum obigen skript kommt mir der gedanke, dass ja durch den echo-befehl keiner ausser dem aufrufenden die nachricht lesen kann. als moeglichkeit bietet sich wall an, mit dem man allen usern was schicken kann.

zum beispiel

echo "schleichts eich" > message
wall message

oder:

echo "fort mit euch" | wall

aber da wir ja programmieren wollen kann man auch folgendes
machen:

TERMINALS=`last | grep "still logged in" | awk ' { print "/dev/"$2 } '`
for TTY in $TERMINALS
do
echo "hallo du da" > $TTY
done

ich habe so zeugs noch nie gebraucht, weil ich immer die
rechner mit init 0 oder init 6 runterfahre ;-)

ach ja, es gibt ein tool xwall, mit dem man, glaube ich,
ein graphisches fenster kriegt mit der message
bei diesem tool ist auch ein daemon dabei, der die messages
entgegennimmt und anzeigt