Veröffentlicht 21. Januar 200916 j Hallo, ich habe mir ein Script geschrieben, dass von diversen Servern einige Dateien kopiert. Das Skript läuft soweit, allerdings bekomme ich das nicht per cronjob gestartet. Der Inhalt der crontab lautet : # DO NOT EDIT THIS FILE - edit the master and reinstall. # (/tmp/crontab.XXXXOty4z0 installed on Tue Jan 20 19:15:35 2009) # (Cron version V5.0 -- $Id: crontab.c,v 1.12 2004/01/23 18:56:42 vixie Exp $) 10 19 * * * sh /local/scripts/copy_notesini_ids.sh 16 19 * * * touch /local/notesdata/test.txt Hinzugefügt habe ich die Einträge als root mittels crontab -e und am Ende der Datei noch eine Leere Zeile hinzugefügt. Auch der zweite Eintrag wird nicht ausgeführt. In /var/log/messages finde ich keine weiteren Informationen. Beim OS handelt es sich um ein SLES 10. #!/bin/bash #Linux Servers to access LINUX_SERVERS="Server1 Server2 Server3 Server4 Server5" # Target folder TARGET=/local/notesdata # Destination folder DESTINATION=/local/notesdata/server_backups #DOM_USER is the Linux account used to copy USER=notes #DATE DATE=`/bin/date +%Y-%m-%d` for machine in $LINUX_SERVERS do /bin/su - $USER -c "/usr/bin/scp $machine:$TARGET/notes.ini $DESTINATION/$machine-$DATE-notes.ini" /bin/su - $USER -c "/usr/bin/scp $machine:$TARGET/$machine.id $DESTINATION/$machine-$DATE-$machine.id" done exit 0 [/PHP] Bearbeitet 21. Januar 200916 j von Notesfuzzi
21. Januar 200916 j Schau mal hier. Evtl ist das ja das Problem, dass dein Linux die cronjobs nur ausführt, wenn sie auf diese Weise implementiert wurden.
21. Januar 200916 j Nachschauen ob crond läuftAusgaben in /var/log/cron.log sichtenHinter den Crontab-Eintrag das ">"-Symbol benutzen, um die Ausgabe in eine Datei zu lenken.Fehler aus Skript entfernen Hier mal ne überarbeitete Version: #!/bin/bash #Linux Servers to access LINUX_SERVERS="Server1 Server2 Server3 Server4 Server5" # Target folder TARGET=/local/notesdata # Destination folder DESTINATION=/local/notesdata/server_backups #DOM_USER is the Linux account used to copy USER=notes #DATE DATE=`/bin/date +%Y-%m-%d` for machine in $LINUX_SERVERS; do echo $machine `/bin/su - $USER -c "/usr/bin/scp $machine:$TARGET/notes.ini $DESTINATION/$machine-$DATE-notes.ini"` `/bin/su - $USER -c "/usr/bin/scp $machine:$TARGET/$machine.id $DESTINATION/$machine-$DATE-$machine.id"` done; exit 0 Bearbeitet 21. Januar 200916 j von lupo49
21. Januar 200916 j Autor Juhuuuuuu Ich habe die crontab nach LadyPreis'Link mittels crontab /etc/crontab neu angelegt und danach funktionierte das.
22. Januar 200916 j Juhuuuuuu Ich habe die crontab nach LadyPreis'Link mittels crontab /etc/crontab neu angelegt und danach funktionierte das. Gern geschehen :bimei
23. Januar 200916 j Für die Zukunft: Cronjobs legt man eigtl. nicht als root an. Als normaler Benutzer "crontab -e" (an VISUAL-variable denken) reicht da völlig.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.