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:
Ü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:
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:
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.