Fabrik - Automatikkan tugas pentadbiran Linux dan penyebaran aplikasi anda melalui SSH

Fabrik - Automatikkan tugas pentadbiran Linux dan penyebaran aplikasi anda melalui SSH

Ketika mengurus mesin jauh dan penggunaan aplikasi, terdapat beberapa alat baris perintah di luar sana walaupun banyak mempunyai masalah biasa kekurangan dokumentasi terperinci.

Dalam panduan ini, kami akan meliputi langkah -langkah untuk memperkenalkan dan memulakan cara menggunakan kain untuk memperbaiki kumpulan pelayan.

Automatikkan tugas pentadbiran Linux menggunakan kain

Kain adalah perpustakaan python dan alat baris perintah yang kuat untuk melaksanakan tugas pentadbiran sistem seperti melaksanakan arahan SSH pada pelbagai mesin dan penggunaan aplikasi.

Baca juga: Gunakan skrip shell untuk mengautomasikan tugas penyelenggaraan sistem Linux

Mempunyai pengetahuan kerja Python dapat membantu semasa menggunakan Kain, tetapi mungkin tidak perlu.

Sebab mengapa anda harus memilih kain atas alternatif lain:

  1. Kesederhanaan
  2. Ia didokumentasikan dengan baik
  3. Anda tidak perlu belajar bahasa lain jika anda sudah menjadi lelaki python.
  4. Senang dipasang dan digunakan.
  5. Ia pantas dalam operasinya.
  6. Ia menyokong pelaksanaan jauh selari.

Cara Memasang Alat Automasi Fabrik di Linux

Ciri penting mengenai kain adalah bahawa mesin jauh yang anda perlukan untuk mentadbir hanya perlu memasang pelayan openssh standard. Anda hanya memerlukan keperluan tertentu yang dipasang pada pelayan yang mana anda mentadbir pelayan jauh sebelum anda boleh memulakan.

Keperluan:

  1. Python 2.5+ dengan tajuk pembangunan
  2. Python-setuptools dan pip (pilihan, tetapi lebih disukai) GCC

Kain mudah dipasang menggunakan Pip (sangat disyorkan), tetapi anda juga lebih suka memilih Pengurus Pakej Lalai Yum, DNF atau Apt-Get untuk memasang pakej kain, biasanya dipanggil kain atau python-fabric.

Untuk RHEL/Centos Pengagihan berasaskan, anda mesti memasang repositori epel dan didayakan pada sistem untuk memasang pakej kain.

# yum memasang kain [pada sistem berasaskan redhat] # DNF memasang kain [pada versi fedora 22+] 

Untuk Debian Dan ia derivatif seperti Ubuntu dan Pudina Pengguna hanya boleh melakukannya apt-get Untuk memasang pakej kain seperti yang ditunjukkan:

# apt-get memasang kain 

Sekiranya anda ingin memasang versi pembangunan kain, anda boleh menggunakan Pip untuk merebut cawangan induk paling terkini.

# yum Pasang python-pip [pada sistem berasaskan redhat] # DNF Pasang python-pip [pada fedora 22+ versi] # apt-get pemasangan python-pip [pada sistem berasaskan debian] 

Sebaik sahaja PIP telah dipasang dengan jayanya, anda boleh menggunakan PIP untuk merebut versi Fabrik terkini seperti yang ditunjukkan:

# Pip memasang kain 

Cara menggunakan kain untuk mengautomasikan tugas pentadbiran Linux

Oleh itu, mari kita mulakan bagaimana anda boleh menggunakan kain. Semasa proses pemasangan, skrip python yang dipanggil Fab ditambah ke direktori di jalan anda. The Fab skrip melakukan semua kerja semasa menggunakan kain.

Melaksanakan arahan pada mesin Linux tempatan

Oleh konvensyen, anda perlu bermula dengan membuat fail python yang dipanggil Fabfile.py Menggunakan editor kegemaran anda. Ingat, anda boleh memberikan fail ini nama yang berbeza seperti yang anda kehendaki tetapi anda perlu menentukan laluan fail seperti berikut:

# Fabric --Fabfile/Path/to/the/file.py 

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

Contoh 1: Mari buat asas Hai dunia Pertama.

# VI Fabfile.py 

Tambahkan baris kod ini dalam fail.

def hello (): cetak ('hello dunia, komuniti tecmint') 

Simpan fail dan jalankan arahan di bawah.

# fab hello 
Penggunaan Alat Fabrik

Marilah kita melihat contoh a Fabfile.py untuk melaksanakan uptime Perintah di mesin tempatan.

Contoh 2: Buka yang baru Fabfile.py fail seperti berikut:

# VI Fabfile.py 

Dan tampal baris kod berikut dalam fail.

#! /usr/bin/env python dari kain.API import def tempatan (): tempatan ('uptime') 

Kemudian simpan fail dan jalankan arahan berikut:

# Fab uptime 
Fabrik: Periksa Sistem Uptime

Melaksanakan arahan pada mesin Linux jauh untuk mengautomasikan tugas

The API Fabrik menggunakan kamus konfigurasi yang bersamaan Python dengan array bersekutu yang dikenali sebagai Env, yang menyimpan nilai yang mengawal kain apa.

The Env.tuan rumah adalah senarai pelayan di mana anda mahu menjalankan tugas kain. Sekiranya rangkaian anda 192.168.0.0 dan ingin menguruskan tuan rumah 192.168.0.2 dan 192.168.0.6 dengan anda Fabfile, anda boleh mengkonfigurasi Env.tuan rumah seperti berikut:

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

Barisan kod di atas hanya menentukan tuan rumah di mana anda akan menjalankan tugas kain tetapi tidak melakukan apa -apa lagi. Oleh itu, anda boleh menentukan beberapa tugas, kain menyediakan satu set fungsi yang boleh anda gunakan untuk berinteraksi dengan mesin jauh anda.

Walaupun terdapat banyak fungsi, yang paling biasa digunakan ialah:

  1. Jalankan - yang menjalankan arahan shell pada mesin terpencil.
  2. tempatan - yang menjalankan arahan di mesin tempatan.
  3. sudo - yang menjalankan arahan shell pada mesin jauh, dengan keistimewaan akar.
  4. Dapatkan - yang memuat turun satu atau lebih fail dari mesin jauh.
  5. Letak - yang memuat naik satu atau lebih fail ke mesin terpencil.

Contoh 3: Untuk mengulangi mesej pada pelbagai mesin buat a Fabfile.py seperti yang di bawah.

#!/usr/bin/env python dari kain.Import API Env, Jalankan Env.Hos = ['192.168.0.2 ',' 192.168.0.6 '] def echo (): lari ("echo -n' hello, anda disesuaikan dengan tecmint '") 

Untuk melaksanakan tugas, jalankan arahan berikut:

# fab echo 
Fabrik: Automatikkan tugas Linux pada Linux Jauh

Contoh 4: Anda boleh memperbaiki Fabfile.py yang anda buat sebelum ini untuk melaksanakan uptime perintah pada mesin tempatan, sehingga ia menjalankan uptime Perintah dan juga memeriksa penggunaan cakera menggunakan arahan DF pada pelbagai mesin seperti berikut:

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

Simpan fail dan jalankan arahan berikut:

# fab uptime # fab disk_space 
Fabrik: Automatikkan tugas pada pelbagai sistem Linux

Stack Stack Lampu secara automatik pada Pelayan Linux Jauh

Contoh 4: Mari kita lihat contoh untuk digunakan Lampu (Linux, Apache, MySQL/MariaDB dan PHP) pada pelayan Linux jauh.

Kami akan menulis fungsi yang akan membolehkan lampu dipasang dari jauh menggunakan keistimewaan root.

Untuk rhel/centos dan fedora
#!/usr/bin/env python dari kain.Import API Env, Jalankan Env.Hos = ['192.168.0.2 ',' 192.168.0.6 '] def deploy_lamp (): Run ("Yum Install -y Httpd MariaDB-Server php-mysql") 
Untuk Debian/Ubuntu dan Linux Mint
#!/usr/bin/env python dari kain.Import API Env, Jalankan Env.Hos = ['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 fail dan jalankan arahan berikut:

# fab deploy_lamp 

Catatan: Oleh kerana output yang besar, tidak mungkin bagi kami untuk membuat screencast (gif animasi) untuk contoh ini.

Sekarang anda boleh mengautomasikan tugas pengurusan pelayan Linux menggunakan kain dan ciri -ciri dan contohnya yang diberikan di atas ..

Beberapa pilihan berguna untuk digunakan dengan kain

  1. Anda boleh lari Fab -help Untuk melihat maklumat bantuan dan senarai panjang pilihan baris arahan yang ada.
  2. Pilihan penting adalah -fabfile = jalan yang membantu anda menentukan fail modul python yang berbeza untuk mengimport yang lain kemudian Fabfile.py.
  3. Untuk menentukan nama pengguna untuk digunakan semasa menyambung ke tuan rumah jauh, gunakan -pengguna = pengguna pilihan.
  4. Untuk menggunakan kata laluan untuk pengesahan dan/atau sudo, menggunakan -kata laluan = kata laluan pilihan.
  5. Untuk mencetak maklumat terperinci mengenai nama arahan, gunakan -paparan = nama pilihan.
  6. Untuk melihat penggunaan format -senarai pilihan, pilihan: pendek, normal, bersarang, gunakan -Senarai-format = format pilihan.
  7. Untuk mencetak senarai arahan dan keluar yang mungkin, sertakan -senarai pilihan.
  8. Anda boleh menentukan lokasi fail konfigurasi untuk digunakan dengan menggunakan -config = Path pilihan.
  9. Untuk memaparkan output ralat berwarna, gunakan -Colorize-ERRORS.
  10. Untuk melihat nombor versi program dan keluar, gunakan -versi pilihan.

Ringkasan

Fabric adalah alat yang berkuasa dan didokumentasikan dengan baik dan menyediakan penggunaan mudah untuk pemula. Anda boleh membaca dokumentasi penuh untuk mendapatkan lebih banyak pemahaman mengenainya. Sekiranya anda mempunyai sebarang maklumat untuk menambah atau memasukkan sebarang kesilapan yang anda hadapi semasa pemasangan dan penggunaan, anda boleh meninggalkan komen dan kami akan mencari cara untuk memperbaikinya.

Rujukan: Dokumentasi Fabrik