FTP zum ersten Mal !

Status
Für weitere Antworten geschlossen.

ViperRt10

Benutzer
Mitglied seit
16. Aug 2009
Beiträge
1.583
Punkte für Reaktionen
33
Punkte
74
Hallo Gemeinde !
Ich möchte nun zum ersten mal per FTP von einer Homepage auf meine DS zugreifen und Backups der Site (autom.) sichern lassen.

Per DynDns habe ich eine Hostnamen, also eine dynamische IP
Den FTP Dienst im DSM habe ich aktiviert.

Muss ich einen Benutzer anlegen, oder reicht mein Login in den DSM?

Wie lauten die Einstellungen die ich in der Homepage einstellen muss ?

Einstellungen in der Homepage:
FTP Transfer Modus
Direct oder Passive ??

Wähle aus, wie die Dateien vom einen Server zum anderen Server, unter Verwendung des FTP Protokolls, transferiert werden sollen.
FTP Verbindunsmodus
Normal oder Secure(SFTP) -> möchte verschlüsselt übertragen, das funktoniert oder?


Website URL: -> mein DynDns Hostname
Bitte gib die Webseiten URL an, auf die das Backup geklont / kopiert werden soll. Beispiel: http://www.webseite.de/
FTP Hostname: ??
Beispiel ftp.webseite.de
FTP Username: mein Login ?
Beispiel 'john'
FTP Passwort: mein Login ?
Beispiel 'johnpass'
FTP Verzeichnis: ?? hätte gern auf volume1/web/Backups
Bitte gib das FTP Verzeichnis an, auf die das Backup geklont / kopiert werden soll. Beispiel: public_html/ oder htdocs/ . Stelle die Zugriffberechtigungen dafür auf 777.
Inkrementeller Transfer: Ja/Nein ??


Vielen Dank für die Hilfe, sicher sind ein paar Dau Fragen darunter, aber ich möchts gern schnell ans laufen bekommen.
 

TheGardner

Benutzer
Mitglied seit
30. Nov 2012
Beiträge
1.846
Punkte für Reaktionen
56
Punkte
74
hm, ist schon wieder ein paar Tage her! Bist Du mittlerweile ohne Hilfe weitergekommen?

- im Prinzip würde Dein Benutzername (admin) reichen, aber besser wäre noch einen zusätzlichen FTP User anzulegen (nennen wir ihn mal FTPBackup mit Passwort BackUp12 oder sowas in der Art)
- bei Modus wäre Passive am besten - allerdings musst Du dann sicherstellen, dass Du unter Systemsteuerung - FTP - FTP/FTPS den Standardportbereich auf 55536-55567 zu stehen hast (diesen Portbereich auch im Router durchgeschalten hast und unter FTP/FTPS die Haken bei "Externe IP im PASV Modus berichten" und "UTF-8 Dateinamen" gesetzt hast!
- einmal dort im Menü drinnen, solltest Du auch unter FTP den SFTP Dienst aktivieren, da Du ja verschlüsselt übertragen willst! Außerdem dann noch unter SFTP den Punkt "Port 22" auswählen (nicht vergessen auch diesen Port im Router noch durchzuschalten - in Gänze sollten jetzt dort die Ports 21, 22 und der Bereich 55536-55567 durchgeschleust werden!)

Jetzt wäre mal interessant, ob das alles schon von der Webseite aus funktioniert.
Auf der Webseite müsstest Du dann für:

Website URL = http://dein.dyndns.name/backup
FTP Hostname = dein.dyndns.name
User = FTPBackup
Pass = BackUp12
FTP Verzeichnis = /backup (wenn Du unter Systemsteuerung - User, dem User FTPBackup die Lese/Schreib Rechte für /web verpasst hast)
Inkrementell = Ja

eintragen!
 

ViperRt10

Benutzer
Mitglied seit
16. Aug 2009
Beiträge
1.583
Punkte für Reaktionen
33
Punkte
74
Hi und vielen Dank !
inzwischen weis ich das mein Server-Provider das sperrt, und er will nur feste IP's freischalten
darf er mich das verweigern ?????
 

ViperRt10

Benutzer
Mitglied seit
16. Aug 2009
Beiträge
1.583
Punkte für Reaktionen
33
Punkte
74
ist es möglich vom NAS eine automatische(täglich) FTP Verbindung zu starten und alle files vom Server zu saugen (nur unterschiedliche) ?
dann könnte man in der HP (Server) eine autom. generieren mit Cron-Jobs einstellen ohne eine ausgehende FTP Verbindung.
 

TheGardner

Benutzer
Mitglied seit
30. Nov 2012
Beiträge
1.846
Punkte für Reaktionen
56
Punkte
74
machbar wäre es mit einer Batch-Datei und nem lftp Befehl, denke ich!
So mach ich es täglich, allerdings nur mit *.gz Dateien!
 

ViperRt10

Benutzer
Mitglied seit
16. Aug 2009
Beiträge
1.583
Punkte für Reaktionen
33
Punkte
74
machbar wäre es mit einer Batch-Datei und nem lftp Befehl, denke ich!
So mach ich es täglich, allerdings nur mit *.gz Dateien!

Hi
gibts da mehr Infos bzw. Anleitungen wie die datei aussehen muss ?
 

TheGardner

Benutzer
Mitglied seit
30. Nov 2012
Beiträge
1.846
Punkte für Reaktionen
56
Punkte
74
Nicht wirklich! Ich kann Dir maximal einmal den Eintrag meiner crontab hier reinstellen, so dass Du den für Deine Zwecke abwandeln könntest.

jeden Tag um 21:30 führt der cron die Datei ftp-download.sh aus!
Code:
30      21      *       *       *       root    /volume1/web/downloads/ftp-download.sh

in der Datei sind folgende Befehle gelistet:
Code:
#!/bin/sh
#
cat ftp-befehle.ftp | lftp -u <ftp-username>,<ftp-passwort> -p 21 <servername>/<verzeichnis>
Mit lftp meldet sich das Programm mit dem hinterlegten ftp-usernamen und dem ftp-passwort auf Port 21 beim Server an. Wenn Du gleich noch in ein entsprechendes Unterverzeichnis möchtest, dann kannst Du das tun, indem Du nach dem Servernamen gleich ein / und das entsprechende Unterverzeichnis angibst! Hast Du beispielsweise ein Unterverzeichnis Download und Dein FTP Server ist "www.meinftp.com" dann schreibst Du www.meinftp.com/Download
Im Ganzen würde das dann wie folgt aussehen:

cat deine-ftp-befehle.ftp | lftp -u dein-username,dein-passwort -p 21 www.dein-servername.com/dein-unterverzeichnis

Irgendwie ist es nicht möglich ftp-Befehle ebenfalls in einer Batch-Datei in die Befehls-Abfolge einzubauen. Deswegen muss man quasi die ftp-Befehle (Hochladen, Runterladen, Verzeichniswechsel usw.) die auf dem FTP Server stattfinden, in einer separaten Datei hinterlegen! Diese sieht dann wie folgt aus:

Code:
mget *.gz
bye
der "mget *.gz" Befehl bedeutet, dass alles, was auf ....gz endet, aus dem FTP Verzeichnis runtergeladen werden soll! Geht es speziell nur um eine Datei, dann kann man "mget <Dateiname>" benutzen.
Mit bye beendet man die FTP Verbindung´, was in unserem Fall dem Batchprogramm sagt, dass es mit den Befehlen in der .sh Datei weitermachen kann!
 

ViperRt10

Benutzer
Mitglied seit
16. Aug 2009
Beiträge
1.583
Punkte für Reaktionen
33
Punkte
74
Hi TheGarden

vielen Dank für deine ausführliche Ausführung !

Ich habe nun CronJobs auf der DS, starte damit die Datei, so und nun stehe ich am Schlauch ?

meine ftp_backup.txt startet ja nur die FTP Verbindung, wo mache ich das mit dem mget? möchte das der komplette Inhalt der Site kopiert wird. einfach in der ftp_backup angehängt unter dem ftp-Befehl?!
und wie sage in welches Verzeichnis kopiert werden soll? oder ist das das Verzeichnis aus dem die ftp_backup aufgerufen wird?

vielen Dank!
 

TheGardner

Benutzer
Mitglied seit
30. Nov 2012
Beiträge
1.846
Punkte für Reaktionen
56
Punkte
74
also die Verzeichniswechsel, Download-Befehle müssen definitiv in eine extra Datei (am besten mit .ftp als Endung) zum Beispiel "ftp-befehle.ftp"
Also gesetzt dem Fall, Du hättest folgende Ordner auf Deinem FTP:

DOWNLOADS
ARCHIV
SCRIPTS
BLABLA

Das müsste dann so aussehen:
Code:
mget DOWNLOADS
mget ARCHIV
mget SCRIPTS
mget BLABLA
bye
 

Merthos

Benutzer
Mitglied seit
01. Mai 2010
Beiträge
2.709
Punkte für Reaktionen
2
Punkte
84
Alternativ wget, siehe z.B. hier.
 

ViperRt10

Benutzer
Mitglied seit
16. Aug 2009
Beiträge
1.583
Punkte für Reaktionen
33
Punkte
74
Morgen !

kommt die ftp-befehle.ftp in das selbe Verzeichnis wie die ftp-befehle.sh(mein txt)

darin alle Verzeichnisse angelegt, wie ist das mit den Unterverzeichnissen, scheint mir eine Sache zu werden die ich ständig anpassen muss. Das möchte ich eigentlich nicht...

das mit wget habe ich auch noch nicht verstanden ? ersetzt mir wegt diese dateien bzw. das eintragen aller Verzeichnisse?!
 

TheGardner

Benutzer
Mitglied seit
30. Nov 2012
Beiträge
1.846
Punkte für Reaktionen
56
Punkte
74
Ja das ist sone Sache! Ich machs umständlich und lösch bei mir (mit delete Befehlen) vorher immer alles, bevor ich zum neuen Download ansetze!
Die .ftp Datei hab ich im gleichen Verzeichnis liegen wie die .sh
Ein wget Befehl holt (glaub ich) in jedem Fall bei einem ganzen Ordner auch seine Unterordner mit runter! Du kannst es vielleicht sogar so einrichten, dass er bereits bestehende Dateien/Verzeichnisse (vom Vortags-Download) überschreibt. Dazu musst Du aber mal für diverse "Schlüssel" bei wget googeln! Es gibt da sicher was!

PS.: Die Befehlsdateien (.sh und .ftp) würde ich allerdings in einem separaten Verzeichnis anlegen, als es später Dein Backup Verzeichnis von Deinem FTP Server sein wird. Also wenn schon alles im /web Ordner, dann halt die Script Dateien unter /volume1/web/scripts/ und der ganze Backup Kram unter /volume1/web/backups/
 

ViperRt10

Benutzer
Mitglied seit
16. Aug 2009
Beiträge
1.583
Punkte für Reaktionen
33
Punkte
74
Hi TheGarden

mir wirds jetzt ein wenig zu unübersichtlich, meine tausend fragen beantworten sich irgendwie nicht, weis nicht recht....
 

TheGardner

Benutzer
Mitglied seit
30. Nov 2012
Beiträge
1.846
Punkte für Reaktionen
56
Punkte
74
kann Dich da nur meine Herangehensweise verweisen! Ich habe jeden Befehl anfangs erst einzeln im Terminal (oder in der DOS-Box früher bei Windows) getestet und dann -als es klappte- alles Schritt für Schritt in Dateien (.sh und .ftp) eingebaut und diese per Jobs automatisiert ausführen lassen!

Also in Deinem Fall heißt das, dass Du Deinen FTP Server erst mal manuell (im Terminal) aufrufen müsstest und dann mit dem mget Befehl testen müsstest, ob Du damit wirklich alle Ordner runtergeladen bekommst!
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat