So herunterladen Dateien mit dem Ansible get_url -Modul herunter

So herunterladen Dateien mit dem Ansible get_url -Modul herunter

Als Linux -Benutzer sind Sie wahrscheinlich mit Tools vertraut. Bei der Ausführung von Automatisierungsaufgaben müssen Sie gelegentlich Dateien und Pakete auf Remote -Hosts herunterladen. Während Sie WGet und Curl auf den Remote -Hosts verwenden können, um diese Funktion auszuführen.

In diesem Tutorial werden Sie angezeigt, wie Sie den Befehl Ansible get_url verwenden, um Dateien von Remote -Servern herunterzuladen.

Bevor wir beginnen, erfordert der Befehl Ansible get_url die folgenden Voraussetzungen:

  1. Der Remote -Server, von dem die Datei (n) heruntergeladen werden sollen, sollte direkten Zugriff auf den Hostserver haben.
  2. Der Host -Server sollte sowohl HTTP- als auch HTTPS -Protokolle unterstützen.

Über das Get_url -Modul

Bevor Sie erfahren, wie Sie das Get_url -Modul implementieren, gibt es zunächst einige Dinge, die es wert sind, dieses Modul zu verstehen. Das Modul get_url unterstützt die folgenden Funktionen:

  • Prüfsumme -Download und Validierung vom Server
  • HTTP-, HTTPS- und FTP -Server
  • Proxy -Server, die in der _proxy -Anweisung angegeben werden können
  • Stellen Sie eine Zeitüberschreitung für GET -Anfragen fest
  • Webkriechen
  • Grundlegende Webberechtigung

Als nächstes zeigen wir Ihnen, wie Sie das Get_url -Modul verwenden, um Dateien mit verschiedenen Protokollen und Konfigurationen herunterzuladen.

Verwenden des Moduls get_url, um Dateien zu erhalten

Im Folgenden finden Sie einige Beispiele, die Sie mit dem Modul get_url implementieren können, wenn Sie Dateien von einem Remote -Server herunterladen.

Laden Sie Dateien vom HTTP/HTTPS -Server mit direkter URL herunter

Betrachten Sie das folgende Spielbuch, das ein Verzeichnis im ~/ erstellt.Lokal und verwendet das Get_url -Modul, um das Debian MySQL -Paket herunterzuladen.

NOTIZ: In der unten angegebenen Ressource finden Sie MySQL -Serverpakete:

https: // linkfy.zu/mysql-packages

- Hosts: Alles
- Name: Debian MySQL Server mit http/https herunterladen
Aufgaben:
- Name: Machen Sie das Verzeichnis mySQL-server in/home/user/.lokal
Datei:
Pfad: ~//.LOCAL/MYSQL-SERVER
Zustand: Verzeichnis
Modus: 0777
- Name: Holen Sie sich MySQL-Server-Pakete
get_url:
URL: „https: // downloads.Mysql.com/archives/get/p/23/file/mysql-server_8.0.22-1DEBIAN10_AMD64.DEB-Bundle.Teer"
dest: ~//.LOCAL/MYSQL-SERVER
Modus: 0777
Prüfsumme: MD5: 5568E206A187A3B658392520540F556E

Das obige Spielbuch erstellt mit dem Erstellen eines Verzeichnisses in $ home/.Lokal/MySQL-Server, wo das heruntergeladene Paket gespeichert werden sollte. Wenn Sie ein Verzeichnis in einem privilegierten Verzeichnis erstellen, denken Sie daran, die Richtlinie "zu" werden ".

Als nächstes ruft das Playbook das Get_url -Modul auf und gibt die URL an, aus der das Paket heruntergeladen werden kann, gefolgt vom Zielverzeichnis, in dem die Datei gespeichert werden kann. Der letzte Abschnitt des Spielbuchs gibt die MD5 -Prüfsumme an, um die Gültigkeit der Datei zu überprüfen.

NOTIZ: Im obigen Spielbuch haben wir die Prüfsumme fest codiert, aber Sie können die URL angeben, bei der die Prüfsumme gehostet wird.

Nachdem Sie das Spielbuch ausgeführt haben, erhalten Sie eine Ausgabe, die den Erfolg oder Misserfolg der Aufgaben angibt.

$ Ansible-Playbook download_mysql_server.YML Play [Download Debian MySQL Server mit http/https] ************************************************************************************* ******************************************************** ******************************************************** ******************
Aufgabe [Fakten sammeln] ****************************************** ******************************************************** ******************************************************** **********************************************
OK: [35.222.210.12]
Aufgabe [Verzeichnis MySQL-Server in/home/user/make mySQL-server.lokal] ************************************************ ******************************************************** ******************************************************** ***********
35.222.210.12: OK = 3 geändert = 1 nicht erreichbar = 0 fehlgeschlagen = 0 übersprungen = 0 gerettet = 0 ignoriert = 0

Sobald der Vorgang abgeschlossen ist, können Sie sich beim Host anmelden und überprüfen, ob die Datei vorliegt.

Laden Sie Dateien mit SHA256 -Prüfsumme herunter

Sie können auch Dateien herunterladen und mit der SHA256 -Prüfsumme überprüfen, wie im Beispiel -Playbook unten gezeigt:

- Hosts: Alles
- Name: Debian MySQL Server mit http/https herunterladen
Aufgaben:
- Name: Machen Sie das Verzeichnis mySQL-server in/home/user/.lokal
Datei:
Pfad: ~//.LOCAL/MYSQL-SERVER
Zustand: Verzeichnis
Modus: 0777
- Name: Holen Sie sich MySQL-Server-Pakete
get_url:
URL: https: // downloads.Mysql.com/archives/get/p/23/file/mysql-server_8.0.22-1DEBIAN10_AMD64.DEB-Bundle.Teer
dest: ~//.LOCAL/MYSQL-SERVER
Modus: 0777
Prüfsumme: SHA256: B5BB9D8014A0F9B1D61E21E796D78EEFDF1352F23CD32812F4850B878AE4944C

Um eine URL zu verwenden, anstatt die Prüfsumme festzusagen, sollten Sie das folgende Beispiel betrachten:

- Hosts: Alles
- Name: Debian MySQL Server mit http/https herunterladen
Aufgaben:
- Name: Machen Sie das Verzeichnis mySQL-server in/home/user/.lokal
Datei:
Pfad: ~//.LOCAL/MYSQL-SERVER
Zustand: Verzeichnis
Modus: 0777
- Name: Holen Sie sich MySQL-Server-Pakete
get_url:
URL: https: // downloads.Mysql.com/archives/get/p/23/file/mysql-server_8.0.22-1DEBIAN10_AMD64.DEB-Bundle.Teer
dest: ~//.LOCAL/MYSQL-SERVER
Modus: 0777
Prüfsumme: SHA256: https: // downloads.Mysql.com/archives/get/p/23/file/mysql-server_8.0.22-1DEBIAN10_AMD64.DEB-Bundle.Teer.SHA265

Laden Sie Dateien mit Zeitüberschreitungen herunter, um nicht zu antworten

In einigen Fällen haben Sie möglicherweise eine bestimmte Ressourcen -URL, die länger dauern kann, um zu reagieren oder nicht verfügbar ist. Dies kann dazu führen, dass die Verbindung schließt, bevor der Server reagiert, da die Standardzeit in der Regel 10 Sekunden beträgt. Um den Zeitüberschreitungswert ausdrücklich anzugeben, verwenden Sie die Zeitüberschreitung: Anweisung.

Betrachten Sie das folgende Spielbuch:

- Hosts: Alles
- Name: Debian MySQL Server mit Timeout herunterladen
Aufgaben:
- Name: Machen Sie das Verzeichnis mySQL-server in/home/user/.lokal
Datei:
Pfad: ~//.LOCAL/MYSQL-SERVER
Zustand: Verzeichnis
Modus: 0777
- Name: Holen Sie sich MySQL-Server-Pakete
get_url:
URL: https: // downloads.Mysql.com/archives/get/p/23/file/mysql-server_8.0.22-1DEBIAN10_AMD64.DEB-Bundle.Teer
dest: ~//.LOCAL/MYSQL-SERVER
Modus: 0777
Prüfsumme: SHA256: https: // downloads.Mysql.com/archives/get/p/23/file/mysql-server_8.0.22-1DEBIAN10_AMD64.DEB-Bundle.Teer.SHA265
Zeitüberschreitung: 30

Das obige Spielbuch gibt die Zeitüberschreitung mit 30 Sekunden an, und die Verbindung wird fallen gelassen, wenn der Server nicht innerhalb der festgelegten Zeit reagiert.

Laden Sie Dateien mit Authentifizierung herunter

Um eine Datei auf einen Server herunterzuladen, der Authentifizierung erfordert, müssen Sie die Anmeldewerte angeben.

Betrachten Sie das folgende Spielbuch:

- Hosts: Alles
- Name: Datei mit Authentifizierung herunterladen
Werde: Ja
get_url:
URL: http: // 102.15.192.120/Backups/Datenbank.Teer.gz
dest: /backups
Benutzername: Benutzer
Passwort: 'Pass'
Modus: 0777
Zeitüberschreitung: 5

Laden Sie Dateien vom lokalen Dateipfad herunter

Um eine Datei von einem lokalen Dateipfad herunterzuladen, können Sie das Datei: // URI -Schema verwenden, gefolgt vom Pfad zur Datei.

Betrachten Sie das folgende Spielbuch:

- Hosts: Webserver
- Name: Datei von lokalem Dateipfad herunterladen
Werde: Ja
get_url:
URL: Datei: /// Backups/Secure/config.Teer.gz
dest: /dev /null

FTP -Dateien herunterladen

Das Herunterladen von FTP -Dateien ist dem im vorherigen Abschnitt beschriebenen Prozess sehr ähnlich. Sie müssen lediglich FTP: // als Protokoll am Server angeben.

Um eine sichere Datei herunterzuladen, müssen Sie auch die Anmeldeinformationen hinzufügen, wie zuvor gezeigt.

Betrachten Sie das folgende Spielbuch:

- Hosts: Alles
Aufgaben:
- Name: Datei vom FTP Server herunterladen
Werde: Ja
get_url:
URL: ftp: // 192.168.11.101
dest: /backups
Modus: 0777

Ansible get_url Moduloptionen

Das Modul GET_URL unterstützt auch verschiedene Optionen, mit denen Sie den Download und Verwaltungsverwaltung von Dateien angeben und überwachen können. Die mit dem Get_url -Modul verfügbaren Optionen enthalten Folgendes:

  • Backup: Die Sicherungsoption, ein Boolescher mit Ja und Nein, ermöglicht es Ihnen, festzustellen, ob eine Sicherungskopie der zu heruntergeladenen Datei erstellt werden soll.
  • Gruppe: Die Gruppenoption gibt die Gruppe an, die sich an der heruntergeladenen Datei besitzt. Diese Option ist wie der Befehl chown in unix.
  • Header: Die Option Header wird verwendet, um benutzerdefinierte HTTP -Header in einem Wörterbuch im Hash -Format anzugeben.
  • http_agent: Die Option http_agent gibt den HTTP -Agenten an.
  • Eigentümer: Die Option des Eigentümers gibt den Eigentümer der Download -Dateien an.
  • Seeher: Die SEUSER -Option legt den Benutzer im Selinux -Dateikontext fest.
  • Anwendung_Proxy: Die Option "Use_Proxy" legt fest, ob ein Proxy verwendet werden soll. Wenn diese Option auf False festgelegt ist, werden alle Proxys ignoriert, auch wenn Sie eine im Zielhost angegeben haben.

Abschluss

In diesem Artikel wurde das Get_url -Modul im Detail im Detail erläutert und Ihnen gezeigt, wie Sie dieses Modul verwenden, um Dateien aus verschiedenen Quellen herunterzuladen. Sie können diesen Artikel verwenden, um das Herunterladen von Dateien in Ansible mit dem Modul Get_url zu verweisen.