Panduan dan Tutorial Cron: Mengotomatiskan Tugas

Penyingkapan: Dukungan Anda membantu menjaga situs tetap berjalan! Kami mendapatkan biaya referensi untuk beberapa layanan yang kami rekomendasikan pada halaman ini.


Pekerjaan Cron dan crontab: mereka terdengar futuristik. Tetapi bagi peretas lama, mereka membawa kembali kenangan masa yang lebih mudah dari shell Bourne dan vi dan AWK: Alat Unix yang tidak banyak digunakan lagi.

Tetapi sementara itu mungkin benar bahwa beberapa orang masih menggunakan vi, cron lebih banyak digunakan saat ini daripada sebelumnya. Bahkan, itu adalah dasar dari banyak hal keren yang Anda lakukan di situs web Anda tanpa menyadarinya.

Apa Itu Cron??

Menurut penulis asli cron, Ken Thompson, nama tersebut berasal dari kata Yunani chronos yang berarti “waktu.” Jadi cron adalah program penjadwalan dasar untuk sistem operasi Unix. Ini memungkinkan pengguna untuk menjadwalkan proses untuk dijalankan. Mereka dapat menjadi satu kali hal-hal seperti shutdown sistem yang dijadwalkan. Atau mereka bisa berupa hal-hal berkala seperti cadangan malam. Cron adalah daemon – proses latar belakang yang selalu berjalan. Ini melacak apa yang perlu dilakukan dan kapan.

Tetapi hal yang hebat tentang itu adalah Anda tidak perlu khawatir tentang cara kerjanya; Anda hanya perlu khawatir tentang cara menggunakannya.

Pekerjaan Cron

Pekerjaan cron adalah perintah individu. Ia memberi tahu cron perintah apa yang harus dijalankan dan kapan. Kami akan membahas detailnya sebentar lagi.

Crontab

Crontab adalah tabel pekerjaan cron – “cron tab (le).” Crontab hanyalah sebuah file teks. Setiap baris di dalamnya mewakili pekerjaan cron. Secara umum, setiap sistem komputer memiliki crontab global, yang dikelola oleh administrator sistem. Tetapi setiap pengguna memiliki crontab pribadi mereka sendiri.

Ini adalah bagaimana sebagian besar panel kontrol server web memungkinkan pengguna untuk mengatur peristiwa waktunya. Tapi ini juga bagaimana CMS seperti WordPress dapat melakukan beberapa keajaiban mereka.

Format Crontab

Crontab diisi dengan baris komentar dan baris pekerjaan cron. Seperti kebanyakan file perintah Unix, baris dimulai dengan simbol hashtag (angka, pound), “#.” (Simbol ini juga digunakan untuk memodifikasi fungsi pengaturan waktu harian, tetapi ini bukan standar.)

Baris pekerjaan Cron terdiri dari enam bagian: lima parameter waktu dan satu parameter perintah. Jadi setiap baris pekerjaan cron diatur sebagai berikut:

Min Hour DoM Mon DoW Command

Ini didefinisikan sebagai berikut:

  • Min: menitnya (0-59).
  • Jam: jam sehari (0-23).
  • DoM: hari dalam sebulan (1-31).
  • Senin: bulan dalam setahun (1-12 atau Jan-Des).
  • DoW: hari dalam seminggu (0-6 atau Sun-Sat).
  • Command: apa pun yang biasa Anda jalankan di baris perintah.

Parameter Pengaturan Waktu

Semua parameter tugas cron memungkinkan tiga karakter khusus.

Karakter spesial

  • Tanda bintang: secara umum, Anda akan melihat banyak tanda bintang di parameter waktu. Tanda bintang menunjukkan semua nilai yang mungkin. Jadi jika tanda bintang digunakan untuk parameter Min, tugas cron akan berjalan pada setiap menit (yang konsisten dengan parameter waktu lainnya).
  • Koma: parameter waktu dapat terdiri dari lebih dari satu nomor. Tanda koma digunakan untuk memisahkan nilai diskrit. Misalnya, parameter Min 3,27,51 akan membuat pekerjaan cron berjalan pada menit 3, 27, dan 51.
  • Tanda hubung: tanda hubung digunakan untuk menunjukkan rentang nilai. Sebagai contoh, parameter Min 3-51 akan membuat cron job berjalan pada menit 3 hingga 51. Perhatikan bahwa koma dan tanda hubung dapat digunakan bersama. Jadi, Min 3-15,39-51 akan menjalankan perintah pada menit 3 hingga 15 dan 39 hingga 51.

Parameter Perintah

Parameter perintah dapat berupa perintah apa pun yang dapat Anda masukkan pada baris perintah. Namun, perhatikan bahwa Anda tidak dapat berinteraksi dengannya. Jadi jika membutuhkan input pengguna, itu harus disediakan di crontab. Ini dilakukan dengan menggunakan karakter persen (%). Semua data setelah “%” pertama dikirim ke perintah sebagai input standar. Karakter “%” berikutnya ditafsirkan sebagai karakter baris baru.

Contohnya

Berikut adalah beberapa contoh sederhana:

# Jalankan perintah setiap menit setiap hari
* * * * * / bin / ls -R / > /etc/FileList.txt
# Jalankan perintah setiap tengah malam setiap hari
0 0 * * * / bin / ls -R / > /etc/FileList.txt
# Jalankan perintah pada jam 8:03 malam setiap hari Selasa
3 20 * * 2 / bin / ls -R / > /etc/FileList.txt
# Jalankan perintah pada jam 1:00 pagi pada hari ke 7 setiap bulan
0 1 7 * * / bin / ls -R / > /etc/FileList.txt
# Jalankan perintah pada pukul 18:45 setiap hari Jumat di bulan Agustus
45 18 * 8 5 / bin / ls -R / > /etc/FileList.txt

Dan inilah beberapa contoh yang lebih kompleks:

# Jalankan perintah setiap menit dari setengah jam pertama setiap jam setiap hari
0-29 * * * * / bin / ls -R / > /etc/FileList.txt
# Jalankan perintah setiap tengah malam dari hari pertama tahun ini
0 0 1 1 * / bin / kucing > /etc/motd.txt%Selamat Tahun Baru, semuanya!% Semoga milikmu bagus!
# Jalankan perintah pada jam 8:03 malam di hari kedua tahun ini
3 20 2 1 * / bin / kucing > /etc/motd.txt%Tahun ini pasti berjalan lama!
# Jalankan perintah pada jam 1:00 dan 13:00 pada hari ke 7 setiap bulan
0 1,13 7 * * / bin / ls -R / > /etc/FileList.txt
# Jalankan perintah pada pukul 18:45 pada setiap hari Jumat di bulan Januari hingga April dan Agustus
45 18 * 1-4,8 5 / bin / ls -R / > /etc/FileList.txt

Variasi

Ada variasi dan ekstensi untuk pekerjaan crontab dan cron dasar yang telah kita bahas.

Secara khusus, beberapa sistem memungkinkan parameter kedua dan satu tahun. Selain itu, satu karakter lain kadang-kadang tersedia untuk parameter DoM dan DoW: L. Namun, karakter ini digunakan secara berbeda untuk setiap parameter. Untuk DoM, satu-satunya “L” berarti hari terakhir bulan itu. Untuk DoW, “L” ditambahkan ke nomor hari untuk menunjukkan hari terakhir bulan itu. Misalnya, “1L” akan menunjukkan hari Senin terakhir bulan itu. Akhirnya, beberapa sistem menyediakan makro seperti @daily.

Program Crontab

Orang yang baru mengenal Unix sering menemukan crontab membingungkan karena ada file crontab dan program crontab. Yang terbaik adalah memikirkan crontab sebagai file. Program crontab hanyalah hal sederhana yang memungkinkan pengguna untuk menampilkan dan mengedit file crontab. Kecuali jika Anda adalah administrator sistem, Anda biasanya akan menggunakan antarmuka berbasis web. Yang paling penting untuk diingat adalah bahwa program crontab bukan program cron yang kita diskusikan di bawah ini.

Jika Anda memiliki akses baris perintah ke mesin Anda, Anda dapat menggunakan program crontab secara langsung. Ada dua cara untuk menggunakannya.

Impor Crontab

File berformat crontab dapat diimpor ke file pengguna atau global crontab menggunakan sintaks berikut:

file crontab [-u user]

Jika pengguna tidak diberikan, pengguna default diasumsikan. Jika file tidak diberikan, program akan membaca dari input standar.

Sunting Crontab

Perintah selanjutnya sangat mirip, tetapi memungkinkan Anda untuk melihat, mengedit, atau menghapus file crontab saat ini:

crontab [-u pengguna]

Dalam hal ini, pengguna harus memilih salah satu sakelar, -l, -r, atau -e. Saklar -l menyebabkan program menampilkan file crontab saat ini. Saklar -r menghapus file crontab saat ini. Hati-hati dengan yang itu! Dan -e switch memungkinkan Anda untuk mengedit file crontab.

Menggunakan Cron

Kebanyakan orang tidak akan pernah mengedit crontab sendiri. Biasanya, orang akan menggunakan antarmuka untuk itu. Misalnya, di cPanel, cron jobs dapat ditambahkan ke sistem dengan bentuk yang terlihat seperti ini:

Formulir Pekerjaan Cron

Sistem panel kontrol lainnya menawarkan fitur yang sama.

Belajar Cron

Jika Anda mengelola server atau menulis plugin CMS, Anda mungkin ingin menyelami cron. Tetapi sampai batas tertentu, ini akan tergantung pada Anda masuk ke manual dan spesifikasi. Hal tersulit tentang cron adalah bahwa sistem yang berbeda telah membuat ekstensi dan keistimewaan mereka sendiri. Tetapi untuk sebagian besar pekerjaan Anda, Anda hanya akan memerlukan kode dasar.

Tutorial Cron

Tutorial ini akan membantu Anda menggunakan file cron dan crontab. Beberapa dari mereka masuk ke kedalaman yang wajar.

  • Menjadwalkan Tugas dengan Cron Jobs: pengantar menyeluruh untuk seluruh sistem cron dari dasar-dasar ke mata pelajaran lanjut.
  • Linux Crontab: 15 Contoh Tugas Cron Luar Biasa: tutorial dalam format tanya jawab.
  • Newbie: Intro to Cron: Pengantar dasar Unix Geeks untuk cron dengan banyak contoh.
  • Pengantar Singkat Untuk Pekerjaan Cron: pengantar sederhana ke cron dengan penekanan pada penggunaan perintah crontab daripada secara manual mengedit file crontab.
  • Jadwalkan Tugas di Linux Menggunakan Crontab: pengantar yang jelas untuk penjadwalan cron di server Linux.
  • CronHowto: pengantar dokumentasi Ubuntu untuk cron, crontab, dan alternatif

Manual Cron

Pada sistem Unix apa pun yang Anda miliki, Anda akan dapat memperoleh informasi tentang implementasi cronnya dengan menggunakan perintah man:

  • % man crontab # Menampilkan manual untuk perintah crontab.
  • % man 5 crontab # Menampilkan manual untuk format file crontab.
  • % man cron # Menampilkan manual untuk daemon cron.

Berikut adalah manual online untuk Linux dan FreeBSD:

  • Linux Crontab File: manual untuk file crontab yang digunakan di Linux.
  • Linux Crontab Command: manual untuk aplikasi Linux untuk menambahkan pekerjaan cron ke file crontab.
  • Linux Cron Daemon: manual untuk daemon cron Linux – program yang melakukan semua pekerjaan.
  • File FreeBSD Crontab: manual untuk file crontab yang digunakan dalam FreeBSD.
  • FreeBSD Crontab Command: manual untuk aplikasi FreeBSD untuk menambahkan pekerjaan cron ke file crontab.
  • FreeBSD Cron Daemon: manual untuk daemon cron FreeBSD – program yang melakukan semua pekerjaan.

Alat Cron

Banyak alat ini tidak hanya akan membantu Anda untuk membuat jadwal cron hal seperti yang Anda inginkan, mereka akan memberi Anda wawasan tentang bagaimana seluruh sistem bekerja.

  • Crontab – Referensi Cepat: referensi praktis untuk pengguna yang sudah terbiasa dengan sistem.
  • Crontab Generator: antarmuka titik dan klik yang menampilkan garis crontab untuk tugas terjadwal apa pun yang Anda inginkan.
  • Mudah Membuat Sintaksis Crontab: generator crontab lain, tetapi yang sangat membantu dalam belajar membuat file crontab Anda sendiri dengan tangan.
  • Editor Crontab: kebalikan dari generator; Anda memasukkan informasi pekerjaan cron, dan memberi tahu Anda apa yang telah Anda jadwalkan.
  • Pekerjaan Standar Cron: pengantar untuk menciptakan pekerjaan cron dengan cPanel dari SiteGround.
  • Menggunakan Cron: pengantar menggunakan cron dengan contoh-contoh menggunakan panel kontrol Plesk.

Alternatif Cron

Karena penjadwalan adalah bagian penting dari komputasi, ada banyak pilihan berkaitan dengan perangkat lunak untuk melakukannya. Cron adalah standar, tetapi jika Anda memiliki kebutuhan yang lebih maju, atau hanya berbeda, beberapa alternatif ini mungkin lebih sesuai dengan tujuan Anda.

  • Anacron: pengganti cron untuk komputer yang tidak selalu berjalan. Jadi itu bisa menangani situasi di mana komputer tidak berjalan saat tugas dijadwalkan.
  • Fcron: umumnya pengganti cron, tetapi seperti anacron, itu tidak mengharuskan sistem selalu berjalan.
  • Hcron: penggantian cron dengan format tabel yang ditingkatkan, independensi pekerjaan, dan orientasi jaringan.
  • JAMS: sistem penjadwalan perusahaan komersial.
  • Pemborong: produk komersial dengan kemampuan penjadwalan yang dikombinasikan dengan kontrol dan faktur klien.
  • Chronos: program penjadwalan terdistribusi yang dirancang untuk sistem berbasis cloud.

Ringkasan

Menjadwalkan tugas adalah salah satu aspek terpenting dari bekerja dengan komputer – ini adalah salah satu cara yang menghemat banyak waktu. Dan jika Anda bekerja dengan server Linux, Anda mungkin sudah menggunakan cron. Tetapi dengan sedikit pengetahuan, Anda dapat menggunakannya untuk sangat meningkatkan produktivitas Anda dan mengurangi bagian pekerjaan Anda yang membosankan dan rawan kesalahan.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map