GNU/Linux >> Belajar Linux >  >> Linux

Panduan yang Mungkin:Perintah Ad-Hoc

Perintah Ad-Hoc adalah perintah satu baris yang memungkinkan yang melakukan satu tugas pada host target. Ini memungkinkan Anda untuk menjalankan tugas satu baris sederhana terhadap satu atau sekelompok host yang ditentukan pada konfigurasi file inventaris. Perintah Ad-Hoc hanya akan memiliki dua parameter, grup host yang ingin Anda jalankan tugasnya dan modul Ansible untuk dijalankan.

Perintah Ad-Hoc memberi Anda lebih banyak keuntungan untuk menjelajahi kemungkinan itu sendiri. Anda dapat melakukan tugas tanpa membuat buku pedoman terlebih dahulu, seperti me-reboot server, mengelola layanan, mengedit konfigurasi baris, menyalin file hanya ke satu host, menginstal hanya satu paket.

Dalam tutorial ini, saya akan menunjukkan penggunaan dasar dari perintah Ansible Ad-Hoc. Saya akan menggunakan perintah Ad-Hoc untuk melakukan tugas-tugas sederhana yang mungkin diperlukan untuk keseharian Anda sebagai administrator sistem.

Prasyarat

Untuk panduan ini, kami akan menggunakan dua server Ubuntu 18.04 LTS, Bionic Beaver. Server ansible akan mendapatkan hostname 'ansible-node' dengan alamat IP 10.5.5.20 dan server Provision dengan hostname 'provision' dan alamat IP 10.5.5.21.

Apa yang akan kita lakukan?

  1. Perintah Ad-Hoc Dasar
  2. Transfer File
  3. Perbarui dan Tingkatkan versi
  4. Kelola Paket
  5. Kelola Layanan
  6. Memeriksa Sistem

Penggunaan Perintah Ad-Hoc Dasar

Pertama, kita akan mempelajari penggunaan dasar Ansible Ad-Hoc untuk mengelola server. Kita akan mempelajari perintah dasar Ansible Ad-Hoc, menggunakan perintah Ad-Hoc dengan otentikasi kata sandi ssh, eskalasi hak istimewa, dan menggunakan perintah Ad-Hoc terhadap sekelompok host.

1. Perintah Dasar

Perintah dasar ad-hoc yang memungkinkan terhadap 'semua' host pada file inventaris dan menggunakan modul 'ping'.

ansible all -m ping
  • Parameter pertama 'semua' untuk semua host pada file inventaris.
  • Parameter kedua di dalam opsi '-m' untuk modul, menjalankan modul ping.

Sekarang Anda akan mendapatkan hasil seperti di bawah ini.

Perintah Ad-Hoc terhadap server penyedia telah 'SUKSES' tanpa ada perubahan yang dilakukan pada server dan kami mendapatkan hasil modul 'ping' dari server penyedia 'pong'.

2. Filter Grup Host dan Host Tunggal

Sekarang Anda dapat menggunakan perintah Ad-Hoc terhadap sekelompok host yang sudah ditentukan pada file inventaris. Anda dapat menggunakan file inventaris khusus atau menggunakan file inventaris default '/etc/ansible/hosts'.

Di bawah ini adalah contoh untuk menjalankan perintah ad-hoc terhadap grup host yang disebut 'hakase-testing' yang sudah ditentukan pada file konfigurasi inventaris default.

ansible hakase-testing -m setup -a "filter=ansible_distribution*"

Jika Anda menggunakan file inventaris khusus, tambahkan opsi '-i' diikuti nama file inventaris.

ansible hakase-testing -i hosts -m setup -a "filter=ansible_distribution*"

Anda akan mendapatkan hasil yang sama.

Sekarang jika Anda ingin menjalankan satu host pada konfigurasi inventaris, Anda dapat menggunakan nama host seperti di bawah ini.

ansible provision -m setup -a "filter=ansible_distribution*"

Dan perintah ad-hoc hanya akan berjalan di server 'provision'.

3. Menggunakan Kata Sandi SSH

Sekarang kita akan melakukan perintah Ad-Hoc menggunakan otentikasi kata sandi ssh yang diminta. Dan untuk melakukan ini, Anda perlu menginstal paket tambahan yang disebut 'sshpass' pada 'ansible-node'.

Instal paket sshpass menggunakan perintah apt di bawah ini.

sudo apt install sshpass -y

Sekarang jalankan perintah ad-hoc dan tambahkan opsi '--ask-pass' di akhir.

ansible hakase-testing -m ping --ask-pass

Dan Anda akan ditanya 'Kata Sandi SSH' untuk server.

Ketik kata sandi ssh Anda dan perintah ad-hoc akan dijalankan di server.

4. Eskalasi Hak Istimewa

Ansible menyediakan fitur untuk eskalasi hak istimewa terhadap server. Jika Anda ingin menjalankan perintah ad-hoc sebagai pengguna non-root, Anda dapat menggunakan opsi '--become' untuk mendapatkan hak akses root dan opsi '-K' untuk meminta sandi.

Jalankan perintah ad-hoc 'fdisk -l' sebagai pengguna 'hakase' dengan opsi hak istimewa '--become' dan '-K' untuk meminta 'SUDO Password'.

ansible hakase-testing -m shell -a 'fdisk -l' -u hakase --become -K

Di bawah ini adalah hasilnya.

Transfer File

Sekarang kita akan menggunakan perintah Ad-Hoc untuk Transfer File ke dan dari server. Kami dapat mentransfer file ke server penyedia dengan modul 'salin', dan mengunduh file dari server menggunakan modul 'ambil'.

1. Unggah File ke Host

Untuk contoh ini, kita akan menjalankan perintah ad-hoc dan menggunakan modul 'copy' untuk mengupload konfigurasi sudoers untuk hakase pengguna ke direktori '/etc/sudoers.d' pada grup 'hakase-testing'.

Jalankan perintah ad-hoc di bawah ini.

ansible hakase-testing -m copy -a 'src=/home/hakase/hakase-sudo.conf dest=/etc/sudoers.d/hakase owner=root mode=0644' -u hakase --become -K

Sekarang Anda akan ditanya 'SUDO Password' untuk pengguna hakase. Ketik kata sandi dan Anda akan mendapatkan hasil seperti di bawah ini.

File telah diunggah ke direktori tujuan 'tujuan', dan Anda mendapatkan hasil 'diubah' sebagai 'benar'.

2. Unduh File dari Host

Sekarang kita akan menggunakan perintah ad-hoc dengan modul 'fetch' untuk mengunduh file dari server penyedia ke server 'ansible-node' lokal.

Download file konfigurasi '/etc/sudoers.d/hakase' dari server 'provision' ke direktori lokal yang disebut 'backup'.

ansible provision -m fetch -a 'src=/etc/sudoers.d/hakase dest=/home/hakase/backup/hakase-sudoers flat=yes'

Dan Anda akan mendapatkan file bernama 'hakase-sudoers' di direktori 'backup'.

Langkah 3 - Perbarui Repositori dan Paket Upgrade

Untuk mengupdate dan mengupgrade repositori server Ubuntu, kita dapat menggunakan perintah ad-hoc dengan modul apt.

Perbarui repositori di grup hakase-testing.

ansible hakase-testing -m apt -a 'update_cache=yes' --become

Sekarang perbarui repositori dan tingkatkan semua paket ke versi terbaru menggunakan opsi 'upgrade=dist'.

ansible hakase-testing -m apt -a 'upgrade=dist update_cache=yes' --become

Tunggu sampai semua paket sedang diupgrade.

Kelola Paket

Ini sangat berguna saat Anda mencoba membuat dan men-debug buku pedoman Anda sendiri. Karena terkadang Anda membutuhkan paket tambahan untuk diinstal pada sistem. Jadi, perintah ad-hoc ini akan memberi Anda cara mudah untuk menginstal paket tersebut tanpa login ke setiap server.

1. Instal Paket

Instal satu paket menggunakan perintah ad-hoc dengan modul apt seperti di bawah ini.

ansible hakase-testing -m apt -a 'name=nginx state=latest' --become

2. Hapus Paket

Hapus paket dan bersihkan semua konfigurasi yang terkait dengan paket.

ansible hakase-testing -m apt -a 'name=nginx state=absent purge=yes' --become

3. Hapus otomatis

Contoh di bawah ini adalah menghapus paket nginx dan membersihkan semua konfigurasi yang terkait dan kemudian menghapus semua paket yang tidak digunakan pada sistem.

ansible hakase-testing -m apt -a 'name=nginx state=absent purge=yes autoremove=yes' --become

Kelola Layanan

Pada langkah ini, kita akan menggunakan modul layanan pada perintah ad-hoc untuk mengelola layanan sistem pada server penyedia.

1. Mulai Layanan

Mulai layanan nginx dan tambahkan ke waktu boot.

ansible hakase-testing -m service -a 'name=nginx state=started enabled=yes' --become

Anda akan mendapatkan hasil 'diubah' dan 'diaktifkan' sebagai 'benar'.

2. Mulai Ulang Layanan

Jika Anda ingin me-restart layanan, Anda dapat menggunakan perintah berikut.

ansible hakase-testing -m service -a 'name=nginx state=restarted' --become

Layanan nginx telah dimulai ulang.

3. Hentikan Layanan

Untuk menghentikan layanan, ubah nilai 'status' menjadi 'berhenti'.

ansible hakase-testing -m service -a 'name=nginx state=stopped' --become

Layanan nginx di server 'hakase-testing' telah dihentikan.

Memeriksa Sistem

Sekarang kita akan menggunakan modul 'shell' di dalam perintah ad-hoc. Dan kami akan melakukan pemantauan sistem sederhana menggunakan perintah Linux sederhana melalui Ansible ad-hoc.

Pertama, instal paket 'sysstat' ke semua server menggunakan perintah ad-hoc di bawah ini.

ansible hakase-testing -m apt -a 'name=sysstat state=latest' --become

Tunggu penginstalan paket 'sysstat'.

Setelah selesai, Anda siap untuk memeriksa semua server.

1. Disk Tersedia

Periksa disk yang tersedia di partisi root menggunakan perintah fdisk.

ansible hakase-testing -m shell -a 'df -h /dev/sda2' --become

Ubah '/dev/sda2' dengan jalur Anda sendiri.

2. Penggunaan Memori RAM

Sekarang periksa penggunaan Memori RAM di semua server menggunakan perintah 'free -m'.

ansible hakase-testing -m shell -a 'free -m' --become

Dan Anda akan diperlihatkan hasilnya seperti di bawah ini.

3. Penggunaan CPU

Memeriksa penggunaan CPU semua server menggunakan perintah mpstat.

ansible hakase-testing -m shell -a 'mpstat -P ALL' --become

Perintah mpstat adalah bagian dari paket 'sysstat'.

4. Buka Port

Memeriksa port yang terbuka di semua sistem menggunakan netstat melalui perintah ad-hoc.

ansible hakase-testing -m shell -a 'netstat -plntu' --become

5. Waktu aktif

Sekarang periksa waktu aktif setiap server.

ansible hakase-testing -m shell -a 'uptime' --become

Linux
  1. Panduan terminal Linux untuk pemula

  2. Kuasai perintah Linux ls

  3. Pengantar perintah alternatif di Linux

  1. Pengantar perintah diff

  2. Perintah "eval" Di Bash?

  3. Perintah cari di Linux

  1. Tampilan praktis dari perintah xargs

  2. Bagaimana cara menggunakan perintah nama dasar?

  3. Panduan untuk Perintah "Temukan" Linux