cevaplayıcı

Ansible get_url Modülünü Kullanarak Dosyalar Nasıl İndirilir

Ansible get_url Modülünü Kullanarak Dosyalar Nasıl İndirilir

Bir Linux kullanıcısı olarak, HTTP, HTTPS ve wget ve cURL gibi FTP protokollerini kullanarak uzak sunuculardan dosya indirmenize izin veren araçlara muhtemelen aşinasınızdır. Otomasyon görevlerini gerçekleştirirken, ara sıra dosyaları ve paketleri uzak ana bilgisayarlara indirmeniz gerekecektir. Bu işlevi gerçekleştirmek için uzak ana bilgisayarlarda wget ve cURL kullanabilirken, Ansible get_url modülünü kullanarak bu araçları kullanmak için gerekli kurulumu da atlayabilirsiniz.

Bu öğretici, uzak sunuculardan dosya indirmek için Ansible get_url komutunun nasıl kullanılacağını gösterir.

Başlamadan önce, Ansible get_url komutu aşağıdaki ön koşulları gerektirir:

  1. Dosyaların indirileceği uzak sunucunun ana sunucuya doğrudan erişimi olmalıdır.
  2. Ana sunucu hem HTTP hem de HTTPS protokollerini desteklemelidir.

get_url Modülü hakkında

get_url modülünün nasıl uygulanacağını öğrenmeden önce, bu modül hakkında anlamaya değer birkaç şey var. get_url modülü aşağıdaki özellikleri destekler:

Ardından, çeşitli protokoller ve konfigürasyonlara sahip dosyaları indirmek için get_url modülünü nasıl kullanacağınızı göstereceğiz.

Dosyaları Elde Etmek için get_url Modülünü Kullanma

Uzak bir sunucudan dosya indirirken get_url modülünü kullanarak uygulayabileceğiniz bazı örnekler aşağıdadır.

Doğrudan URL ile HTTP/HTTPS Sunucusundan Dosya İndirin

~/ dizininde bir dizin oluşturan aşağıdaki oyun kitabını göz önünde bulundurun.yereldir ve Debian MySQL paketini indirmek için get_url modülünü kullanır.

NOT: MYSQL sunucu paketlerini aşağıda verilen kaynakta bulabilirsiniz:

https://linkfy.to/mysql paketleri

- ev sahibi: hepsi
- ad: HTTP/HTTPS kullanarak Debian MySQL sunucusunu indirin
görevler:
- name: /home/user/ dizininde mysql-server dizini yapın.yerel
dosya:
yol: ~/.yerel/mysql sunucusu
durum: dizin
mod: 0777
- isim: MySQL-sunucu paketlerini GET
get_url:
url: “https://indirilenler.mysql.com/archives/get/p/23/file/mysql-server_8.0.22-1debian10_amd64.deb paketi.katran"
hedef: ~/.yerel/mysql sunucusu
mod: 0777
sağlama toplamı: md5:5568e206a187a3b658392520540f556e

Yukarıdaki oyun kitabı $HOME/ içinde bir dizin oluşturarak başlar.indirilen paketin saklanması gereken local/mysql-server. Ayrıcalıklı bir dizinde bir dizin oluşturuyorsanız, 'become' yönergesini kullanmayı unutmayın.

Ardından, çalışma kitabı get_url modülünü çağırır ve paketin indirileceği URL'yi ve ardından dosyanın depolanacağı hedef dizini belirtir. Çalışma kitabının son bölümü, dosyanın geçerliliğini kontrol etmek için md5 sağlama toplamını belirtir.

NOT: Yukarıdaki çalışma kitabında sağlama toplamını sabit kodladık, ancak sağlama toplamının barındırıldığı URL'yi belirtebilirsiniz.

Çalışma kitabını çalıştırdıktan sonra, görevlerin başarısını veya başarısızlığını gösteren bir çıktı alacaksınız.

$ ansible-playbook download_mysql_server.yml PLAY [HTTP/HTTPS kullanarak Debian MySQL sunucusunu indirin] **************************************** ******************************************************* ******************************************************* ******************
GÖREV [Gerçekleri Toplama] ************************************************** ************************************************************ ************************************************************ ***************************************************
tamam: [35.222.210.12]
GÖREV [/home/user/ dizininde mysql-server dizini yap.yerel] *************************************************** ******************************************************* ************************************************************ ***********
35.222.210.12 : tamam=3 değişti=1 ulaşılamaz=0 başarısız=0 atlandı=0 kurtarıldı=0 yoksayıldı=0

İşlem tamamlandığında, ana bilgisayarda oturum açabilir ve dosyanın var olup olmadığını doğrulayabilirsiniz.

Sha256 Sağlama Toplamı ile Dosyaları İndirin

Ayrıca aşağıdaki örnek çalışma kitabında gösterildiği gibi dosyaları indirebilir ve sha256 sağlama toplamını kullanarak doğrulayabilirsiniz:

- ev sahibi: hepsi
- ad: HTTP/HTTPS kullanarak Debian MySQL sunucusunu indirin
görevler:
- name: /home/user/ dizininde mysql-server dizini yapın.yerel
dosya:
yol: ~/.yerel/mysql sunucusu
durum: dizin
mod: 0777
- isim: MySQL-sunucu paketlerini GET
get_url:
url: https://indirilenler.mysql.com/archives/get/p/23/file/mysql-server_8.0.22-1debian10_amd64.deb paketi.katran
hedef: ~/.yerel/mysql sunucusu
mod: 0777
sağlama toplamı: sha256:b5bb9d8014a0f9b1d61e21e796d78eefdf1352f23cd32812f4850b878ae4944c

Sağlama toplamını kodlamak yerine bir URL kullanmak için aşağıdaki örneği göz önünde bulundurun:

- ev sahibi: hepsi
- ad: HTTP/HTTPS kullanarak Debian MySQL sunucusunu indirin
görevler:
- name: /home/user/ dizininde mysql-server dizini yapın.yerel
dosya:
yol: ~/.yerel/mysql sunucusu
durum: dizin
mod: 0777
- isim: MySQL-sunucu paketlerini GET
get_url:
url: https://indirilenler.mysql.com/archives/get/p/23/file/mysql-server_8.0.22-1debian10_amd64.deb paketi.katran
hedef: ~/.yerel/mysql sunucusu
mod: 0777
sağlama toplamı: sha256:https://downloads.mysql.com/archives/get/p/23/file/mysql-server_8.0.22-1debian10_amd64.deb paketi.katran.sha265

Yanıt Verilemediğinde Zaman Aşımı Olan Dosyaları İndirin

Bazı durumlarda, yanıt vermesi daha uzun sürebilen veya kullanılamayan belirli bir kaynak URL'niz olabilir. Varsayılan zaman aşımı genellikle 10 saniye olduğundan, bu, sunucu yanıt vermeden önce bağlantının kapanmasına neden olabilir. Zaman aşımı değerini açıkça belirtmek için zaman aşımını kullanın: direktif.

Aşağıdaki oyun kitabını göz önünde bulundurun:

- ev sahibi: hepsi
- isim: Debian MySQL sunucusunu zaman aşımı ile indirin
görevler:
- name: /home/user/ dizininde mysql-server dizini yapın.yerel
dosya:
yol: ~/.yerel/mysql sunucusu
durum: dizin
mod: 0777
- isim: MySQL-sunucu paketlerini GET
get_url:
url: https://indirilenler.mysql.com/archives/get/p/23/file/mysql-server_8.0.22-1debian10_amd64.deb paketi.katran
hedef: ~/.yerel/mysql sunucusu
mod: 0777
sağlama toplamı: sha256:https://downloads.mysql.com/archives/get/p/23/file/mysql-server_8.0.22-1debian10_amd64.deb paketi.katran.sha265
zaman aşımı: 30

Yukarıdaki çalışma kitabı, zaman aşımını 30 saniye olarak belirtir ve sunucu belirlenen süre içinde yanıt vermezse bağlantı kesilir.

Kimlik Doğrulamalı Dosyaları İndirin

Kimlik doğrulama gerektiren bir sunucuya dosya indirmek için oturum açma değerlerini belirtmeniz gerekir.

Aşağıdaki oyun kitabını göz önünde bulundurun:

- ev sahibi: hepsi
- ad: Kimlik doğrulamalı Dosyayı İndir
hale: evet
get_url:
url: http://102.15.192.120/yedekler/veritabanı.katran.gz
hedef: /yedekler
kullanıcı adı: kullanıcı
şifre: 'geçiş'
mod: 0777
zaman aşımı: 5

Dosyaları Yerel Dosya Yolundan İndirin

Yerel bir dosya yolundan dosya indirmek için file:// URI şemasını ve ardından dosya yolunu kullanabilirsiniz.

Aşağıdaki oyun kitabını göz önünde bulundurun:

- ana bilgisayarlar: web sunucuları
- ad: Dosyayı yerel dosya yolundan indirin
hale: evet
get_url:
url: dosya:///backups/secure/config.katran.gz
hedef: /dev/null

FTP Dosyalarını İndirin

FTP dosyalarının indirilmesi, önceki bölümde açıklanan işleme çok benzer. Tek yapmanız gereken, sunucuya protokol olarak ftp:// belirtmektir.

Güvenli bir dosya indirmek için, daha önce gösterildiği gibi oturum açma bilgilerini de eklemelisiniz.

Aşağıdaki oyun kitabını göz önünde bulundurun:

- ev sahibi: hepsi
görevler:
- isim: Dosyayı FTP sunucusundan indirin
hale: evet
get_url:
url: ftp://192.168.11.101
hedef: /yedekler
mod: 0777

Ansible get_url Modül Seçenekleri

get_url modülü ayrıca dosya indirme ve yönetimini belirlemek ve izlemek için kullanabileceğiniz çeşitli seçenekleri de destekler. get_url modülüyle kullanılabilen seçenekler şunları içerir:

Sonuç

Bu makale, Ansible'daki get_url modülünü ayrıntılı olarak tartıştı ve çeşitli kaynaklardan dosya indirmek için bu modülü nasıl kullanacağınızı gösterdi. Bu makaleyi, get_url modülünü kullanarak Ansible'da nasıl dosya indireceğinize başvurmak için kullanabilirsiniz.

SuperTuxKart for Linux
SuperTuxKart is a great title designed to bring you the Mario Kart experience free of charge on your Linux system. It is pretty challenging and fun to...
Battle for Wesnoth Tutorial
The Battle for Wesnoth is one of the most popular open source strategy games that you can play at this time. Not only has this game been in developmen...
0 A.D. Tutorial
Out of the many strategy games out there, 0 A.D. manages to stand out as a comprehensive title and a very deep, tactical game despite being open sourc...