Hallo, ich möchte gerne monatlich Dateien per FTP von dem lokalen Dateisystem auf einen FTP Server übertragen. Wie kann ich das am einfachsten per Script durchführen? Das Script selbst würde ich dann per crontab starten, aber wie übertage ich die Dateien am unkompliziertesten. Es handelt sich um Textdateien, sowohl der Zielserver als auch Benutzername und Kennwort liegen vor, sollen aber natürlich automatisch übertragn werden.
Dateien per Script auf FPT übertragen
|
Anmeldungsdatum: Beiträge: Zähle... |
|
|
Anmeldungsdatum: Beiträge: 4453 |
Naja, schreib ein kurzes Skript, welches lftp oder ncftp verwendet, um die Dateien auf den FTP hochzuladen. Hat natürlich den unschönen Effekt, dass Du benutzernamen und Passwort für den FTP in das Skript schreiben musst, aber das lässt sich bei FTP nicht vermeiden, soweit ich weiß. Fpr lftp könnte eine Zeile z.B. so ausssehen: lftp -c "open -u Benutzer,geheimnis ftp.example.org; mput *.txt" Also, Du könntest die Zugangsdaten auch in deine ~/.netrc Datei schreiben, dann tauchen sie nicht mehr im Skript auf, aber dann liegen sie halt in der .netrc-Datei unverschlüsselt rum. |
|
(Themenstarter)
Anmeldungsdatum: Beiträge: Zähle... |
Lösung sieht schonmal gut aus. Kann ich die Dateien (es sind mehrere) auch in verschiedene Zielverzeichnisse kopieren? Wenn ich Datei "a.txt" in Verzeichnis_A und Datei "b.txt" in Verzeichnis_B haben möchte... |
|
Anmeldungsdatum: Beiträge: 4453 |
Also Du kannst auch mehrere Befehle mit Semikolon getrennt nacheinander ausführen. Das Zielverzeichnis kannst Du bei mput mit angeben mit der Option -O angeben. Probier es doch einfach mal aus. Im Zweifelsfalle: man lftp |
|
Anmeldungsdatum: Beiträge: 533 |
Man kann auch das Paßwort in einer Datei verschleiern, z.B. durch Base64, dann liegt es erstens nicht offen im Skript herum und auch nicht ganz offen in einer Datei. Paßwortdatei erstellen: echo geheimespaßwort | base64 > passdatei.txt Dann im Skript diese benutzen: passwort=$(base64 --decode passdatei.txt) curl --upload-file Quelldatei --user benutzername:$passwort ftp://fritz.box/Zielordner/ |