Seri RHCSA: Manajemen Paket Yum, Mengotomatiskan Tugas dengan Cron dan Log Sistem Pemantauan - Bagian 10


Pada artikel ini kami akan meninjau cara menginstal, memperbarui, dan menghapus paket di Red Hat Enterprise Linux 7. Kami juga akan membahas cara mengotomatiskan tugas menggunakan cron, dan akan menyelesaikan panduan ini dengan menjelaskan cara menemukan dan menafsirkan file log sistem dengan fokus mengajari Anda mengapa semua ini merupakan keterampilan penting bagi setiap administrator sistem.

Mengelola Paket Melalui Yum

Untuk menginstal sebuah paket beserta semua dependensinya yang belum diinstal, Anda akan menggunakan:


yum -y install package_name(s)

Dimana nama_paket mewakili setidaknya satu nama paket sebenarnya.

Misalnya, untuk menginstal httpd dan mlocation (dalam urutan itu), ketik.


yum -y install httpd mlocate

Catatan: Bahwa huruf y pada contoh di atas mengabaikan perintah konfirmasi yang diberikan yum sebelum melakukan pengunduhan dan instalasi sebenarnya dari program yang diminta. Anda dapat meninggalkannya jika Anda mau.

Secara default, yum akan menginstal paket dengan arsitektur yang sesuai dengan arsitektur OS, kecuali jika diganti dengan menambahkan arsitektur paket ke namanya.

Misalnya, pada sistem 64 bit, yum install package akan menginstal paket versi x86_64, sedangkan yum install package.x86 (jika tersedia) akan menginstal yang 32-bit.

Ada kalanya Anda ingin menginstal sebuah paket tetapi tidak mengetahui nama pastinya. Opsi cari semua atau cari dapat mencari kata kunci tertentu pada repositori yang saat ini diaktifkan masing-masing dalam nama paket dan/atau deskripsinya.

Misalnya,


yum search log

akan mencari repositori yang diinstal untuk paket dengan kata log di nama dan ringkasannya, sedangkan


yum search all log

akan mencari kata kunci yang sama di deskripsi paket dan kolom url juga.

Setelah pencarian menghasilkan daftar paket, Anda mungkin ingin menampilkan informasi lebih lanjut tentang beberapa di antaranya sebelum menginstal. Saat itulah opsi info akan berguna:


yum info logwatch

Anda dapat memeriksa pembaruan secara rutin dengan perintah berikut:


yum check-update

Perintah di atas akan mengembalikan semua paket terinstal yang pembaruannya tersedia. Pada contoh yang ditunjukkan pada gambar di bawah, hanya rhel-7-server-rpms yang memiliki pembaruan yang tersedia:

Anda kemudian dapat memperbarui paket itu sendiri dengan,


yum update rhel-7-server-rpms

Jika ada beberapa paket yang bisa diupdate, yum update akan mengupdate semuanya sekaligus.

Sekarang apa yang terjadi jika Anda mengetahui nama sebuah executable, seperti ps2pdf, namun tidak mengetahui paket mana yang menyediakannya? Anda dapat mengetahuinya dengan yum apa yang disediakan “*/[executable] ”:


yum whatprovides “*/ps2pdf”

Sekarang, ketika ingin menghapus sebuah paket, Anda dapat melakukannya dengan yum delete package. Mudah, ya? Ini menunjukkan bahwa yum adalah pengelola paket yang lengkap dan kuat.


yum remove httpd

Baca Juga: 20 Perintah Yum untuk Mengelola Manajemen Paket RHEL 7

RPM Biasa Lama Bagus

RPM (alias RPM Package Manager, atau aslinya RedHat Package Manager) juga dapat digunakan untuk menginstal atau memperbarui paket ketika paket tersebut datang dalam bentuk mandiri paket .rpm.

Ini sering digunakan dengan tanda -Uvh untuk menunjukkan bahwa ia harus menginstal paket jika belum ada atau mencoba memperbaruinya jika sudah diinstal (-U), menghasilkan keluaran verbose (-v) dan bilah kemajuan dengan tanda pagar (-h) saat operasi sedang dilakukan. Misalnya,


rpm -Uvh package.rpm

Penggunaan umum lainnya dari rpm adalah untuk menghasilkan daftar paket yang sedang diinstal dengan kode>rpm -qa (kependekan dari query all):


rpm -qa

Baca Juga: Perintah 20 RPM untuk Menginstal Paket di RHEL 7

Menjadwalkan Tugas menggunakan Cron

Linux dan sistem operasi mirip Unix lainnya menyertakan alat bernama cron yang memungkinkan Anda menjadwalkan tugas (yaitu perintah atau skrip shell) untuk dijalankan secara berkala. Cron setiap menit memeriksa direktori /var/spool/cron untuk mencari file yang diberi nama sesuai akun di /etc/passwd.

Saat menjalankan perintah, output apa pun dikirimkan ke pemilik crontab (atau ke pengguna yang ditentukan dalam variabel lingkungan MAILTO di /etc/crontab, jika ada).

File crontab (yang dibuat dengan mengetik crontab -e dan menekan Enter) memiliki format berikut:

Jadi, jika kita ingin memperbarui database file lokal (yang digunakan oleh loc untuk menemukan file berdasarkan nama atau pola) setiap hari kedua setiap bulan pada 02:15, kita perlu menambahkan yang berikut ini entri crontab:


15 02 2 * * /bin/updatedb

Entri crontab di atas berbunyi, “Jalankan /bin/updatedb pada hari kedua setiap bulan, setiap bulan dalam setahun, apa pun hari dalam seminggu, pada pukul 02:15 ”. Seperti yang saya yakin sudah Anda duga, simbol bintang digunakan sebagai karakter wildcard.

Setelah menambahkan tugas cron, Anda dapat melihat bahwa file bernama root telah ditambahkan di dalam /var/spool/cron, seperti yang kami sebutkan sebelumnya. File tersebut mencantumkan semua tugas yang harus dijalankan daemon crond:


ls -l /var/spool/cron

Pada gambar di atas, crontab pengguna saat ini dapat ditampilkan menggunakan cat /var/spool/cron/root atau,


crontab -l

Jika Anda perlu menjalankan tugas secara lebih rinci (misalnya, dua kali sehari atau tiga kali setiap bulan), cron juga dapat membantu Anda melakukannya.

Misalnya, untuk menjalankan /my/script pada tanggal 1 dan 15 setiap bulan dan mengirimkan keluaran apa pun ke /dev/null, Anda dapat tambahkan dua entri crontab sebagai berikut:


01 00 1 * * /myscript > /dev/null 2>&1
01 00 15 * * /my/script > /dev/null 2>&1

Namun agar tugasnya lebih mudah dikelola, Anda dapat menggabungkan kedua entri menjadi satu:


01 00 1,15 * *  /my/script > /dev/null 2>&1

Mengikuti contoh sebelumnya, kita dapat menjalankan /my/other/script pada 1:30 pagi pada hari pertama setiap bulan setiap tiga bulan:


30 01 1 1,4,7,10 * /my/other/script > /dev/null 2>&1

Namun ketika Anda harus mengulangi tugas tertentu setiap “x ” menit, jam, hari, atau bulan, Anda dapat membagi posisi yang tepat dengan frekuensi yang diinginkan. Entri crontab berikut memiliki arti yang sama persis dengan entri sebelumnya:


30 01 1 */3 * /my/other/script > /dev/null 2>&1

Atau mungkin Anda perlu menjalankan pekerjaan tertentu pada frekuensi tetap atau setelah sistem melakukan booting, misalnya. Anda dapat menggunakan salah satu dari string berikut, bukan lima bidang, untuk menunjukkan waktu yang tepat saat Anda ingin pekerjaan Anda dijalankan:


@reboot    	Run when the system boots.
@yearly    	Run once a year, same as 00 00 1 1 *.
@monthly   	Run once a month, same as 00 00 1 * *.
@weekly    	Run once a week, same as 00 00 * * 0.
@daily     	Run once a day, same as 00 00 * * *.
@hourly    	Run once an hour, same as 00 * * * *.

Baca Juga: 11 Perintah untuk Menjadwalkan Pekerjaan Cron di RHEL 7

Menemukan dan Memeriksa Log

Log sistem terletak (dan diputar) di dalam direktori /var/log. Menurut Standar Hierarki Sistem File Linux, direktori ini berisi berbagai file log, yang ditulis ke dalamnya atau subdirektori yang sesuai (seperti audit, httpd, atau samba pada gambar di bawah) oleh daemon terkait selama pengoperasian sistem:


ls /var/log

Log menarik lainnya adalah dmesg (berisi semua pesan dari buffer ring kernel), secure (mencatat upaya koneksi yang memerlukan otentikasi pengguna), pesan (pesan seluruh sistem) dan wtmp (catatan semua login dan logout pengguna).

Log sangat penting karena memungkinkan Anda melihat sekilas apa yang terjadi sepanjang waktu di sistem Anda, dan apa yang terjadi di masa lalu. Mereka mewakili alat yang sangat berharga untuk memecahkan masalah dan memantau server Linux, dan karenanya sering digunakan dengan perintah tail -f untuk menampilkan peristiwa, secara real time, saat terjadi dan dicatat dalam log.

Misalnya, jika Anda ingin menampilkan kejadian yang berhubungan dengan kernel, ketikkan perintah berikut:


tail -f /var/log/dmesg

Sama jika Anda ingin melihat akses ke server web Anda:


tail -f /var/log/httpd/access.log

Ringkasan

Jika Anda mengetahui cara mengelola paket secara efisien, menjadwalkan tugas, dan di mana mencari informasi tentang pengoperasian sistem Anda saat ini dan sebelumnya, Anda dapat yakin bahwa Anda tidak akan sering mengalami kejutan. Saya harap artikel ini membantu Anda mempelajari atau menyegarkan pengetahuan Anda tentang keterampilan dasar ini.

Jangan ragu untuk menghubungi kami melalui formulir kontak di bawah jika Anda memiliki pertanyaan atau komentar.