Pada tahun 2021, ada lebih banyak alasan mengapa orang menyukai Linux daripada sebelumnya. Dalam seri ini, saya akan membagikan 21 alasan berbeda untuk menggunakan Linux. Otomatisasi adalah salah satu alasan terbaik untuk menggunakan Linux.
Salah satu hal favorit saya tentang Linux adalah kesediaannya untuk melakukan pekerjaan untuk saya. Alih-alih melakukan tugas berulang yang menghabiskan waktu saya, atau rentan terhadap kesalahan, atau mungkin saya lupa, saya menjadwalkan Linux untuk melakukannya untuk saya.
Mempersiapkan otomatisasi
Istilah "otomatisasi" bisa mengintimidasi sekaligus menarik. Saya merasa membantu untuk mendekatinya secara modular.
1. Apa yang ingin Anda wujudkan?
Pertama, ketahui hasil apa yang ingin Anda hasilkan. Apakah Anda menandai gambar? Menghapus file dari direktori yang berantakan? Melakukan backup data penting? Tentukan tugas dengan jelas untuk diri Anda sendiri sehingga Anda tahu apa yang harus dituju. Jika ada tugas yang Anda lakukan setiap hari, apalagi lebih dari sekali sehari, maka itu bisa menjadi kandidat untuk otomatisasi.
2. Pelajari aplikasi yang Anda butuhkan
Lebih banyak sumber daya Linux
- Lembar contekan perintah Linux
- Lembar contekan perintah Linux tingkat lanjut
- Kursus online gratis:Ikhtisar Teknis RHEL
- Lembar contekan jaringan Linux
- Lembar contekan SELinux
- Lembar contekan perintah umum Linux
- Apa itu container Linux?
- Artikel Linux terbaru kami
Bagi tugas-tugas besar menjadi komponen-komponen kecil dan pelajari cara menghasilkan setiap hasil secara manual tetapi dengan cara yang dapat diulang dan diprediksi. Banyak dari apa yang dapat dilakukan di Linux dapat dituliskan, tetapi penting untuk mengenali keterbatasan Anda saat ini. Ada banyak perbedaan antara mempelajari cara mengotomatiskan pengubahan ukuran beberapa gambar agar dapat dikirim melalui email dengan nyaman vs. menggunakan pembelajaran mesin untuk menghasilkan karya seni yang rumit untuk buletin mingguan Anda. Salah satu dari hal-hal ini dapat Anda pelajari di sore hari dan yang lainnya bisa memakan waktu bertahun-tahun. Namun, kita semua harus memulai dari suatu tempat, jadi mulailah dari yang kecil dan selalu cari cara untuk meningkatkannya.
3. Otomatiskan
Gunakan alat otomatisasi di Linux untuk mewujudkannya secara teratur. Ini adalah langkah yang dicakup artikel ini!
Untuk mengotomatisasi sesuatu, Anda memerlukan skrip yang mengotomatiskan tugas. Saat menguji, yang terbaik adalah menjaga semuanya tetap sederhana, jadi tugas yang diotomatiskan artikel ini adalah membuat file bernama hello
di /tmp
direktori:
#!/bin/sh
touch /tmp/hello
Salin dan tempel skrip sederhana itu ke dalam file teks dan beri nama example
.
Cron
Solusi otomatisasi bawaan yang disertakan dengan setiap penginstalan Linux adalah sistem cron. Pengguna Linux cenderung merujuk ke cron secara umum sebagai metode yang Anda gunakan untuk menjadwalkan tugas (biasanya disebut "pekerjaan cron"), tetapi ada beberapa aplikasi yang menyediakan fungsionalitas cron. Yang paling serbaguna adalah kroni; keuntungannya adalah tidak asumsikan bahwa komputer Anda selalu hidup, seperti yang dilakukan oleh aplikasi cron historis yang dirancang untuk administrator sistem.
Verifikasi sistem cron mana yang disediakan oleh distribusi Linux Anda. Jika itu selain cronie, Anda mungkin dapat menginstal cronie dari repositori perangkat lunak distro Anda. Jika distribusi Anda tidak memiliki paket untuk cronie, Anda dapat menggunakan anacron
yang lama paket sebagai gantinya. anacron
perintah disertakan dengan cronie, jadi terlepas dari bagaimana Anda mendapatkannya, Anda ingin memastikan bahwa Anda memiliki anacron
perintah yang tersedia di sistem Anda sebelum melanjutkan. Anacron mungkin memerlukan hak akses root administratif, bergantung pada penyiapan Anda.
$ which anacron
/usr/sbin/anacron
Tugas Anacron adalah memastikan bahwa pekerjaan otomatisasi Anda dijalankan secara teratur. Untuk melakukannya, anacron memeriksa untuk mengetahui kapan terakhir kali suatu tugas dijalankan, lalu memeriksa seberapa sering Anda telah memerintahkannya untuk menjalankan tugas.
Misalkan Anda mengatur anacron untuk menjalankan skrip setiap lima hari sekali. Setiap kali Anda menghidupkan komputer atau membangunkannya dari mode tidur, anacron memindai lognya untuk menentukan apakah komputer perlu menjalankan pekerjaan. Jika tugas dijalankan lima hari atau lebih yang lalu, maka anacron menjalankan tugas tersebut.
Tugas cron
Banyak sistem Linux dibundel dengan beberapa pekerjaan pemeliharaan untuk dilakukan cron. Saya suka memisahkan pekerjaan saya dari pekerjaan sistem, jadi saya membuat direktori di direktori home saya. Secara khusus, ada folder tersembunyi bernama ~/.local
("lokal" dalam arti bahwa itu disesuaikan untuk akun pengguna Anda daripada untuk sistem komputer "global" Anda), jadi saya membuat subdirektori etc/cron.daily
untuk mencerminkan rumah cron yang biasa di sistem saya. Anda juga harus membuat direktori spool untuk melacak kapan terakhir kali pekerjaan dijalankan.
$ mkdir -p ~/.local/etc/cron.daily ~/.var/spool/anacron
Anda dapat menempatkan skrip apa pun yang ingin Anda jalankan secara teratur ke dalam ~/.local/etc/cron.daily
direktori. Salin example
skrip ke dalam direktori sekarang, dan tandai itu dapat dieksekusi menggunakan perintah chmod.
$ cp example ~/.local/etc/cron.daily
$ chmod +x ~/.local/etc/cron.daily/example
Selanjutnya, atur anacron untuk menjalankan skrip apa pun yang berada di ~/.local/etc/cron.daily
direktori.
Anacron
Secara default, sebagian besar sistem cron dianggap sebagai domain administrator sistem karena sering digunakan untuk tugas tingkat rendah yang penting, seperti memutar file log dan memperbarui sertifikat. Konfigurasi yang ditunjukkan dalam artikel ini dirancang untuk pengguna biasa yang menyiapkan tugas otomatisasi pribadi.
Untuk mengonfigurasi anacron agar menjalankan tugas cron Anda, buat file konfigurasi di /.local/etc/anacrontab
:
SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
1 0 cron.mine run-parts /home/tux/.local/etc/cron.daily/
File ini memberi tahu anacron untuk menjalankan semua skrip yang dapat dieksekusi (run-parts
) ditemukan di ~/.local/etc/cron.daily
setiap satu hari (yaitu, setiap hari), dengan penundaan nol menit. Terkadang, penundaan beberapa menit digunakan agar komputer Anda tidak melakukan semua tugas yang mungkin dilakukan segera setelah Anda masuk. Namun, setelan ini cocok untuk pengujian.
cron.mine
value adalah nama arbitrer untuk proses. Saya menyebutnya cron.mine
tapi Anda bisa menyebutnya cron.personal
atau penguin
atau apa pun yang Anda inginkan.
Verifikasi anacrontab
. Anda sintaks file:
$ anacron -T -t ~/.local/etc/anacrontab \
-S /home/tux/.var/spool/anacron
Diam berarti sukses.
Menambahkan anacron ke .profile
Terakhir, Anda harus memastikan bahwa anacron berjalan dengan konfigurasi lokal Anda. Karena Anda menjalankan anacron sebagai pengguna biasa dan bukan sebagai pengguna root, Anda harus mengarahkannya ke konfigurasi lokal — anacrontab
file yang memberi tahu anacron apa yang harus dilakukan, dan direktori spool membantu anacron melacak berapa hari sudah sejak setiap pekerjaan terakhir dieksekusi:
anacron -fn -t /home/tux/.local/etc/anacrontab \
-S /home/tux/.var/spool/anacron
-fn
opsi memberitahu anacron untuk abaikan cap waktu, artinya Anda memaksanya untuk menjalankan tugas cron Anda apa pun yang terjadi. Ini khusus untuk tujuan pengujian.
Menguji tugas cron Anda
Sekarang semuanya sudah diatur, Anda dapat menguji pekerjaan. Anda secara teknis dapat menguji ini tanpa me-reboot, tetapi paling masuk akal untuk mem-boot ulang karena itulah yang dirancang untuk ditangani:sesi login yang terputus dan tidak teratur. Luangkan waktu sejenak untuk mem-boot ulang komputer Anda, masuk, lalu cari file pengujian:
$ ls /tmp/hello
/tmp/hello
Dengan asumsi file ada, skrip contoh Anda telah berhasil dijalankan. Anda sekarang dapat menghapus opsi pengujian dari ~/.profile
, biarkan ini sebagai konfigurasi terakhir Anda:
anacron -t /home/tux/.local/etc/anacrontab \
-S /home/tux/.var/spool/anacron
Menggunakan anacron
Anda telah mengonfigurasi infrastruktur otomasi pribadi Anda, sehingga Anda dapat menempatkan skrip apa pun yang Anda ingin komputer Anda kelola untuk Anda ke dalam ~/.local/etc/cron.daily
direktori dan akan berjalan sesuai jadwal.
Terserah Anda seberapa sering Anda ingin pekerjaan berjalan. Contoh skrip Anda dieksekusi sekali sehari. Jelas, itu tergantung pada apakah komputer Anda dihidupkan dan dihidupkan pada hari tertentu. Jika Anda menggunakan komputer pada hari Jumat tetapi menyisihkannya untuk akhir pekan, skrip tidak akan berjalan pada hari Sabtu dan Minggu. Namun, pada hari Senin skrip akan dijalankan karena anacron akan mengetahui bahwa setidaknya satu hari telah berlalu. Anda dapat menambahkan direktori mingguan, dua mingguan, atau bahkan bulanan ke ~/.local/etc
untuk menjadwalkan berbagai interval.
Untuk menambahkan interval baru:
- Tambahkan direktori ke
~/.local/etc
(misalnya,cron.weekly
). - Tambahkan baris ke
~/.local/etc/anacrontab
untuk menjalankan skrip di direktori baru. Untuk interval mingguan, konfigurasinya adalah:7 0 cron.mine run-parts /home/tux/.local/etc/cron.weekly/
(dengan
0
nilai opsional menjadi beberapa menit untuk menunda awal skrip dengan sopan). - Tempatkan skrip Anda di
cron.weekly
direktori.
Selamat datang di gaya hidup otomatis. Tidak akan terasa seperti itu, tetapi Anda akan menjadi jauh lebih produktif.