PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : FTP Backup



Janes
06.11.08, 10:03
Hallo ich will automatische backups von meinem FTP server machen und habe da in diesem board ein kleines script gefunden das genau meinen ansprüchen entspricht.


HOST=ftp.mitglied.lycos.de
USER=**ups*
PASSWD=*:)*
FILE=dbbackup-test.tar.gz


ftp -n $HOST <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
cd /home/backup
put $FILE
quit
END_SCRIPT

echo fertig.

wenn ich es aber ausführe bekomme ich immer folgende Fehlermeldung:


550 /home/backup: No such file or directory
local: dbbackup-test.tar.gz remote: dbbackup-test.tar.gz
ftp: local: dbbackup-test.tar.gz: No such file or directory
221 Goodbye.
fertig.


Das Verzeichnis /home/backup existiert auf meinem Rechner.
Zum test hatte ich auch mal die datei dbbackup-test.tar.gz manuell erstellt aber auch dann geht es nicht.

MiGo
06.11.08, 10:30
Das Verzeichnis /home/backup existiert auf meinem Rechner.
Ja, aber anscheinend auf dem entfernten nicht. Und darauf greift das Script gerade zu :)

muell200
06.11.08, 10:33
Ja, aber anscheinend auf dem entfernten nicht. Und darauf greift das Script gerade zu :)

er landet schon im homeverzeichnis:

versuch mal folgendes:


cd ~

Janes
06.11.08, 10:41
er landet schon im homeverzeichnis:

versuch mal folgendes:


cd ~

das funktioniert leider auch nicht ich bekomme immernoch den fehler:

550 ~: No such file or directory

Ich habe das script auch nochmal geändert das ich anstatt

cd /home/backup

diese schreibweise mal ausprobiert habe
lcd /home/backup

aber das geht trozdem nicht.

marce
06.11.08, 10:45
wenn Du auf Deinem Rechner in ein Verzeichnis wechseln willst so würde ich das vor dem FTP-Auruf direkt per cd machen und nicht über den ftp-Client veranlassen...

Janes
06.11.08, 10:56
wenn Du auf Deinem Rechner in ein Verzeichnis wechseln willst so würde ich das vor dem FTP-Auruf direkt per cd machen und nicht über den ftp-Client veranlassen...

okay ich habe es so geändert das er erst das verzeichnis wechselt


HOST=ftp.mitglied.lycos.de
USER=**user**
PASSWD=*passwort*
FILE=dbbackup-test.tar.gz

cd /home/backup
ftp -n $HOST <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
put $FILE
quit
END_SCRIPT

echo fertig.



220 213.193.4.19 FTP server ready
331 Password required for kanaster.
230 Welcome to Tripod DE.
local: dbbackup-test.tar.gz remote: dbbackup-test.tar.gz
ftp: local: dbbackup-test.tar.gz: No such file or directory
221 Goodbye.
fertig.

marce
06.11.08, 10:58
Lesen kannst Du aber schon?


ftp: local: dbbackup-test.tar.gz: No such file or directory

-> was sägt denn ein

ls -la /home/backup

Janes
06.11.08, 10:59
Sorry leute aber mir ist gerade aufgefallen das das problem hier meine dummheit ist.
Ich will garnichts auf den ftp server hochladen.
Ich will ein backup von dem ftp server, ich will alle dateien die auf dem ftp server sind mittels eines scripts in einem gepacktem archiv auf meinem rechner speichern.

Janes
06.11.08, 11:02
Ist ist jemand von euch da so fit das er mir mal auf die schnelle so ein kleines script schreiben kann?

marce
06.11.08, 11:04
Selber machen ist angesagt - wir helfen aber gerne :-)

-> Die erste Idee wäre evtl, mal das put durch ein get zu ersetzen...

Janes
06.11.08, 11:35
aber wie sage ich ihm das er alle detaien unterhalb von " / " runterladen soll ?
ich habe es mit "get / " mit "get * " und mit " get *.* " versucht.

Oder brauche ich dazu den absoluten pfad ?

marce
06.11.08, 11:37
man ftp
sollte helfen.

Newbie314
06.11.08, 12:04
Schreibe dir zwei Skripte: eins packt und komprimiert die Daten auf dem remote Server, das andere holt das Archiv per ftp ab. Prüfsummen bilden und überprüfen. Fertig.

Falls du frisch anfängst am besten gleich mit Perl ...

Janes
06.11.08, 12:08
Schreibe dir zwei Skripte: eins packt und komprimiert die Daten auf dem remote Server, das andere holt das Archiv per ftp ab. Prüfsummen bilden und überprüfen. Fertig.

Falls du frisch anfängst am besten gleich mit Perl ...

Für mich ist das alles leichter gesagt als getan ich zerbeiße mir schon die zähne daran die dateien runterzuladen.
Mein script sieht jetzt so aus


#!/bin/bash

HOST=ftp.mitglied.lycos.de
USER=**user**
PASSWD=**pw**


cd /home/backup
ftp -n $HOST <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
mget /data/members/free/tripod/de/e/l/m/elmuratti1976/htdocs/ /home/backup/
quit
END_SCRIPT

echo fertig.


Ich bekomme keine fehlermeldung aber er lädt auch nichts runter

Newbie314
06.11.08, 12:11
Wenn ich Skripte schreibe probiere ich die Befehle (in deinem Falle den FTP Ablauf) immer vorher von Hand aus. In deinem Falle würde dir (vermute ich.. kann es jetzt nicht ausprobieren) dabei auffallen dass nach dem /htdocs/ ein * fehlt.

=> Erstmal den gewünschten Transfer per Kommandozeile und FTP und die Befehle notieren.

marce
06.11.08, 13:28
... und als Ergänzung: der Standard-Konsolen FTP-Client kann meist kein rekursives Downloaden.