| 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: 16809 
             
            
            
           | 
         
       
     | 
    
      
        
          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 | 
         
        
          | 
          
            
          
            
            
           | 
         
         
	        |     | 
	       
       
     | 
  
  
    | 
      
      
     | 
  
  
      | 
  
  
  
    | 
      
     |