FTP sichern in sh Datei mit Crontab

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
boa
Beiträge: 77
Registriert: 27.07.2004 15:51:08

FTP sichern in sh Datei mit Crontab

Beitrag von boa » 09.12.2008 21:17:41

Hallo. Ich habe eine .sh Datei, die eine Datenbank packt und danach auf einen FTP Fileserver hochladen soll. Wenn ich die Datei direkt aufrufe, klappt alles, aber wenn ich das über einen Crontab mache, wird die Datei zwar gepackt, aber das Sichern per FTP findet nicht statt. Kann das an der Laufzeit liegen oder was kann das sein?

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: FTP sichern in sh Datei mit Crontab

Beitrag von rendegast » 09.12.2008 23:47:14

Das Environment für cron-Jobs ist generischer, zBsp Pfade und Variablen.
Du solltest Dein Script daraufhin abklopfen.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

boa
Beiträge: 77
Registriert: 27.07.2004 15:51:08

Re: FTP sichern in sh Datei mit Crontab

Beitrag von boa » 11.12.2008 12:32:16

Das script sieht wie folgt aus:

Code: Alles auswählen

#!/bin/sh
DATUM=`date +%d-%m`
tar cvfz /srv/backup/datenbank.$DATUM.xxx.gz /srv/backup/datenbank.$DATUM.xxx.sql
ftp -in <<EOF
open xxx.xxx.xxx
user webx xxxxxxxx
bin
cd /files
put datenbank.$DATUM.xxx.gz
QUIT
EOF
Der Cron wird ja auch ausgeführt, da die Datenbank ja gepackt wird, allerdings klappt der FTP per Cron nicht. Bei einem manuellen Aufruf funktioniert es aber

cosmac
Beiträge: 4579
Registriert: 28.03.2005 22:24:30

Re: FTP sichern in sh Datei mit Crontab

Beitrag von cosmac » 11.12.2008 13:39:18

hi,

da fehlt wohl entweder ein 'cd' oder der absolute Pfad beim put-Befehl:

Code: Alles auswählen

put /srv/backup/datenbank.$DATUM.xxx.gz
Beware of programmers who carry screwdrivers.

boa
Beiträge: 77
Registriert: 27.07.2004 15:51:08

Re: FTP sichern in sh Datei mit Crontab

Beitrag von boa » 12.12.2008 00:01:18

cd /files
steht ja darüber. Die Datei, die kopiert werden soll befindet sich im selben Verzeichnis wie die .sh Datei

cosmac
Beiträge: 4579
Registriert: 28.03.2005 22:24:30

Re: FTP sichern in sh Datei mit Crontab

Beitrag von cosmac » 12.12.2008 00:15:05

jein, "cd" passiert auf dem Ziel-Server, lokal müsste es "lcd" heißen. Außerdem steht die datenbank...gz nicht in /files sondern in /srv/backup.

Dass das Script im gleichen Verzeichnis steht, hilft nur beim manuellen Aufruf. Wenn das Script per Cron gestartet wird, ist das Arbeitsverzeichnis aber undefiniert (wahrscheinlich ist es /, aber das bringt ja auch nichts).
Beware of programmers who carry screwdrivers.

boa
Beiträge: 77
Registriert: 27.07.2004 15:51:08

Re: FTP sichern in sh Datei mit Crontab

Beitrag von boa » 12.12.2008 11:22:44

Hatte ich gestern Nacht mal probiert, ist aber wieder nichts übertragen worden.

cosmac
Beiträge: 4579
Registriert: 28.03.2005 22:24:30

Re: FTP sichern in sh Datei mit Crontab

Beitrag von cosmac » 12.12.2008 11:54:54

:?:
normalerweise verschickt cron eine Mail mit den Fehlermeldungen, schau mal nach, notfalls direkt im Mail-Verzeichnis, z.B. /var/mail.
Beware of programmers who carry screwdrivers.

seraphyn

Re: FTP sichern in sh Datei mit Crontab

Beitrag von seraphyn » 12.12.2008 13:30:16

Warum nimmst Du nicht lftp und legst die Logindaten in ~/.netrc?
Das ganze noch mit dem Script gepaart denke ich wäre der einfachere Weg.
Gruss und Frohes Fest

boa
Beiträge: 77
Registriert: 27.07.2004 15:51:08

Re: FTP sichern in sh Datei mit Crontab

Beitrag von boa » 12.12.2008 16:39:19

Da liegt irgendwo die Lösung.
Habe das tatsächlich im Ordner var/mail gefunden.
Mit put /srv/backup/datenbank.$DATUM.xxx Could not create file
Mit put datenbank.$DATUM.xxx.gz local: datenbank.11-12.xxx.gz: No such file or directory

Antworten