andisoe
Goto Top

sftp mit batch-datei

Hallo!

Problem:
Ich möchte einen Ordner von einem FTP-Server über SFTP automatisch regelmäßig (z.B. täglich) heruntersichern.

Kennt jemand eine Möglichkeit, das über eine batch-Datei mit geplantem Task zu machen?
wget geht soviel ich weiß nicht für SFTP.

Danke für eure Hilfe!

lg
andisoe

Content-Key: 74363

Url: https://administrator.de/contentid/74363

Printed on: April 24, 2024 at 21:04 o'clock

Member: problemsolver
problemsolver Nov 24, 2007 at 10:37:07 (UTC)
Goto Top
Hi Andi,

also zuerst brauchst du ein Tool, was über die Commandline zu steuern ist.
Hier empfehle ich dir sftp aus der Putty Sammlung von Simon Tatham.

PuTTY Download

Lade dir das komplette Paket herunter - hier ist dann auch PSFTP dabei.

Dann würde ich dir empfehlen, dass Du alle Daten über das Script in einer ZIP-Datei zusammenfasst, nachdem du alle zu sichernden Daten in einen Ordner kopiert hast.

Eine Referenz zu den Kommandozeilenoptionen findest Du auf den Hilfeseiten der Internetseiten oder in den hlp bzw. chm Dateien.
Beispiel für SFTP mit Putty: Link

Nochmal alles zusammen:
1.) Kopiere per Batch alle Dateien in einen Ordner.
2.) Fasse alle Dateien in einer ZIP-Datei zusammen.
3.) Lade diese Datei per PSFTP auf deinen Server hoch.
4.) Lösche nach dem erfolgreichem hochladen die ZIP-Datei

Den ersten Schritt kannst Du vernachlässigen, wenn du die Kommandozeilenoptionen des ZIP-Programms so anwendest, dass du die erstellst ZIP-Datei einfach durch bestimmte Dateien oder Ordner erweiterst. (Aber zur Übung reicht das)

Vielleicht noch ein paar Anregungen, wenn Du genug Platz auf deinem Webserver hast und die ersten Aufgaben erledigt hast:

Erstelle x Versionsstände. (Vorteil brauch ich nicht zu erklären face-wink )
Damit ist gemeint, dass Du bis maximal x Zip Dateien hochlädst. (sicherung_1.zip, sicherung_2.zip, ...) . Lösche bei einer neuen Sicherung die letzte Sicherung und benenne die Dateien auf deinem Server per FTP befehle um:
REN sicherung_4.zip sicherung_5.zip
REN sicherung_3.zip sicherung_4.zip
REN sicherung_2.zip sicherung_3.zip
REN sicherung_1.zip sicherung_2.zip

Lade danach deine neue ZIP-Datei hoch. (Ist ALLES über Batch zu lösen! Ich habs schon mal gemacht...)

Hoffe ich konnte dir ein paar Anregungen geben und wünsche Dir viel Erfolg!

Gruß

Markus
Member: andisoe
andisoe Nov 24, 2007 at 21:32:15 (UTC)
Goto Top
Vielen Dank für die detaillierte Beschreibung face-smile
So aufwendig brauchte ich es aber gar nicht, da mein Skript nur auf einem Rechner laufen muss, zu dem ich RDP-Zugang habe und von einem FTP-Server über SFTP Daten regelmäßig sichern soll.

Hab mir das mit PSFTP, mget, ... schon ganz gut angefangen zusammenzubauen, doch auf einmal geht mein PSFTP nicht mehr face-sad und WinSCP auf diesem Server auch nicht mehr, das WinSCP dürfte PSFTP aufrufen.

Was ich unmittelbar vorher herumprobiert habe:
Kopieren in C:\windows und C:\windows\system32 von PSFTP
herumprobieren mit Parametern für die batch-Datei wie -b, -batch, ...

Hat da jemand eine Erklärung, warum PSFTP sich auf einmal nicht mehr verbinden kann??

Hier die Log-Datei von WinSCP:

. 2007-11-24 22:20:51.280 --------------------------------------------------------------------------
. 2007-11-24 22:20:51.280 WinSCP Version 4.0.4 (Build 346) (OS 5.2.3790)
. 2007-11-24 22:20:51.280 Login time: Samstag, 24. November 2007 22:20:51
. 2007-11-24 22:20:51.280 --------------------------------------------------------------------------
. 2007-11-24 22:20:51.280 Session name: asoellei@edudata.uni-klu.ac.at
. 2007-11-24 22:20:51.280 Host name: edudata.uni-klu.ac.at (Port: 22)
. 2007-11-24 22:20:51.290 User name: asoellei (Password: Yes, Key file: No)
. 2007-11-24 22:20:51.290 Tunnel: No
. 2007-11-24 22:20:51.290 Transfer Protocol: SFTP (SCP)
. 2007-11-24 22:20:51.290 Ping type: -, Ping interval: 30 sec; Timeout: 15 sec
. 2007-11-24 22:20:51.290 Proxy: none
. 2007-11-24 22:20:51.290 SSH protocol version: 2; Compression: No
. 2007-11-24 22:20:51.290 Agent forwarding: No; TIS/CryptoCard: No; KI: Yes; GSSAPI: No
. 2007-11-24 22:20:51.290 Ciphers: aes,blowfish,3des,WARN,des; Ssh2DES: No
. 2007-11-24 22:20:51.290 SSH Bugs: -,-,-,-,-,-,-,-
. 2007-11-24 22:20:51.290 SFTP Bugs: -,-,-
. 2007-11-24 22:20:51.290 Return code variable: Autodetect; Lookup user groups: Yes
. 2007-11-24 22:20:51.290 Shell: default, EOL: 0
. 2007-11-24 22:20:51.290 Clear aliases: Yes, Unset nat.vars: Yes, Resolve symlinks: Yes
. 2007-11-24 22:20:51.290 Alias LS: No, Ign LS warn: Yes, Scp1 Comp: No
. 2007-11-24 22:20:51.290 Local directory: default, Remote directory: home, Update: No, Cache: Yes
. 2007-11-24 22:20:51.290 Cache directory changes: Yes, Permanent: Yes
. 2007-11-24 22:20:51.290 DST mode: 1
. 2007-11-24 22:20:51.290 --------------------------------------------------------------------------
. 2007-11-24 22:20:51.300 Looking up host "edudata.uni-klu.ac.at"
. 2007-11-24 22:20:51.350 Connecting to 143.205.178.32 port 22
. 2007-11-24 22:20:56.417 Server unexpectedly closed network connection
  • 2007-11-24 22:20:56.427 (ESshFatal) Die Netzwerkverbindung wurde vom entfernten Rechner unerwartet geschlossen


Vielen Dank für eure Hilfe!!!
Es muss irgendwo was verstellt worden sein bei meinem Herumprobieren, von einem anderen Rechner aus kann ich den Server über WinSCP problemlos erreichen.
Member: andisoe
andisoe Nov 25, 2007 at 08:33:35 (UTC)
Goto Top
Mein Problem hat sich von selbst gelöst.

Bin gestern frustriert schlafen gegangen.
Heute nach dem Aufstehen wieder probiert, alles sofort einwandrei funktioniert.
Möglicherweise war da irgendein alter Schlüssel gespeichert, keine Ahnung. Hauptsache, es funktioniert wieder! face-smile