
Pengguna Linux harus berulang kali melakukan berbagai jenis tugas administratif atau umum, seperti mereload server apache setelah membuat perubahan apa pun, membuat aplikasi baru atau menerapkan aplikasi apa pun, mengakses file log tertentu, dll. SSH (Secure Shell) diperlukan untuk melakukannya jenis tugas ini secara teratur. Fabricadalah pustaka Python yang kuat dan bermanfaat yang berinteraksi dengan SSH dan sistem operasi untuk mengotomatiskan banyak pengembangan aplikasi atau tugas administratif. Alat command line ini sangat sederhana dan mudah digunakan. Ia bekerja lebih cepat, mendukung eksekusi jarak jauh paralel. Bagaimana perpustakaan kain dapat diinstal dan digunakan di python3+ telah ditunjukkan dalam tutorial ini.
Pilihan kain yang berguna:
Ini memiliki banyak opsi berguna untuk melakukan berbagai jenis tugas. Beberapa opsi yang paling sering digunakan dari alat ini telah dijelaskan di bawah ini.
Fabric Option | Description |
–fabfile=PATH | It is used to define the Python module file. |
–user=USER | It is used to define the username to connect with the host. |
–password=PASSWORD | It is used to define the password to connect with the host. |
–display=NAME | It is used to display detailed information about the fab command. |
–list-format=FORMAT | It is used to set the specific format option. |
–config=PATH | It is used to define the location of the config file. |
–colorize-errors | It is used to display the error with the color. |
–version | It is used to display the version of the fab command. |
–help | It is used to display detailed information about the available options of the fab command. |
Instal kain di Python3:
Jalankan perintah berikut untuk menginstal perintah fabric di Python3.
$ pip3 install fabric3
Contoh-1: Penggunaan perintah fabric tanpa ssh
File python bernama fabfile.py diperlukan oleh fabperintah untuk melakukan beberapa tugas tertentu secara otomatis. Buatfabfile.py file dengan skrip berikut. message()fungsi telah didefinisikan dalam skrip yang akan mengambil nama dari user dan mencetak pesan selamat datang. Nama fungsi ini diperlukan untuk digunakan denganthe fab perintah untuk mengeksekusi skrip.
fabfile.py
# Define function
def message():
# Take a name from the user
name = input('Enter your name : ')
# Print the name with greeting
print('Hello, %s' %name)
Jalankan perintah berikut untuk menjalankan skrip dari fabfile.py.
$ fab message
Output berikut akan muncul setelah memberikan nilai nama.
Menginstal SSH di Ubuntu:
SSH digunakan untuk berinteraksi dengan server jarak jauh, dan perintah fabric dapat dijalankan dengan menghubungkan dengan server jarak jauh melalui SSH. Itu tidak diinstal di Ubuntu secara default.openssh-serverperlu menginstal untuk melakukan aktivitas SSH dari komputer lokal. Setelah menginstal paket ini, perintah fab dapat melakukan beberapa tugas dari jarak jauh dengan menggunakan koneksi SSH.
Jalankan perintah berikut dari terminal untuk memperbarui sistem dan menginstal openssh-server.
$ sudo apt update
$ sudo apt install openssh-server
Jalankan perintah berikut untuk memeriksa ssh perintah berfungsi dengan baik atau tidak.
$ ssh localhost
Output berikut akan muncul setelah mengetik ‘yes‘ jika ssh perintah bekerja dengan benar.
Contoh-2: Mulai, Berhenti, dan periksa status Server Apache menggunakan fabric
Membuat atau memodifikasi fabfile.py dengan skrip berikut. run modul telah diimpor dalam skrip untuk menjalankan perintah untuk memulai, menghentikan, dan memeriksa status server apache. env modul telah diimpor untuk mengatur nilai host. start_apache() fungsi telah didefinisikan untuk memulai server apache. stop_apache() fungsi telah didefinisikan untuk menghentikan server apache. status_apache()fungsi telah ditetapkan untuk memeriksa status server apache saat ini. Nama user dan password yang valid harus disediakan untuk koneksi ssh saat menjalankanfab memerintah.
fabfile.py
# Import run and env from fabric.api
from fabric.api import run, env
# Set the hosts name
env.hosts = '127.0.0.1'
# Define function to start Apache server
def start_apache():
run('sudo systemctl start apache2')
print('Apache server is started.')
# Define function to stop Apache server
def stop_apache():
run('sudo systemctl stop apache2')
print('Apache server is stopped.')
# Define function to check the status of Apache server
def status_apache():
run('sudo systemctl status apache2')
Jalankan perintah berikut dari terminal untuk memulai server Apache dengan fab memerintah.
$ fab --user-fahmida --password=12345 start_apache
Jalankan perintah berikut dari terminal untuk memeriksa status server Apache dengan: fab memerintah.
$ fab --user-fahmida --password=12345 status_apache
Jalankan perintah berikut dari terminal untuk menghentikan server Apache dengan fab memerintah.
$ fab --user-fahmida --password=12345 stop_apache
Contoh-3: Lakukan banyak tugas menggunakan fabric
Membuat atau memodifikasi fabfile.py dengan skrip berikut. run modul telah diimpor ke skrip untuk mendapatkan jenis prosesor dan ruang yang digunakan disk. env modul telah diimpor untuk mengatur nilai host, user, dan password untuk koneksi SSH. multi_tas
k() fungsi telah didefinisikan untuk melakukan dua tugas bersama-sama.
fabfile.py
# Import run and env modules from Fabric's API
from fabric.api import run, env
# Set the host IP
env.hosts = '127.0.0.1'
# Set the username
env.user = "fahmida"
# Set the username
env.password = "12345"
# Define function to run multiple tasks
def multi_tasks():
# Print the processor type
run('uname -p')
# Print the used space of the disk in a human-readable format
run('sudo df -h')
Jalankan perintah berikut dari terminal untuk mencetak jenis prosesor dan informasi rinci tentang ruang disk.
$ fab multi_tasks
Jika username dan password yang diberikan pada script tersebut valid, maka akan muncul output berikut setelah menjalankan perintah di atas.
Kesimpulan:
Tugas reguler dapat dilakukan secara otomatis dengan menggunakan modul fabric dari Python. Pengguna Linux dapat dengan mudah melakukan banyak tugas terkait administratif dengan menjalankan perintah fab sederhana setelah menulis skrip untuk menjalankan perintah yang diperlukan difabfile.pymengajukan. Penggunaan modul fabric telah dijelaskan dalam tutorial ini dengan menggunakan tiga contoh sederhana untuk membantu pembaca mengetahui fungsi modul fabric.