GNU/Linux >> Belajar Linux >  >> Linux

Gunakan anacron untuk crontab yang lebih baik

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:

  1. Tambahkan direktori ke ~/.local/etc (misalnya, cron.weekly ).
  2. 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).

  3. 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.


Linux
  1. Bagaimana saya menggunakan Ansible dan anacron untuk otomatisasi

  2. Linux – Aplikasi Mana yang Digunakan Untuk Kalender?

  3. Gunakan Temukan dan Temukan untuk mencari file di Linux

  1. Cara menggunakan rsync lanjutan untuk cadangan Linux besar

  2. Cara menggunakan systemd-nspawn untuk pemulihan sistem Linux

  3. Layanan OS Linux 'anacron'

  1. Cara menggunakan cron di Linux

  2. Linux vs Windows:OS Mana yang Lebih Baik untuk Game PC

  3. Linux Vs Windows – Mengapa Linux Lebih Baik Untuk Pemrograman &Web Dev