Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Shutdownscript beim Systemstart ausführen funktioniert nicht

Frage Linux

Mitglied: 8digit

8digit (Level 1) - Jetzt verbinden

26.04.2013, aktualisiert 22:33 Uhr, 3221 Aufrufe, 6 Kommentare, 1 Danke

Hallo,

ich habe einen alten Server, welcher per wakeonlan täglich einmal gestartet wird.
Dieser soll dann von dem eigentlichen Hauptserver einen Ordner mit Backups kopieren und dann wieder herunterfahren.

Nun habe ich dieses Script dafür geschrieben:
01.
debian-backup:~# cat /root/backup-raspi.sh 
02.
#!/bin/bash 
03.
Datum=`date +"%d.%m.%Y"` 
04.
Uhrzeit=`date +"%H:%M"` 
05.
rsync --delete -avze "ssh -p 22 -i /home/backup_key" --rsync-path='sudo /usr/bin/rsync' backupuser@192.168.2.2:/home2 /backup &> /dev/null 
06.
echo "Backup done $Datum $Uhrzeit" >> backup_log.txt 
07.
shutdown -h 5
Leider wird das Script beim Systemstart nicht gestartet.
Folgendes habe ich versucht

(ich habe zwichen dem @ und dem reboot ein Leerzeichen, weil es sonst ein Forumlink wäre!!!)
1)
sudo crontab -e
1.1) => @ reboot /root/backup-raspi.sh
1.2) => @ reboot root /root/backup-raspi.sh

2)
sudo nano /etc/crontab
2.1) => @ reboot /root/backup-raspi.sh
2.2) => @ reboot root /root/backup-raspi.sh


3)
ln -s /root/backup-raspi.sh /etc/rc3.d/S99backup-raspi

Leider funktionieren bei mir alle 3 Möglichkeit nicht, oder habe ich nur irgendwo ein Fehler gemacht?

Mfg. 8digit

Mitglied: hmarkus
26.04.2013, aktualisiert um 23:03 Uhr
Hallo,

hast Du das Skript ausführbar gemacht? also
chmod +x /root/backup-raspi.sh
Die Anführungszeichen sind überflüssig
Datum=`date +%d.%m.%Y` 
oder
Datum=$(date +%d.%m.%Y)
Du solltest zuallererst mal ausprobieren, ob das Skript überhaupt funktioniert bevor Du es mit cron automatisierst. Und natürlich, ob es das macht, was es soll.

Teste zuerst, ob Dein rsync-Befehl so funktioniert wie er soll, teste dann das shutdown-Kommando (wieso nicht einfach "halt"?). Laut manpage müsste es eher
shutdown -t +5 -h
sein, also warte 5 Sekunden und fahre dann runter, aber ich hab das nicht ausprobiert.

Markus
Bitte warten ..
Mitglied: 8digit
26.04.2013 um 23:13 Uhr
Also das Script an sich funktioniert, wenn ich es aufrufe.

Soweit mir bekannt ist reicht shutdown -h 5 aus, um den Server erst in 5min herunterzufahren.
Falls nicht, mache ich das all die Jahre schon falsch und es funktioniert trotzdem.
Man macht doch auch shutdown -h now oder einfach nur halt.

In welcher man Page steht denn bei den optionen ein -t?
http://linux.die.net/man/8/shutdown
Bitte warten ..
Mitglied: hmarkus
26.04.2013, aktualisiert um 23:24 Uhr
Das kann gut sein. Ich will nicht behaupten, dass das ein Fehler im Skript ist, ich hatte nur mal in die manpage gesehen und gelesen, dass
-t sec Tell init(8) to wait sec seconds between sending processes the warning and the kill signal, before changing to another runlevel

und

The time argument can have different formats. First, it can be an absolute time in the format hh:mm, in which hh is the hour (1 or 2 digits)
and mm is the minute of the hour (in two digits). Second, it can be in the format +m, in which m is the number of minutes to wait. The word
now is an alias for +0.
Das ist die manpage auf meinem Rechner.

Wie sehen denn die crontab Einträge aus?

Und wie ist es mit den Berechtigungen? Das Skript soll ja mit root-Rechten ausgeführt werden. Ist das so?

Markus

PS: und crond läuft?
Bitte warten ..
Mitglied: hmarkus
26.04.2013 um 23:27 Uhr
Und eine weitere Frage ist: kann denn crond im /root/ Verzeichnis überhaupt auf das Skript zugreifen? Ich würde auf meinem System ein solches Skript in /usr/local/sbin speichern.

Markus
Bitte warten ..
Mitglied: Guenni
27.04.2013 um 00:03 Uhr
Hi 8digit,

Scripte, die beim Starten/Beenden aufgerufen werden sollen, legt man im Ordner /etc/init.d ab.

Mit dem Befehl update-rc.d kannst du die Links zu dem Script in den Runlevelordnern rcX.d anlegen.

update-rc.d -n scriptname defaults

-n: Die Links werden nicht angelegt, es wird nur ausgegeben, was passieren würde.

defaults: Es werden Standardlinks angelegt.

Die Ausgabe für ein Script firewall könnte dann so aussehen:

update-rc.d -n firewall defaults

Ausgabe am Monitor:

01.
 Adding system startup for /etc/init.d/firewall ... 
02.
 
03.
   /etc/rc0.d/K20firewall -> ../init.d/firewall 
04.
   /etc/rc1.d/K20firewall -> ../init.d/firewall 
05.
   /etc/rc6.d/K20firewall -> ../init.d/firewall 
06.
   /etc/rc2.d/S20firewall -> ../init.d/firewall 
07.
   /etc/rc3.d/S20firewall -> ../init.d/firewall 
08.
   /etc/rc4.d/S20firewall -> ../init.d/firewall 
09.
   /etc/rc5.d/S20firewall -> ../init.d/firewall
K steht für Kill, S steht für Start. Die Zahl für die Reihenfolge, in der die Scripte gestartet/gekillt werden.

Mehr unter man update-rc.d, oder einfach mal Googlen.

Ich würde das mal mit einem einfachen Script testen, das einfach nur echo "Guten Morgen" ausgibt.

Dann siehst du ja, ob es beim Start aufgerufen wird.

Gruß
Günni
Bitte warten ..
Mitglied: 8digit
27.04.2013 um 00:43 Uhr
ah perfekt,

das hat Funktioniert.

Danke Danke Danke^^
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
LAN, WAN, Wireless
Internetverbindung funktioniert erst nach ipconfig renew (6)

Frage von Joshh1 zum Thema LAN, WAN, Wireless ...

Windows Server
gelöst W2008 R2 msiinstaller funktioniert nicht mehr (5)

Frage von Alix zum Thema Windows Server ...

C und C++
gelöst IF Abfrage funktioniert nicht mehr (2)

Frage von pablovic zum Thema C und C ...

JavaScript
AngularJS Variable über Input in Funktion ausführen

Frage von badkilla zum Thema JavaScript ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...