• Willkommen im Forum „Wetterstationsforum.info - Archiv“.
 

Neuigkeiten:

Dieses Forum dient ausschließlich zu Archivzwecken.
Für Fragen nutze bitte unser aktuelles Forum, welches du unter https://wetterstationsforum.info findest.

Hauptmenü

Anleitung zu WinSCP mit Hilfe einer Batch-Datei

Begonnen von rf-leo, 31.03.2020, 12:57:27

⏪ vorheriges - nächstes ⏩

rf-leo

Hallo Zusammen,

auf mehrfachen Wunsch hin, und als Zusammenfassung des Threads "http://www.wetterstationen.info/forum/allgemeines-softwareforum/winscp-lauft-nicht-durchgangig/", möchte ich hier eine Anleitung bereitstellen.
Diese Anleitung ist eine Ergänzung zu einer früheren Anleitung im Wswin-Forum unter "https://www.pc-wetterstation.de/forum/viewtopic.php?t=10027&start=0&postdays=0&postorder=asc&highlight=&sid=82f818736f433cf3c993fdbd3af69ee9"

Auch unsereins stand mal vor dem Problem FTP über SSL, welches im Moment über den ftp-uploader nicht funktioniert, zu praktizieren.
Weitergeholfen hat mir das Programm WinSCP, mit der Möglichkeit dasjenige aus einem Batch-File heraus zu starten.

An dieser Stelle möchte ich einen Lösungsansatz allen Interessierten an die Hand geben.

Ablauf:

       
  • WinSCP downloaden und installieren. (  ;) )
  • WinSCP starten und ein neues Verbindungziel anlegen mit den entsprechenden Daten (Übertragungsprotokoll, Verschlüsselung, Rechnername, Port (21/22), Benutzername und evtl. Kennwort. Im folgenden Beispiel heißt das Verbindungsziel 'User@domain.de' mit dem Benutzername <User> und dem Kennwort <PASS> (ohne spitze Klammer in der Befehlszeile) auf dem Server 'domain.de'.
  • die zuvor angelegte Verbindung testen. Wenn dieses erfolgreich war und ihr auf dem Server navigieren könnt, geht es nun weiter ...
  • eine Batch-Datei erstellen. Dazu geht ihr mit der rechten Maustaste auf das Verbindungsziel im linken Teil des Anmeldefensters, auf das zuvor angelegte Verbindungsziel. Im aufpoppenden Kontextmenü müsst ihr den Befehl 'Erzeuge Sitzungs-Url/Code...' auswählen (siehe Bild 1)
  • Im nun erscheinenden Fenster (siehe Bild 2) müsst ihr oben 'Batch-Datei' auswählen und nun die grün gekennzeichneten Bereiche komplett in die zu erstellende Batch-Datei kopieren. Im Meinen Fall mit Namen 'winscp.bat'.
  • jetzt geht es noch an die Anpassungen der 'winscp.bat' ...

Der Inhalt wird nach der Anpassung dann in etwa wie nachfolgend aussehen. Die lila durchgestrichenen Inhalte können weggelassen / gelöscht werden.

@echo off
cd C:\Wetter\WsWin
"C:\Progis\WinSCP\WinSCP.com" ^
/ini=nul /command ^
"open sftp://User:PASS@domain.de/" ^
"synchronize remote .\html ./krentruperhagen.de/wetter -criteria=time -filemask=""|thumbs.db"" -delete" ^
"synchronize remote .\wetter_inc ./krentruperhagen.de/wetter_inc -criteria=time" ^
"exit"
exit
   

    zur Erklärung:

- @echo off ist sicherlich bekannt
- cd C:\Wetter\WsWin --- Wechsel in das lokale Wswin-Verzeichnis 'C:\Wetter\WsWin'
- C:\Progis\WinSCP\WinSCP.com --- Aufruf des Programms WinSCP (im weiteren Verlauf mit den Parametern ...)
- /ini=nul /command --- lies keine 'ini-Datei und führe Befehl(e) aus ...
- "open sftp://User:PASS@domain.de/" --- baue eine sFTP-Verbindung zum Server auf
- "synchronize remote .\html ./krentruperhagen.de/wetter -criteria=time -filemask=""|thumbs.db"" -delete" --- synconisiere das lokale Verzeichnis 'html' mit dem Remote-Verzeichnis './krentruperhagen.de/wetter' mit der Bedingung nur neuere Dateien, unter Ausschluss einer 'thumbs.db und lösche entfernte Dateien, die lokal nicht mehr vorhanden sind.
- "synchronize remote .\wetter_inc ./krentruperhagen.de/wetter_inc -criteria=time" --- synconisiere das lokale Verzeichnis 'wetter_inc' mit dem Remote-Verzeichnis './krentruperhagen.de/wetter_inc' mit der Bedingung nur neuere Dateien
- "exit" --- selbsterklärend
- Das zweite exit dient zum Schließen / Beenden des DOS-Fensters


zu guter Letzt starte ich die Batch aus Wswin heraus unter "Datei - Optionen ... - Zeitsteuerung - und dort ganz unten unter Aufzeichnung". Hier wird nun die neue Batch-Datei 'winscp.bat' über die '...' ausgewählt. Nicht den Haken zu "aktiv" vergessen.



Mit dem genannten Ablauf startet nach jedem 15 minütigen Auslesen der Wetterstation nun auch automatisch der Upload auf die Webseite.  :)

Vielleicht hilft dem Einen oder Anderen diese kleine Anleitung ein wenig weiter.
Auch ist es sinvoll in der Hilfe zu WinSCP ein wenig zu stöbern, genauso wie es im Netz einige hilfreiche Anmerkungen zum Programm gibt.

Viel Erfolg!


Gruß
Rainer
Davis VP2 mit Solar, und Blitzortung unter www.krentruperhagen.de

wneudeck

Hallo Rainer,
ich denke, das ist eine hilfreiche Anleitung, danke.
Ich pinne sie oben an, damit sie leichter gefunden wird.

joachimF

Hier noch mein 'Senf' dazu, da etwas anders:

Upload auf Server nicht über Standard-Port !
und ohne PASSWORT sondern mit KEY ! (erzeugt mit putty)

2 Dateien angelegt, eine *.bat und eine *.txt

*.bat

c:\Programme\WinSCP\WinSCP.com /xmllog=d:\netcup-wswinlog.xml /xmlgroups /script=C:\netcup-wswin.txt


WinSCP wird aufgerufen
Log-Datei erzeugt
Befehle aus der txt-Datei werden abgearbeitet

*.txt

#kein Upload sondern SYNCHRONIZE

# Automatically abort script on errors
option batch abort

# Disable overwrite confirmations that conflict with the previous
option confirm off

# Connect using a hostkey
open sftp://user@185.163.118.44:PORT -privatekey=c:\Pfad zu \win.ppk

# Change remote directory
#cd /www/html

# Force binary mode transfer
option transfer binary

#Index-Seite
synchronize remote -filemask="minidisplay.gif | */" "d:\wdaten" /var/www/wswin
synchronize remote -filemask="cam_dlink_min.jpg" "d:\wdaten\visiongs" /var/www/wswin

#exclude alle UnterOrdner
synchronize remote -filemask="aktuell*.gif;minidisplay.gif;yesterday*.gif;day?.gif;week.gif;month.gif | */" "d:\wdaten" /var/www/wswin/wetter/wdaten

#WETTER
synchronize remote -filemask="*.gif" "d:\wdaten\2020" /var/www/wswin/wetter/wdaten/2020

#SENSORSTATUS
synchronize remote -filemask="sensorstatus.html | */" "d:\wdaten" /var/www/wswin/station

#WEBCAMTEXT
synchronize remote  -filemask="ws_webcam.txt  | */" "c:\Wswin\html" /var/www/wswin/webcam

#AUSLESE
synchronize remote -filemask="auslesedatei.txt;awekas*.txt;wetterpage24.txt | */" "d:\wdaten" /var/www/wswin

#VISIONGS
synchronize remote "d:\wdaten\visiongs" /var/www/wswin/webcam

#CUSTOM
synchronize remote -filemask="custom.html | */" "d:\wdaten" /var/www/wswin/wetter/gif

# Disconnect
close

# Exit WinSCP
exit


Das war's
Gruß
Joachim

--
43° 23" - 6° 10"  - 150 ü NN
https://puttkammer.de