GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Membuat File di Ansible

Pendahuluan

Ansible adalah alat Infrastruktur sebagai Kode yang memungkinkan Anda menggunakan satu lokasi pusat (Ansible control node) untuk memantau dan mengontrol sejumlah besar server jarak jauh (host).

Gunakan Ansible untuk menyiapkan sejumlah tugas yang dapat dilakukan oleh host jarak jauh, termasuk membuat file dan direktori baru.

Tutorial ini mencakup berbagai cara Anda dapat menggunakan Ansible untuk membuat file di host jarak jauh.

Prasyarat

  • Sistem yang menjalankan Ubuntu 20.04
  • Akses ke baris perintah / jendela terminal
  • Ansible diinstal dan dikonfigurasi (lihat panduan kami tentang Menginstal Ansible di Windows atau Menginstal Ansible di Ubuntu)

Membuat Playbook yang Memungkinkan

Playbook yang memungkinkan adalah daftar tugas yang Anda ingin host jarak jauh Anda lakukan. Mereka dapat disimpan dan digunakan kembali, memungkinkan Anda untuk mengotomatiskan proses yang kompleks.

Setiap perintah yang ingin Anda keluarkan ke host jarak jauh, termasuk membuat file dan folder, adalah tugas yang harus Anda sertakan dalam buku pedoman. Setelah Anda menjalankan playbook, host jarak jauh Anda melakukan semua tugas yang ditentukan di dalamnya.

Untuk membuat buku pedoman Ansible, gunakan perintah:

sudo nano /etc/ansible/playbook.yaml

Perintah ini membuat file .yaml bernama 'playbook' di folder instal yang memungkinkan. Kami akan menggunakan tugas di playbook.yaml file untuk membuat file dan folder di host jarak jauh kami.

Menggunakan fitur dry run Ansible memungkinkan pengguna untuk menjalankan buku pedoman tanpa membuat perubahan pada server. Ini menggunakan mode pemeriksaan bawaan untuk membuktikan buku pedoman untuk kesalahan sebelum dieksekusi.

Membuat File Kosong

Cara tercepat untuk membuat file kosong adalah dengan menggunakan file dari Ansible modul.

Tambahkan konfigurasi berikut ke buku pedoman Ansible Anda:

---

- hosts: all
  tasks:
  - name: Creating an empty file
    file:
      path: "/your path"
      state: touch

File di atas memiliki komponen berikut:

  • hosts : Menentukan host jarak jauh mana dari file inventaris Ansible yang ingin Anda jalankan tugas. Semua berarti bahwa setiap host menerima perintah, tetapi Anda juga dapat memasukkan nama kategori host atau satu host individu.
  • tasks : Mengumumkan bahwa host jarak jauh perlu melakukan tugas.
  • name :Memungkinkan Anda menentukan nama untuk tugas tersebut. Nama tersebut hanya untuk referensi Anda dan tidak memiliki pengaruh pada tugas itu sendiri.
  • file :Melibatkan modul file Ansible untuk membuat file baru.
  • path :Menentukan jalur untuk file baru di hard drive host jarak jauh.
  • state :Mirip dengan perintah sentuh di terminal Ubuntu, memasukkan touch membuat file kosong di lokasi yang Anda pilih.

Untuk menjalankan buku pedoman, gunakan:

ansible-playbook /etc/ansible/playbook.yaml

Membuat File Dengan Konten

Jika Anda ingin membuat file baru dengan konten, Anda dapat menggunakan metode di atas terlebih dahulu untuk membuat file kosong, lalu gunakan blockinfile atau lineinfile modul untuk menyisipkan konten.

Cara yang lebih cepat adalah dengan menggunakan copy modul. Meskipun modul ini digunakan untuk menyalin file dari node kontrol ke host jarak jauh, Anda dapat menyertakan content parameter untuk langsung menambahkan konten ke file kosong.

Gunakan konfigurasi ini di buku pedoman Anda:

---

- hosts: all
  tasks:
  - name: Creating a file with content
    copy:
      dest: "/your path"
      content: |
        line 01
        line 02

Dalam file, kami menggunakan:

  • copy :Melibatkan modul salinan Ansible.
  • dest :Menentukan jalur untuk file baru Anda.
  • content :Parameter ini akan menambahkan line 01 dan line 02 sebagai konten file baru.

Membuat Banyak File

Anda dapat membuat banyak file dengan menggunakan satu tugas di buku pedoman Ansible.

Gunakan konfigurasi berikut untuk membuat banyak file:

---

- hosts: all
  tasks:
  - name: Create multiple files
    file: 
      path: "{{ item }}"
      state: touch
    with_items:
    - test01.txt
    - test02.txt
    - test03.txt
    - test04.txt

Dalam file konfigurasi di atas, kami mendefinisikan:

  • path :"{{ item }}" value berarti Ansible akan membuat jalur terpisah untuk masing-masing file. Secara default, file-file ini masuk ke folder Home dari host jarak jauh. Tentukan jalur yang berbeda dengan menggunakan /your_folder_path/"{{ item }}" .
  • with_items :Parameter ini digunakan untuk memulai daftar file yang akan dibuat. Daftar file sebanyak yang Anda inginkan. Dalam contoh kami, kami membuat daftar empat file berjudul test .

Membuat Direktori

Membuat direktori baru menggunakan konfigurasi yang sama seperti saat membuat file kosong. Satu-satunya perbedaan adalah bahwa di bawah state parameter, Anda memasukkan directory sebagai nilai:

---

- hosts: all
  tasks:
  - name: Creating a new directory
    file:
      path: "/your path"
      state: directory

Menghapus File

Playbook yang memungkinkan juga dapat menghapus file yang ada. Untuk melakukannya, setel state parameter menjadi absent :

---

- hosts: all
  tasks:
  - name: Removing a file
    file:
      path: "/your path"
      state: absent

Jika file sudah dihapus, perintah ini tidak melakukan apa-apa.

Mengatur Izin File

Dengan semua contoh di atas, Anda juga dapat mengatur izin untuk file dan folder baru. Untuk ini, Anda perlu menggunakan mode parameter.

Ada dua cara untuk melakukannya:

  • Menggunakan format mode oktal: Anda dapat menggunakan angka oktal, seperti 0644 atau 0777. Jangan lupa awalan 0, karena mengabaikannya dapat menyebabkan hasil yang tidak diharapkan.
  • Menggunakan format mode simbolis: Anda dapat menggunakan nilai seperti u=rwx , g=rx , atau o=rx , di mana u singkatan dari pemilik , g singkatan dari grup , dan o singkatan dari lainnya . Izin didefinisikan sebagai r untuk baca , w untuk tulis , dan x untuk jalankan .

Misalnya, Anda dapat menggunakan nilai oktal 0755, saat mendefinisikan pemiliknya:

---

- hosts: all
  tasks:
  - name: Create a new file with permissions
    file:
      path: "/your path"
      state: touch
      mode: 0755
      owner: test

Anda juga dapat menggunakan simbol yang setara dengan 0755:

---

- hosts: all
  tasks:
  - name: Create a new file with permissions
    file:
      path: "/your path"
      state: touch
      mode: u=rwx,g=rx,o=rx
      owner: test

Ubuntu
  1. Cara Membuat Swap di Linux

  2. Cara membuat file swap di Linux

  3. Cara Menginstal Ansible di Linux Mint 20

  1. Cara Membuat File di Manajer File Plesk

  2. Cara membuat Playbook yang Mungkin

  3. Cara membuat Pengguna Linux Menggunakan Ansible

  1. Playbook yang Mungkin:Cara Membuat dan Mengonfigurasi Playbook

  2. Bagaimana Membuat File Sementara Di Shell Script?

  3. Bagaimana Cara Membuat File Dan Memasangnya Sebagai Sistem File?