Dateien von externem FTP Server nach Lokal kopieren

Status
Für weitere Antworten geschlossen.

OliBü

Benutzer
Mitglied seit
25. Aug 2017
Beiträge
5
Punkte für Reaktionen
0
Punkte
0
Hallo Zusammen

Ich suche eine Möglichkeit um von einem FTP Server bestimmte Dateien auf mein Synology zu kopieren. Dies sollte täglich einmal geschehen. Gibt es eine Möglichkeit?

Falls Ja, Wie muss ich dies bewerkstelligen?

Vielen Dank für Eure Mithilfe

Gruss Oli
 

LSGHRO

Benutzer
Mitglied seit
30. Nov 2012
Beiträge
110
Punkte für Reaktionen
12
Punkte
18

OliBü

Benutzer
Mitglied seit
25. Aug 2017
Beiträge
5
Punkte für Reaktionen
0
Punkte
0
Vielen Dank

Gibt es auch eine Möglichkeit dies mit einem Skript in den Aufgaben zu bewerkstelligen?
 

QuasiHH

Benutzer
Mitglied seit
31. Jul 2017
Beiträge
4
Punkte für Reaktionen
0
Punkte
1
Ich bin da zwar nicht ganz so bewandert was die script Schiene angeht, aber wenn du in der Filestation die FTP Verbindung zum entfernten Server einbindet (Remote Ordner), dann sollte das bestimmt gehen.
 

OliBü

Benutzer
Mitglied seit
25. Aug 2017
Beiträge
5
Punkte für Reaktionen
0
Punkte
0
Leider kein Erfolg

Ich kann in der Filstation kein FTP auswählen. Nur CIFS ist Möglich.

Ich suche eine Möglichkeit um täglich ein Logfile von einem FTP Server zu kopieren und im NAS abzulegen.

Vielen Dank für Eure Mithilfe

Gruss Oli
 

Lux007

Benutzer
Mitglied seit
08. Aug 2016
Beiträge
116
Punkte für Reaktionen
2
Punkte
18
Hallo!

Bei mir auf der DS ist lftp vorhanden. Mit diesem kannst Du auch per Bash einen Datei runderladen.

Beispiel für eine Bash (z.B. testftp.sh):
#!/bin/bash
username="ftpuser"
password="ftppassword"
host="url oder ip"
ftppfad="/httpdocs/"
datei="dateiname"

lftp -u $username,$password $host << EOF

cd $ftppfad
get $dateiname

bye
EOF

Ich bin auch ein Bash-Experte. Ggf. noch vor dem Aufruf von lftp den lokalen Pfad setzen.
Wichtig: Die Datei muss nach dem Erstellen noch als ausführbare Datei "chmod 774 testftp.sh".

Viel Spass beim Testen,
gruß
Lux007
 

OliBü

Benutzer
Mitglied seit
25. Aug 2017
Beiträge
5
Punkte für Reaktionen
0
Punkte
0
Vielen Dank für die Information. Ich stehe immer noch auf dem Schlauch.

Was ist "IFTP"? Muss ich da noch was nachinstallieren?
Ich habe eine DS115J.

Ich habe eine Datei mit dem Namen "testftp.sh" erstellt und deinen Vorschlag hineinkopiert. Die Variabeln habe ich korrekt ausgefüllt.
Ich sehe aber nicht, wohin mir meine Logdatei kopiert wird.

Ich habe meine "testftp.sh" Datei in den Ordner "/volume1/logdateien" kopiert und in den Aufgaben diesen Pfad angegeben.
Leider ohne Erfolg.


Pfad der zu kopierenden Logdatei:
ftp://192.168.25.220/log/test.log

Ziel der Datei:
volume1/Logdateien/

Vielen Dank für Eure Hilfe

Gruss Oli
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
30.677
Punkte für Reaktionen
2.078
Punkte
829
"lftp" (nicht "LFTP") sollte auch auf der 115j verfügbar sein. Probiere doch bitte einmal, es direkt auf der Shell zu starten.
 

Lux007

Benutzer
Mitglied seit
08. Aug 2016
Beiträge
116
Punkte für Reaktionen
2
Punkte
18
Hallo!

Die Datei wird beim Aufruf von der Console im aktuellen Verzeichnis abgelegt. Beim Aufruf über den Aufgabenplaner weiss ich nicht, wo die Datei landet...

Den "Ablage"-Pfad im Script kannst Du oberhalb des lftp-Aufrufes durch einen entsprechenden Aufruf anpassen:

cd /volume1/Logdateien

lftp -u $username,$password $host << EOF

Für den Test mit den Pfaden (auch auf dem FTP-Server) am besten einmal über die Console "manuell" durchgehen.
z.B.
lftp -u username,passwort hostadresse
cd /log
ls (zeigt dir den Inhalt im aktuellen Verzeichnis auf dem FTP-Server)
get dateiname
bye (zum beenden)

Die Schritte, die auf der Console geklappt habe, sollten dann auch in die Bash-Datei. Beim Testen über die Consolen-Eingabe sieht man direkt, ob irgendwelche Aufrufe ggf. nicht passen...

Gruß
Lux007
 

TheGardner

Benutzer
Mitglied seit
30. Nov 2012
Beiträge
1.845
Punkte für Reaktionen
56
Punkte
74
Hier mal als Beispiel mein Script, welches ich seit Anfang an verwende und mit dem ich die Datenbank(en) meiner Foren draußen kopiere, per ftp reinhole und bei mir auf der Syno wieder installiere/überschreibe:

Code:
#!/bin/sh
#
PATH=/opt/bin:/opt/sbin:$PATH
export PATH
cd /volume1/web/dump/
cat zugang1.ftp | lftp -u ftp-master,password -p 21 www.***.de/dump
sleep 5
gzip -d *dump-***.gz
mv /volume1/web/dump/*dump-*** /volume1/web/dump/dump-***.sql
/usr/bin/mysql -uroot -password -hlocalhost db-*** < /volume1/web/dump/dump-***.sql
 

OliBü

Benutzer
Mitglied seit
25. Aug 2017
Beiträge
5
Punkte für Reaktionen
0
Punkte
0
Vielen Dank an Alle

Das kopieren habe ich mit folgendem Skript hinbekommen:
wget -b -N -q --directory-prefix=/volume1/lox ftp://User:Passwort@192.168.xxx.xxx/log/test.log

Anschliessend bekommt die Datei einen neuen Namen:
mv /volume1/lox/test.log /volume1/lox/FZW_$(date '+%y_%m_%d').txt

Leider habe ich es noch nicht geschafft, die Uhrzeit mit im Dateinamen anzuzeigen. Hat mit jemand noch einen Tip.

Gruss Oli
 
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