Wetterstationsforum.info - Archiv

Software => Allgemeines Softwareforum => Thema gestartet von: rf-leo am 31.03.2020, 12:57:27

Titel: Anleitung zu WinSCP mit Hilfe einer Batch-Datei
Beitrag von: rf-leo am 31.03.2020, 12:57:27
Hallo Zusammen,

auf mehrfachen Wunsch hin, und als Zusammenfassung des Threads "http://www.wetterstationen.info/forum/allgemeines-softwareforum/winscp-lauft-nicht-durchgangig/ (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 (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:

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
Titel: Re: Anleitung zu WinSCP mit Hilfe einer Batch-Datei
Beitrag von: wneudeck am 31.03.2020, 13:58:36
Hallo Rainer,
ich denke, das ist eine hilfreiche Anleitung, danke.
Ich pinne sie oben an, damit sie leichter gefunden wird.
Titel: Re: Anleitung zu WinSCP mit Hilfe einer Batch-Datei
Beitrag von: joachimF am 02.04.2020, 15:51:24
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