Autor |
Nachricht |
|
|
Titel: Script zum starten eines Servers täglich um die gleiche Zeit
Verfasst am: 23.02.2012, 11:01 Uhr
|
|
Anmeldung: 26. Mar 2005
Beiträge: 19
|
|
Hallo, jetzt sind die Spezialisten für Scripte gefragt,
ich hoffe das beherrscht nicht nur unser Chef
Aufgabenstellung:
Script zum automatischen aufwachen eines Servers, täglich um die gleiche Zeit.
Wir nehmen hier mal 19:00 Uhr. Ausführender Dienst ist wakealarm.
Code:
if [ 'date +"%H"' -gt 19 ]
then
# Nach 19:00 Uhr
sudo sh -c 'date "+%s" -d "now 19:00 + 1 day"' > /sys/class/rtc/rtc0/wakealarm'
else
# Vor 19:00 Uhr
sudo sh -c 'date "+%s" -d "now 19:00"' > /sys/class/rtc/rtc0/wakealarm'
fi
Die Befehle einzeln eingeben ins Terminal, funktioniert perfekt.
Das Script ist nicht von mir ich habe es als Lösungsansatz im Internet gefunden, leider funktioniert es ja nicht, sonst müßte ich hier nicht noch einmal fragen.
Der Fehler befindet sich gleich in der 1. Zeile.
Kurze Beschreibung was das Script macht :
if [ 'date +"%H"' -gt 19 ] <-- wenn Server gestartet und Uhrzeit größer als 19 (Uhr)
then (größer 19:00 Uhr)
sudo sh -c 'date "+%s" -d "now 19:00 + 1 day"' > /sys/class/rtc/rtc0/wakealarm'
else (andernfalls vor 19:00 Uhr)
sudo sh -c 'date "+%s" -d "now 19:00"' > /sys/class/rtc/rtc0/wakealarm'
fi
Kann mir jemand sagen wo hier der Fehler liegt ?
Im voraus vielen Dank.
Gruß
Thomas |
|
|
|
|
 |
|
Titel: Script zum starten eines Servers täglich um die gleiche Zeit
Verfasst am: 23.02.2012, 12:45 Uhr
|
|
Anmeldung: 10. Jan 2006
Beiträge: 183
|
|
huhu,
der "autostart" und eine Stinknormale Zeitschaltuhr ist keine Option?  |
|
|
|
|
 |
|
Titel: Script zum starten eines Servers täglich um die gleiche Zeit
Verfasst am: 23.02.2012, 13:59 Uhr
|
|
Anmeldung: 17. Dez 2003
Beiträge: 16792
|
|
Ich weiss ja nicht ob du sudo be dir konfiguriert hast, aber auch wenn:
Code:
if [ $(date +%H) -gt 19 ]
müsste es ja wohl heissen... Das mit ` würde auch gehen, aber nicht mit ' wie dus es geschrieben hast. Sind 2 verschiedene Zeichen. $(...) macht das selbe, hat noch den Vorteil, dass man es schachteln kann. |
|
|
|
|
 |
|
Titel: Script zum starten eines Servers täglich um die gleiche Zeit
Verfasst am: 23.02.2012, 13:59 Uhr
|
|
Developer


Anmeldung: 10. Jul 2004
Beiträge: 290
Wohnort: Bayern (München & Rottenburg)
|
|
die Anführungszeichen sind falsch, muss aber wohl ein Copy&Paste-Fehler sein, sonst würde es auch nicht gehen wenn du es im Terminal eingibst: ` (Backtick) statt '
Code:
echo 0 | sudo tee /sys/class/rtc/rtc0/wakealarm
date +%s -d"$(date +%F -d5hours) 19:00" | sudo tee /sys/class/rtc/rtc0/wakealarm
erst wird der evtl. bereits gesetzte wakealarm gelöscht (durch die 0), im zweiten Befehl bekommt man dann durch -d5hours ab 19:00 das Datum des nächsten Tages (19 + 5 = 24), daran hängt man "19:00" dran, wandelt es in den Timestamp um und kopiert es in wakealarm
die sudoers braucht natürlich einen Eintrag der dem User erlaubt dort hin zu schreiben, z.B. so:
Code:
aloibl ALL = NOPASSWD: /usr/bin/tee /sys/class/rtc/rtc0/wakealarm
oder man lässt das ganze Script als root laufen und kann so einfach "| sudo tee" durch ">" ersetzen.
acritox |
_________________ http://kanotix.acritox.com/factoids - http://kanotix.acritox.com - http://acritox.de/repository - http://andreas-loibl.de - GPG: F781E713
|
|
|
|
 |
|
Titel:
Verfasst am: 23.02.2012, 17:22 Uhr
|
|
Anmeldung: 26. Mar 2005
Beiträge: 19
|
|
Hallo Kano und acritox,
vielen Dank für die Lösung gleich in doppelter Form (ich habe beide ausprobiert)
und wie erwartet funktioniert die Korrektur des Scripts durch Kano als
auch der neue Lösungsansatz von acritox.
Nochmals vielen Dank euch beiden !!
Im Bios des Servers gab es keine Einstellmöglichkeit, obwohl der Server
erst 2011 gekauft wurde. Das war also die Einzige professionelle Lösung.
@brot
Mit Zeitschaltuhren möchte ich lieber nicht arbeiten, ich fasse es mal als
kleinen Scherz auf.
Thema betrachte ich als GELÖST !
Gruß
Thomas |
|
|
|
|
 |
|