• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Kein FTP Upload per Cron möglich.

Torti0013

Newbie
Hallo,

Hab ein kleines Problem. Ich möchte per Cron ein Backup um eine bestimmte Uhrzeit auf einen Windows FTP-Server schieben. Folgendes Sktipte habe ich dazu verwendet: Als Distribution ist auf dem Gerät CentOS installiert, basiert wohl auf RedHad.

  • #!/bin/bash
    find /_sicherung/*.tar -ctime +20 -exec rm {} \; #alle daten die aelter als x tage sind werden geloescht
    tar -cf /_sicherung/sicherung_gespage_`date +%Y-%m-%d`.tar /home/gadmin/backup/gespage*

    machine=10.196.10.52
    login=benutzer_ftp
    password=test

    ftp -ni $machine << END_OF_FTP
    user $login $password
    mput sicherung*

Wenn ich das Skript direkt aufrufe ./backup.sh funktioniert alles ohne Probleme. Auch mit jedem Benutzer. Sicherheitshalber ich die Datei mal auf 777 gesetzt.

Wenn ich nun dies über einen Cron aufrufe erfolgt nur der Login auf dem FTP-Server und der Logout und das wars. Dateien werden keine übertragen.

Diese Ausgabe habe ich mal in ein Log umgeleitet:

  • Connected to 10.196.10.52 (10.196.10.52).
    220-FileZilla Server version 0.9.23 beta
    220-written by Tim Kosse (Tim.Kosse@gmx.de)
    220 Please visit http://sourceforge.net/projects/filezilla/
    Remote system type is UNIX.
    331 Password required for r1srt027_ftp
    230 Logged on
    221 Goodbye

Ich bin kein Crack und stehe nun voll auf der Leitung :?. Mir leuchtet nicht ein das es beim direkten Aufruf über die Konsole funktioniert und per Cron nicht. :?:

Vielen Dank mal
 
OP
T

Torti0013

Newbie
ist doch drin und warum tut es dann beim direkten aufruf über die konsole mit ./backup.sh da blick ich nicht :(

wenn ich END_OF_FTP ganz unten einfüge kommtz nur der login und er bleibt beim ftp-prompt stehen.
 

Leviathan

Hacker
Der findet wahrscheinlich einfach die Files nicht, da er in /USERHOME/sicherung* sucht und nicht /_sicherung/sicherung*

==> einfach mal ein

cd /_sicherung/

mit ins script vor dem FTP aufruf einbauen

Gruß Dominik
 
Normalerweise erwartet mput noch weiteren Input, d.h. es fragt dich beim ersten Mal...
Code:
ftp> mput z*
mput z_want [anpqy?]?
Und das hast du ja nicht beantwortet... ich schlage dir wput vor, auch wenn ich das selber noch nicht probiert habe.
 
OP
T

Torti0013

Newbie
@Leviathan
1000 dank das warst, jetzt ist das skript per cron gelaufen.

@jengelh
mit mput gehts, zumindest werden die daten übertragen.


danke für die schnelle hilfe
 
Oben