Zum Inhalt springen

Skript per Cron starten


Notesfuzzi

Empfohlene Beiträge

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 von Notesfuzzi
Link zu diesem Kommentar
Auf anderen Seiten teilen

  1. Nachschauen ob crond läuft
  2. Ausgaben in /var/log/cron.log sichten
  3. Hinter den Crontab-Eintrag das ">"-Symbol benutzen, um die Ausgabe in eine Datei zu lenken.
  4. 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 von lupo49
Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...