GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Schreiben Sie ein Batch-Skript, um die Dateiübertragung zwischen Linux und Windows mit WinSCP zu automatisieren

Frage :Ich habe cron ausgeführt auf einem Linux-Server, um einmal am Tag ein Backup meiner Website zu erstellen. Aber ich lade diese Sicherungen ungefähr einmal in der Woche auf meinen lokalen Computer (Windows) herunter. Ist es möglich, die Dateiübertragung von Linux zu Windows zu automatisieren?

Antwort:

Ja, du kannst. Werfen Sie einen Blick auf die Skript- und Automatisierungsfunktion von WinSCP.

In diesem Tutorial erkläre ich, wie Sie ein Batch-Skript schreiben, um die Dateiübertragung zwischen Linux und Windows mit WinSCP zu automatisieren, und das Skript dann mit dem Taskplaner in Windows planen.

Annahmen:Ich gehe davon aus, dass der SSH-Server auf einem Linux-Rechner läuft und der lokale Rechner Windows 10 ist.

Batch-Skript schreiben, um die Dateiübertragung von Linux nach Windows zu automatisieren

Habe ich gesagt, ein Batch-Skript zu schreiben? Ich meinte das nicht wirklich, stattdessen verwenden wir WinSCP, um das Batch-Skript zu generieren.

Schritt 1 :WinSCP-Anwendung starten.

Schritt 2 :Überprüfen Sie zunächst die Version von WinSCP

Schritt 3 :Wenn Sie eine ältere Version von WinSCP verwenden, müssen Sie die neueste Version herunterladen und installieren.

Schritt 4 :Starten Sie WinSCP nach der Installation der neuesten Version.

Schritt 5 :Melden Sie sich beim Linux-Rechner (remote) an, indem Sie die erforderlichen Details wie IP-Adresse, Benutzername und Passwort eingeben.

Schritt 6 :Klicken Sie nach erfolgreicher Anmeldung auf Sitzung> Sitzungs-URL/-Code generieren aus dem Menü.

Schritt 7 :Im Abschnitt „Sitzungs-URL/Code generieren “-Dialog, suchen Sie nach „Passwort ” Kontrollkästchen. Wenn es deaktiviert ist, müssen Sie es aktivieren, um die Dateiübertragung zu automatisieren. Dazu müssen Sie die Sitzung mit dem erforderlichen Benutzernamen und Passwort speichern.

Achtung:Es wird nicht empfohlen, das Passwort zu speichern, aber wenn Sie sich automatisch anmelden und Dateien übertragen möchten, müssen Sie das Passwort speichern.

Schritt 8 :Wählen Sie „Skript aus “ und wählen Sie „Batch-Datei “ im Format Feld.

Schritt 9 :Klicken Sie auf „In die Zwischenablage kopieren ” und fügen Sie den Code in einen Notizblock ein.

Schritt 10 :Ändern Sie die Zeile „Your command 1 “ und „Dein Befehl 2 “. Die Befehle können Get, Put oder Synchronize sein .

Wenn Sie beispielsweise eine Datei in das Remote-Verzeichnis stellen/hochladen möchten, lautet der Befehl wie folgt:

Put-Syntax:

put <file> [ [ <file2> ... ] <directory>/[ <newname> ] ]

Beispiele für Put-Befehle:

put file.html
put d:\www\file.html

Befehlsbeispiele abrufen:

get file.html d:\www\

Wenn Sie die Ordner zwischen dem Remote- und dem lokalen Computer synchronisieren möchten, müssen Sie local/remote/both synchronisieren verwenden Befehle. Das folgende Skript zeigt das.

@echo off
"C:\Program Files (x86)\WinSCP\WinSCP.com" ^
/log="E:\Backup\WinSCP.log" /ini=nul ^
/command ^
"open sftp://username:[email protected]/ -hostkey=""ssh-rsa 2048 leave_the_key"" -rawsettings Cipher=""aes,blowfish,3des,chacha20,WARN,arcfour,des"" KEX=""ecdh,dh-gex-sha1,dh-group14-sha1,dh-group1-sha1,rsa,WARN""" ^
"synchronize local E:\Backup /home/domain/backup" ^
"exit"
set WINSCP_RESULT=%ERRORLEVEL%
if %WINSCP_RESULT% equ 0 (
echo Success
) else (
echo Error
)
exit /b %WINSCP_RESULT

Im obigen Skript habe ich lokal synchronisieren verwendet um Dateien zwischen dem Remote- und dem lokalen Computer zu synchronisieren. Das bedeutet, dass die Änderungen im Remote-Verzeichnis auf das lokale Verzeichnis angewendet werden.

Hinweis :Die Karotte ( ^ ) wird verwendet, um lange Befehle aufzuteilen.

Alternativ können Sie auch

verwenden
  • Fernbedienung synchronisieren – die Änderungen aus dem lokalen Verzeichnis werden auf das entfernte Verzeichnis angewendet.
  • beide synchronisieren – ändert sowohl das entfernte als auch das lokale Verzeichnis.

Schritt 11 :Speichern Sie das Skript als .bat (BATCH)-Datei.

Schritt 12 :Doppelklicken Sie auf die Batchdatei, um das Skript zu testen. Sie sollten ein Befehlsfenster sehen, das den Status der Dateiübertragung anzeigt.

Aufgabe im Windows Taskplaner erstellen

Abschließend planen wir das Batch-Skript mit dem Windows-Taskplaner. Wahrscheinlich möchten Sie täglich oder jeden Montag um 3 Uhr morgens eine Sicherung planen.

Schritt 1 :Aufgabenplanungsprogramm starten

Schritt 2 :Klicken Sie im Menü auf Aktion> Aufgabe erstellen

Schritt 3 :Stellen Sie den Namen der Aufgabe, Auslöser, Aktion und Bedingungen wie unten gezeigt ein:

Schritt 4 :Überprüfen Sie, ob die Aufgabe ordnungsgemäß erstellt wurde. Dazu müssen Sie im linken Seitenbereich auf den Knoten „Aufgabenplanungsbibliothek“ klicken und die Liste der Aufgaben im mittleren Bereich anzeigen.

Schritt 5 :Um das Skript zu testen, klicken Sie einfach mit der rechten Maustaste auf die Aufgabe und wählen Sie „Ausführen “.

Wenn Sie eine Sicherungskopie der Aufgabe erstellen möchten, klicken Sie mit der rechten Maustaste auf die Aufgabe und wählen Sie Exportieren .


Linux
  1. Szyszka – Neuer schneller Batch-Dateiumbenenner für Linux, Windows, Mac

  2. So konfigurieren Sie den SAMBA-Server und übertragen Dateien zwischen Linux und Windows

  3. Linux-Warteschlangensystem

  4. Windows vs. Linux Ortszeit?

  5. Einmal schreiben, viele lesen (WORM) unter Verwendung des Linux-Dateisystems

Übertragen Sie Dateien zwischen Windows und Linux über Ihr lokales Netzwerk

So zeichnen Sie Linux-Terminalsitzungen mit den Befehlen „script“ und „scriptreplay“ auf und geben sie wieder

Mit NitroShare können Sie Dateien ganz einfach zwischen Linux, Windows und Mac austauschen

Übertragen Sie Dateien mit WinSCP

10 PuTTY PLINK-Beispiele zur Automatisierung von Remote-Linux-Befehlen aus Windows-Stapeldateien

So führen Sie den SUDO-Befehl in WinSCP aus, um Dateien von Windows nach Linux zu übertragen