GNU/Linux >> Belajar Linux >  >> Linux

Kiat Linux untuk menggunakan cron untuk menjadwalkan tugas

Membuat sesuatu terjadi pada jadwal yang teratur dan dapat diprediksi adalah penting di komputer. Ini penting karena, sebagai manusia, terkadang kita bisa buruk dalam mengingat untuk melakukan sesuatu dengan andal karena kita terganggu, terlalu banyak pikiran, atau kita sedang berlibur. Komputer benar-benar pandai melakukan sesuatu sesuai jadwal, tetapi manusia harus memprogram komputer sebelum komputer mengambil tindakan.

Di satu sisi, cron sistem adalah pengenalan yang mudah dan dasar untuk pemrograman. Anda dapat membuat komputer Anda melakukan apa yang Anda inginkan hanya dengan mengedit file. Anda bahkan tidak perlu tahu di mana file tersebut disimpan. Anda hanya perlu mengetikkan perintah sederhana, masukkan "resep" yang Anda ingin komputer Anda ikuti, dan simpan pekerjaan Anda. Sejak saat itu, komputer Anda menjalankan instruksi Anda pada waktu yang ditentukan hingga diperintahkan untuk berhenti.

Sesuai desain, cron bukanlah sistem yang kompleks. Inilah yang perlu Anda ketahui tentangnya.

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

Apa itu cron?

cron perintah ada di mana-mana di Linux dan Unix, dan begitu sering ditiru dan diciptakan kembali sehingga hampir merupakan istilah umum untuk sesuatu yang terjadi sesuai jadwal . Ini adalah bentuk otomatisasi, dan meskipun ada implementasi yang berbeda (cron Dillon, cron Vixie, chrony, dan lainnya), dan variasi seperti anacron dan pengatur waktu systemd, sintaks dan alur kerja pada dasarnya tetap sama selama beberapa dekade.

Cron bekerja pada sistem "spool", seperti halnya printer dan email. Jika Anda tidak tahu bahwa printer dan email menggunakan spool, tidak apa-apa karena inti dari file spool adalah Anda tidak perlu terlalu memikirkannya. Pada sistem Linux, direktori /var/spool dirancang sebagai hub pusat untuk file penting tetapi tingkat rendah yang tidak dimaksudkan untuk berinteraksi dengan pengguna secara langsung. Salah satu gulungan yang dikelola di /var/spool adalah cron tabel atau "crontab" untuk jangka pendek. Setiap pengguna—termasuk Anda sendiri—di sistem Linux memiliki crontab. Pengguna dapat mengedit, melihat, dan menghapus crontab mereka sendiri. Selain itu, pengguna dapat menggunakan crontab mereka untuk menjadwalkan tugas. cron sistem itu sendiri memantau crontab dan memastikan bahwa setiap pekerjaan yang tercantum dalam crontab dijalankan pada waktu yang ditentukan.

Edit pengaturan cron

Anda dapat mengedit crontab menggunakan crontab perintah bersama dengan -e (untuk edit ) pilihan. Secara default, sebagian besar sistem memanggil vim editor teks. Jika Anda, seperti saya, tidak menggunakan Vim, maka Anda dapat mengatur editor yang berbeda untuk diri Anda sendiri di ~/.bashrc Anda mengajukan. Saya mengatur milik saya ke Emacs, tetapi Anda juga dapat mencoba Nano, Kate, atau apa pun editor favorit Anda. EDITOR variabel lingkungan mendefinisikan editor teks apa yang Anda gunakan di terminal Anda, sedangkan VISUAL variabel mendefinisikan editor apa yang Anda gunakan dalam mode grafis:

export EDITOR=nano
export VISUAL=kate

Segarkan sesi shell Anda dengan pengaturan baru Anda:

$ source ~/.bashrc

Sekarang Anda dapat mengedit crontab dengan editor pilihan Anda:

$ crontab -e

Jadwalkan tugas

cron sistem pada dasarnya adalah sistem kalender. Anda dapat memberi tahu cron seberapa sering Anda ingin suatu pekerjaan dijalankan dengan menggunakan lima atribut berbeda:menit, jam, tanggal, bulan, hari kerja. Urutan atribut ini ketat dan tidak selalu intuitif, tetapi Anda dapat menganggapnya sebagai filter atau topeng. Secara default, Anda mungkin menganggap semuanya disetel ke selalu atau setiap . Entri ini akan menjalankan touch /tmp/hello di bagian atas setiap menit selama setiap jam setiap hari sepanjang tahun:

* * * * * touch /tmp/hello

Anda dapat membatasi jadwal yang mencakup semua ini dengan menetapkan definisi khusus untuk setiap atribut. Untuk membuat pekerjaan berjalan pada tanda setengah jam setiap jam, setel menit ke 30 :

30 * * * * touch /tmp/hello

Anda selanjutnya dapat membatasi instruksi ini dengan jam tertentu. Pekerjaan ini berjalan pada pukul 03.30 setiap pagi:

30 3 * * * touch /tmp/hello

Anda juga dapat menjalankan pekerjaan hanya pada awal setiap bulan:

30 3 1 * * touch /tmp/hello

Anda dapat mengatur bulan menggunakan 1 untuk Januari hingga 12 untuk Desember, dan Anda dapat mengatur hari menggunakan 0 untuk Minggu hingga 6 untuk Sabtu. Pekerjaan ini berjalan pada pukul 3:15 selama bulan April, hanya pada hari Senin:

15 3 * 4 1 touch /tmp/hello

Setel kenaikan

Semua setelan ini cocok dengan nilai tepat . Anda juga dapat menggunakan cron notasi untuk menjalankan pekerjaan setelah berlalunya waktu. Misalnya, Anda dapat menjalankan pekerjaan setiap 15 menit:

*/15 * * * * touch /tmp/hello

Anda dapat menjalankan pekerjaan pada jam 10 pagi setiap tiga hari:

* 10 */3 * * touch /tmp/hello

Anda dapat menjalankan pekerjaan setiap enam jam:

* */6 * * * touch /tmp/hello

Singkatan cron

cron Modern modern implementasi telah menambahkan singkatan yang nyaman untuk jadwal umum. Ini adalah:

  • @hourly
  • @daily
  • @weekly
  • @monthly
  • @yearly or @annually

Mencantumkan tugas cron

Menggunakan crontab perintah, Anda dapat melihat daftar cron Anda yang dijadwalkan pekerjaan:

$ crontab -l
15 3 * 4 1 touch /tmp/hello

Hapus crontab

Setelah selesai dengan crontab, Anda dapat menghapusnya dengan -r pilihan:

$ crontab -r -i

-i opsi singkatan dari interaktif . Ini meminta Anda untuk konfirmasi sebelum menghapus file.

Apa yang bisa dilakukan cron

Satu hal untuk mengetahui cara menggunakan cron , tapi itu hal lain untuk mengetahui untuk apa menggunakannya. Kasus penggunaan klasik adalah rencana cadangan yang baik. Jika komputer Anda menyala hampir sepanjang hari atau sepanjang hari dan sepanjang malam, maka Anda dapat menjadwalkan pencadangan rutin dari partisi penting. Saya menjalankan aplikasi cadangan bernama rdiff-backup di partisi data utama saya setiap hari pada jam 3 pagi:

$ crontab -l | grep rdiff
* 3 * * * rdiff-backup /data/ /vault/

Penggunaan umum lainnya adalah pemeliharaan sistem. Di desktop Slackware saya, saya memperbarui katalog repositori lokal saya setiap Jumat sore:

$ crontab -l | grep slack
* 14 * * 5 sudo slackpkg update

Saya juga dapat menjalankan skrip Ansible pada pukul 15:00 setiap tiga hari untuk merapikan folder Unduhan saya:

$ crontab -l | grep ansible
* 15 */3 * * ansible-playbook /home/seth/Ansible/cleanup.yaml

Sedikit investasi dalam kesehatan lingkungan komputasi Anda sangat membantu. Ada skrip de-duplikasi, ukuran file dan /tmp monitor direktori, pengubah ukuran foto, penggerak file, dan banyak lagi tugas kasar yang dapat Anda jadwalkan untuk dijalankan di latar belakang untuk membantu menjaga sistem Anda tetap rapi. Dengan cron , komputer Anda dapat mengurus dirinya sendiri dengan cara yang hanya saya harapkan dari apartemen fisik saya.

Ingat pengaturan cron

Selain datang dengan mengapa Anda membutuhkan cron , hal tersulit tentang cron dalam pengalaman saya telah mengingat sintaksnya. Ulangi ini untuk diri sendiri, berulang-ulang sampai Anda memasukkannya ke dalam memori:

Menit, jam, tanggal, bulan, hari kerja.

Menit, jam, tanggal, bulan, hari kerja.

Menit, jam, tanggal, bulan, hari kerja.

Lebih baik lagi, unduh lembar contekan gratis kami sehingga Anda memiliki kunci yang dekat saat Anda sangat membutuhkannya!


Linux
  1. Menjadwalkan tugas dengan perintah cron Linux

  2. Menjadwalkan tugas sistem dengan Cron di Linux

  3. 8 tips untuk otomatisasi sistem Linux yang andal

  1. 5 tips untuk memutuskan tugas dan beban kerja Linux mana yang akan diotomatisasi

  2. Bagaimana cara mengatur Tugas Otomatis pada VPS Linux Menggunakan Cron?

  3. Cara Menjadwalkan Tugas Menggunakan di di Linux

  1. 3 tips untuk mencetak dengan Linux

  2. Kiat Linux untuk menggunakan Layar GNU

  3. 8 tips untuk baris perintah Linux