deki7
11.07.12, 13:52
Hallo zusammen
Ich habe folgendes Problem:
Ich habe ein Script erstellt, welches via SFTP auf einen Rechner zugreift und eine Datei sichert.
Da dies automatisiert laufen soll, wurde auch das Programm EXPECT für die Passwortübergabe verwendet.
/home/user/sftp.ksh
#--- Variablen deklarieren -----------------------------------------------------#
HOST='123.456.789.0'
USER='BENUTZERNAME'
PASS='KENNWORT'
PFAD=/home/user
FILE='backup.gz'
#--- SFTP-Verbindung ----------------------------------------------------------#
EXEC=$(expect -c "
spawn /usr/bin/sftp -o \"BatchMode no\" -b ${PFAD}/sftp_commands ${USER}@${HOST}
expect \"password:\"
send \"${PASS}\r\"
interact
")
echo "$EXEC"
Die SFTP-Anweisungen wurden in einer anderen Datei festgehalten.
/home/user/sftp_commands
cd /tmp/backup
lcd /home/user/backups
get backup.gz
bye
Wenn ich das Script manuell ausführe, funktioniert es einwandfrei.
Sobald ich aber einen Cronjob erstelle, passiert rein gar nichts.
crontab -e
* * * * * /home/user/sftp.ksh
Zuerst dachte ich, es würde an der Berechtigung liegen, jedoch ändert sich auch nach einer Anpassung der Berechtigungen nichts.
Folgenden Output liefert mir das Syslog.
cat /var/log/syslog
Jul 11 10:33:16 HOSTNAME crontab[14906]: (user) BEGIN EDIT (user)
Jul 11 10:33:27 HOSTNAME crontab[14906]: (user) REPLACE (user)
Jul 11 10:33:27 HOSTNAME crontab[14906]: (user) END EDIT (user)
Jul 11 10:34:01 HOSTNAME /usr/sbin/cron[1152]: (user) RELOAD (crontabs/user)
Die Ausführung des Scripts wird aber nicht protokolliert.
Ich erstellte auch ein Script, welches via SCP die Datei backuped. Leider trat das selbe Symptom auf. Manuell funktioniert es, via Cronjob nicht.
Danach erstellte ich ein kleines Script (echo `date +%H:%M:%S` >> uhrzeit.txt), welches im Minutentakt ausgeführt wird. Dieses funktionierte wiederum.
Ich bin am Ende meiner Nerven....
Besten Dank und freundliche Grüsse
Deki7
Ich habe folgendes Problem:
Ich habe ein Script erstellt, welches via SFTP auf einen Rechner zugreift und eine Datei sichert.
Da dies automatisiert laufen soll, wurde auch das Programm EXPECT für die Passwortübergabe verwendet.
/home/user/sftp.ksh
#--- Variablen deklarieren -----------------------------------------------------#
HOST='123.456.789.0'
USER='BENUTZERNAME'
PASS='KENNWORT'
PFAD=/home/user
FILE='backup.gz'
#--- SFTP-Verbindung ----------------------------------------------------------#
EXEC=$(expect -c "
spawn /usr/bin/sftp -o \"BatchMode no\" -b ${PFAD}/sftp_commands ${USER}@${HOST}
expect \"password:\"
send \"${PASS}\r\"
interact
")
echo "$EXEC"
Die SFTP-Anweisungen wurden in einer anderen Datei festgehalten.
/home/user/sftp_commands
cd /tmp/backup
lcd /home/user/backups
get backup.gz
bye
Wenn ich das Script manuell ausführe, funktioniert es einwandfrei.
Sobald ich aber einen Cronjob erstelle, passiert rein gar nichts.
crontab -e
* * * * * /home/user/sftp.ksh
Zuerst dachte ich, es würde an der Berechtigung liegen, jedoch ändert sich auch nach einer Anpassung der Berechtigungen nichts.
Folgenden Output liefert mir das Syslog.
cat /var/log/syslog
Jul 11 10:33:16 HOSTNAME crontab[14906]: (user) BEGIN EDIT (user)
Jul 11 10:33:27 HOSTNAME crontab[14906]: (user) REPLACE (user)
Jul 11 10:33:27 HOSTNAME crontab[14906]: (user) END EDIT (user)
Jul 11 10:34:01 HOSTNAME /usr/sbin/cron[1152]: (user) RELOAD (crontabs/user)
Die Ausführung des Scripts wird aber nicht protokolliert.
Ich erstellte auch ein Script, welches via SCP die Datei backuped. Leider trat das selbe Symptom auf. Manuell funktioniert es, via Cronjob nicht.
Danach erstellte ich ein kleines Script (echo `date +%H:%M:%S` >> uhrzeit.txt), welches im Minutentakt ausgeführt wird. Dieses funktionierte wiederum.
Ich bin am Ende meiner Nerven....
Besten Dank und freundliche Grüsse
Deki7