Fabric - Otomatiskan tugas administrasi Linux Anda dan penyebaran aplikasi melalui SSH

Fabric - Otomatiskan tugas administrasi Linux Anda dan penyebaran aplikasi melalui SSH

Ketika datang untuk mengelola mesin jarak jauh dan penyebaran aplikasi, ada beberapa alat baris perintah di luar sana yang ada meskipun banyak yang memiliki masalah umum tentang kurangnya dokumentasi terperinci.

Dalam panduan ini, kami akan membahas langkah -langkah untuk memperkenalkan dan memulai cara menggunakan kain untuk meningkatkan administrasi kelompok server.

Otomatis tugas administrasi linux menggunakan kain

Kain adalah perpustakaan Python dan alat baris perintah yang kuat untuk melakukan tugas administrasi sistem seperti mengeksekusi perintah SSH pada beberapa mesin dan penyebaran aplikasi.

Baca juga: Gunakan scripting shell untuk mengotomatiskan tugas pemeliharaan sistem linux

Memiliki pengetahuan yang berfungsi tentang python dapat membantu saat menggunakan Kain, tetapi tentu saja mungkin tidak perlu.

Alasan mengapa Anda harus memilih kain daripada alternatif lain:

  1. Kesederhanaan
  2. Itu terdokumentasi dengan baik
  3. Anda tidak perlu belajar bahasa lain jika Anda sudah menjadi orang Python.
  4. Mudah dipasang dan digunakan.
  5. Ini cepat dalam operasinya.
  6. Ini mendukung eksekusi jarak jauh paralel.

Cara menginstal alat otomatisasi kain di linux

Karakteristik penting tentang kain adalah bahwa mesin jarak jauh yang perlu Anda kelola hanya perlu menginstal server openssh standar. Anda hanya perlu persyaratan tertentu yang diinstal di server tempat Anda mengelola server jarak jauh sebelum Anda dapat memulai.

Persyaratan:

  1. Python 2.5+ dengan header pengembangan
  2. Python-Setuptools dan Pip (opsional, tetapi lebih disukai) GCC

Kain mudah diinstal menggunakan Pip (Sangat disarankan), tetapi Anda juga mungkin lebih suka memilih paket paket default, DNF atau APT-get untuk menginstal paket kain, biasanya dipanggil kain atau Python-fabric.

Untuk RHEL/Centos Distribusi berbasis, Anda harus menginstal dan diaktifkan repositori EPEL pada sistem untuk menginstal paket kain.

# YUM Instal Fabric [On RedHat Based Systems] # DNF Instal Fabric [On Fedora 22+ Versi] 

Untuk Debian Dan itu turunan seperti Ubuntu Dan daun mint Pengguna bisa melakukannya apt-get Untuk menginstal paket kain seperti yang ditunjukkan:

# apt-get install fabric 

Jika Anda ingin menginstal versi pengembangan kain, Anda dapat menggunakan Pip untuk mengambil cabang utama terbaru.

# yum menginstal python-pip [pada sistem berbasis redhat] # dnf menginstal python-pip [pada fedora 22+ versi] # apt-get install python-pip [pada sistem berbasis debian] 

Setelah Pip berhasil diinstal, Anda dapat menggunakan PIP untuk mengambil versi kain terbaru seperti yang ditunjukkan:

# PIP Pasang kain 

Cara menggunakan kain untuk mengotomatiskan tugas administrasi linux

Jadi mari kita mulai bagaimana Anda bisa menggunakan kain. Selama proses instalasi, skrip Python yang disebut FAB ditambahkan ke direktori di jalan Anda. Itu FAB Script melakukan semua pekerjaan saat menggunakan kain.

Mengeksekusi perintah di mesin Linux lokal

Dengan konvensi, Anda harus mulai dengan membuat file python yang dipanggil Fabfile.py Menggunakan editor favorit Anda. Ingat Anda dapat memberikan file ini nama yang berbeda sesuai keinginan tetapi Anda perlu menentukan jalur file sebagai berikut:

# kain -fabfile/path/to/the/file.py 

Penggunaan kain Fabfile.py untuk melaksanakan tugas. Fabfile harus berada di direktori yang sama di mana Anda menjalankan alat kain.

Contoh 1: Mari Buat Dasar Halo Dunia Pertama.

# VI FABFILE.py 

Tambahkan baris kode ini dalam file.

Def Hello (): Print ('Hello World, Tecmint Community') 

Simpan file dan jalankan perintah di bawah ini.

# Fab Hello 
Penggunaan alat kain

Sekarang mari kita lihat contoh a Fabfile.py untuk mengeksekusi uptime Perintah di mesin lokal.

Contoh 2: Buka yang baru Fabfile.py file sebagai berikut:

# VI FABFILE.py 

Dan tempel baris kode berikut dalam file.

#! /usr/bin/env python dari kain.API Impor Lokal Def uptime (): lokal ('uptime') 

Kemudian simpan file dan jalankan perintah berikut:

# Uptime yang luar biasa 
Kain: Periksa Uptime Sistem

Mengeksekusi perintah pada mesin Linux jarak jauh untuk mengotomatiskan tugas

Itu API kain menggunakan kamus konfigurasi yang setara dengan array asosiatif Python yang dikenal sebagai Env, yang menyimpan nilai -nilai yang mengontrol apa yang dilakukan kain.

Itu Env.tuan rumah adalah daftar server tempat Anda ingin menjalankan tugas kain. Jika jaringan Anda 192.168.0.0 dan ingin mengelola tuan rumah 192.168.0.2 Dan 192.168.0.6 dengan Anda Fabfile, Anda dapat mengkonfigurasi Env.tuan rumah sebagai berikut:

#!/usr/bin/env python dari kain.API Impor Env Env.host = ['192.168.0.2 ',' 192.168.0.6 '] 

Baris kode di atas hanya menentukan host tempat Anda akan menjalankan tugas kain tetapi tidak melakukan apa -apa lagi. Oleh karena itu Anda dapat menentukan beberapa tugas, kain menyediakan satu set fungsi yang dapat Anda gunakan untuk berinteraksi dengan mesin jarak jauh Anda.

Meskipun ada banyak fungsi, yang paling umum digunakan adalah:

  1. berlari - yang menjalankan perintah shell pada mesin jarak jauh.
  2. lokal - yang menjalankan perintah di mesin lokal.
  3. sudo - yang menjalankan perintah shell pada mesin jarak jauh, dengan hak istimewa root.
  4. Mendapatkan - yang mengunduh satu atau lebih file dari mesin jarak jauh.
  5. Meletakkan - yang mengunggah satu atau lebih file ke mesin jarak jauh.

Contoh 3: Untuk menggemakan pesan di beberapa mesin, buat a Fabfile.py seperti yang di bawah ini.

#!/usr/bin/env python dari kain.API Impor Env, Jalankan Env.host = ['192.168.0.2 ',' 192.168.0.6 '] def echo (): run ("echo -n' halo, Anda disetel ke tecmint '") 

Untuk menjalankan tugas, jalankan perintah berikut:

# Fab Echo 
Fabric: Otomatis tugas Linux di Linux jarak jauh

Contoh 4: Anda dapat meningkatkan Fabfile.py yang Anda buat sebelumnya untuk mengeksekusi uptime perintah pada mesin lokal, sehingga menjalankan uptime Perintah dan juga memeriksa penggunaan disk menggunakan perintah DF pada beberapa mesin sebagai berikut:

#!/usr/bin/env python dari kain.API Impor Env, Jalankan Env.host = ['192.168.0.2 ',' 192.168.0.6 '] def uptime (): run (' uptime ') def disk_space (): run (' df -h ') 

Simpan file dan jalankan perintah berikut:

# fab uptime # fab disk_space 
Fabric: Otomatis tugas pada beberapa sistem Linux

Secara otomatis menggunakan tumpukan lampu di server Linux jarak jauh

Contoh 4: Mari kita lihat contoh untuk digunakan LAMPU (Linux, Apache, MySQL/MariADB dan PHP) server di server Linux jarak jauh.

Kami akan menulis fungsi yang akan memungkinkan lampu dipasang dari jarak jauh menggunakan hak istimewa root.

Untuk rhel/centos dan fedora
#!/usr/bin/env python dari kain.API Impor Env, Jalankan Env.host = ['192.168.0.2 ',' 192.168.0.6 '] def deploy_lamp (): run ("yum install -y httpd mariadb-server php php-mysql") 
Untuk debian/ubuntu dan linux mint
#!/usr/bin/env python dari kain.API Impor Env, Jalankan Env.host = ['192.168.0.2 ',' 192.168.0.6 '] def deploy_lamp (): sudo ("apt-get install -q apache2 mysql-server libapache2-mod-php5 php5-mysql") 

Simpan file dan jalankan perintah berikut:

# fab deploy_lamp 

Catatan: Karena output besar, tidak mungkin bagi kita untuk membuat screencast (animasi gif) untuk contoh ini.

Sekarang Anda dapat mengotomatiskan tugas manajemen server Linux menggunakan kain dan fitur serta contoh yang diberikan di atas…

Beberapa opsi berguna untuk digunakan dengan kain

  1. Anda bisa berlari FAB -Help Untuk melihat informasi bantuan dan daftar panjang opsi baris perintah yang tersedia.
  2. Pilihan penting adalah -fabfile = jalur yang membantu Anda menentukan file modul python yang berbeda untuk diimpor selain itu Fabfile.py.
  3. Untuk menentukan nama pengguna yang akan digunakan saat menghubungkan ke host jarak jauh, gunakan -Pengguna = Pengguna pilihan.
  4. Untuk menggunakan kata sandi untuk otentikasi dan/atau sudo, menggunakan -Kata sandi = Kata sandi pilihan.
  5. Untuk mencetak info terperinci tentang nama perintah, gunakan -Tampilan = Nama pilihan.
  6. Untuk melihat format penggunaan -daftar Opsi, pilihan: pendek, normal, bersarang, gunakan -format daftar = format pilihan.
  7. Untuk mencetak daftar perintah dan keluar yang memungkinkan, sertakan -daftar pilihan.
  8. Anda dapat menentukan lokasi file konfigurasi yang akan digunakan dengan menggunakan -config = path pilihan.
  9. Untuk menampilkan output kesalahan berwarna, gunakan -kesalahan-kesalahan.
  10. Untuk melihat nomor versi program dan keluar, gunakan -Versi: kapan pilihan.

Ringkasan

Fabric adalah alat yang ampuh dan didokumentasikan dengan baik dan memberikan penggunaan yang mudah untuk pemula. Anda dapat membaca dokumentasi lengkap untuk mendapatkan lebih banyak pemahaman tentang itu. Jika Anda memiliki informasi untuk ditambahkan atau jika terjadi kesalahan yang Anda temui selama instalasi dan penggunaan, Anda dapat meninggalkan komentar dan kami akan menemukan cara untuk memperbaikinya.

Referensi: Dokumentasi kain