Panduan dan Tutorial Cron: Mengautomasikan Tugas

Pendedahan: Sokongan anda membantu mengekalkan laman web ini! Kami memperoleh bayaran rujukan untuk beberapa perkhidmatan yang kami cadangkan di halaman ini.


Pekerjaan cron dan crontab: kedengarannya futuristik. Tetapi kepada penggodam lama, mereka mengembalikan kenangan masa yang lebih mudah dari shell Bourne dan vi dan AWK: Alat Unix yang tidak banyak digunakan lagi.

Tetapi walaupun mungkin benar bahawa hanya sedikit orang yang menggunakan vi, cron lebih banyak digunakan hari ini daripada sebelumnya. Sebenarnya, ini adalah asas dari banyak perkara menarik yang anda lakukan di laman web anda tanpa menyedarinya.

Apa itu Cron?

Menurut penulis asal cron, Ken Thompson, nama itu berasal dari kata Yunani chronos yang bermaksud “masa.” Jadi cron adalah program penjadualan asas untuk sistem operasi Unix. Ini membolehkan pengguna menjadualkan proses untuk dijalankan. Mereka boleh menjadi satu kali seperti penutupan sistem yang dijadualkan. Atau mereka boleh menjadi perkara berkala seperti sandaran setiap malam. Cron adalah daemon – proses latar yang selalu berjalan. Ia memantau apa yang perlu dilakukan dan kapan.

Tetapi perkara yang menarik ialah anda tidak perlu risau tentang cara kerjanya; anda hanya perlu risau bagaimana menggunakannya.

Pekerjaan Cron

Pekerjaan cron adalah perintah individu. Ini memberitahu cron perintah apa yang hendak dijalankan dan kapan. Kita akan sampai ke perinciannya sebentar lagi.

Ketam

Crontab adalah jadual pekerjaan cron – “tab cron (le).” Crontab hanyalah fail teks. Setiap baris di dalamnya mewakili pekerjaan cron. Umumnya, setiap sistem komputer mempunyai crontab global, yang dikendalikan oleh sistem yang ditadbir. Tetapi setiap pengguna mempunyai crontab peribadi mereka sendiri.

Ini adalah bagaimana kebanyakan panel kawalan pelayan web membenarkan pengguna untuk menetapkan peristiwa masa. Tetapi ini juga bagaimana CMS seperti WordPress dapat melakukan beberapa keajaiban mereka.

Format Crontab

Crontab dipenuhi dengan baris komen dan baris kerja cron. Seperti kebanyakan fail arahan Unix, baris bermula dengan simbol hashtag (number, pound), “#.” (Simbol ini juga digunakan untuk mengubah fungsi waktu hari minggu, tetapi ini tidak standard.)

Garis kerja kron terdiri daripada enam bahagian: lima parameter masa dan satu parameter perintah. Oleh itu, setiap barisan kerja cron disusun seperti berikut:

Perintah Min Jam DoM Mon DoW

Ini ditakrifkan sebagai berikut:

  • Min: minit jam (0-59).
  • Jam: jam sehari (0-23).
  • DoM: hari dalam bulan (1-31).
  • Isnin: bulan dalam setahun (1-12 atau Jan-Dis).
  • DoW: hari dalam seminggu (0-6 atau Sun-Sat).
  • Perintah: apa sahaja yang biasanya anda jalankan pada baris perintah.

Parameter Pemasaan

Semua parameter kerja cron membenarkan tiga watak khas.

Watak Khas

  • Tanda bintang: secara amnya, anda akan melihat banyak tanda bintang dalam parameter masa. Tanda bintang menunjukkan semua nilai yang mungkin. Jadi jika tanda bintang digunakan untuk parameter Min, tugas cron akan dijalankan pada setiap minit (yang selaras dengan parameter masa yang lain).
  • Koma: parameter masa boleh terdiri daripada lebih dari satu nombor. Tanda koma digunakan untuk memisahkan nilai diskrit. Sebagai contoh, parameter Min 3,27,51 akan menjadikan tugas cron dijalankan pada minit 3, 27, dan 51.
  • Kata hubung: tanda hubung digunakan untuk menunjukkan pelbagai nilai. Sebagai contoh, parameter Min 3-51 akan menjadikan tugas cron dijalankan pada minit 3 hingga 51. Perhatikan bahawa koma dan tanda hubung dapat digunakan bersama. Jadi Min 3-15,39-51 akan menjalankan perintah pada minit 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 bahawa anda tidak dapat berinteraksi dengannya. Oleh itu, jika memerlukan input pengguna, ia mesti disediakan di crontab. Ini dilakukan dengan menggunakan peratusan watak (%). Semua data setelah “%” pertama dikirim ke perintah sebagai input standardnya. Karakter “%” seterusnya ditafsirkan sebagai watak barisan baru.

Contoh

Berikut adalah beberapa contoh mudah:

# Jalankan arahan setiap minit setiap hari
* * * * * / tong / ls -R / > /etc/FileList.txt
# Jalankan arahan setiap tengah malam setiap hari
0 0 * * * / tong / ls -R / > /etc/FileList.txt
# Jalankan arahan pada pukul 8:03 malam setiap hari Selasa
3 20 * * 2 / tong / ls -R / > /etc/FileList.txt
# Jalankan arahan pada pukul 1:00 pagi pada hari ke-7 setiap bulan
0 1 7 * * / tong / ls -R / > /etc/FileList.txt
# Jalankan perintah pada jam 6:45 petang pada setiap hari Jumaat pada bulan Ogos
45 18 * 8 5 / tong / ls -R / > /etc/FileList.txt

Berikut adalah beberapa contoh yang lebih kompleks:

# Jalankan perintah setiap minit setengah jam pertama setiap jam setiap hari
0-29 * * * * / tong / ls -R / > /etc/FileList.txt
# Jalankan arahan setiap tengah malam hari pertama tahun ini
0 0 1 1 * / tong sampah / kucing > /etc/motd.txt%Selamat Tahun Baru, semua orang!% Semoga kejayaan anda hebat!
# Jalankan arahan pada pukul 8:03 malam pada hari kedua tahun ini
3 20 2 1 * / tong sampah / kucing > /etc/motd.txt%Tahun ini pasti berlanjutan!
# Jalankan arahan pada pukul 1:00 pagi dan 1:00 petang pada hari ke-7 setiap bulan
0 1,13 7 * * / tong / ls -R / > /etc/FileList.txt
# Jalankan arahan pada jam 6:45 petang pada setiap hari Jumaat pada bulan Januari hingga April dan Ogos
45 18 * 1-4,8 5 / tong / ls -R / > /etc/FileList.txt

Variasi

Terdapat variasi dan peluasan untuk pekerjaan crontab dan cron asas yang telah kami bincangkan.

Khususnya, beberapa sistem membenarkan parameter kedua dan satu tahun. Juga, satu watak lain kadang-kadang tersedia untuk parameter DoM dan DoW: L. Ia digunakan secara berbeza untuk setiap parameter. Untuk DoM, “L” yang tunggal bermaksud hari terakhir dalam sebulan. Untuk DoW, “L” ditambahkan pada nombor hari untuk menunjukkan hari terakhir dalam sebulan. Contohnya, “1L” akan menunjukkan Isnin terakhir setiap bulan. Akhirnya, beberapa sistem menyediakan makro seperti @daily.

Program Crontab

Pengguna baru di Unix sering mendapati crontab membingungkan kerana terdapat fail crontab dan program crontab. Sebaiknya anggap crontab sebagai fail. Program crontab hanyalah perkara mudah yang membolehkan pengguna memaparkan dan mengedit fail crontab. Kecuali anda adalah pentadbir sistem, anda biasanya akan menggunakan antara muka berasaskan web. Perkara yang paling penting untuk diingat adalah bahawa program crontab bukanlah program cron yang kita bincangkan di bawah.

Sekiranya anda mempunyai akses baris perintah ke mesin anda, anda boleh menggunakan program crontab secara langsung. Terdapat dua cara untuk menggunakannya.

Import Crontab

Fail berformat crontab dapat diimport ke file crontab pengguna atau global menggunakan sintaks berikut:

fail crontab [-u user]

Sekiranya pengguna tidak diberi, pengguna lalai dianggap. Sekiranya fail tidak diberikan, program akan dibaca dari input standard.

Edit Crontab

Perintah seterusnya sangat serupa, tetapi membolehkan anda melihat, mengedit, atau menghapus fail crontab semasa:

crontab [-u pengguna]

Dalam kes ini, pengguna mesti memilih salah satu suis, -l, -r, atau -e. Suis -l menyebabkan program memaparkan fail crontab semasa. Suis -r membuang fail crontab semasa. Berhati-hati dengan yang itu! Dan suis -e membolehkan anda mengedit fail crontab.

Menggunakan Cron

Kebanyakan orang tidak akan mengedit crontab sendiri. Biasanya, orang akan menggunakan antara muka untuknya. Sebagai contoh, di cPanel, pekerjaan cron dapat ditambahkan ke sistem dengan bentuk yang kelihatan seperti ini:

Borang Kerja Cron

Sistem panel kawalan lain menawarkan ciri yang sama.

Pembelajaran Cron

Sekiranya anda menguruskan pelayan atau menulis pemalam CMS, anda mungkin ingin menyelami cron secara mendalam. Tetapi pada tahap tertentu, ini bergantung kepada anda apabila menggunakan manual dan spesifikasi. Perkara paling sukar mengenai cron adalah bahawa sistem yang berbeza telah membuat sambungan dan keistimewaan mereka sendiri. Tetapi untuk sebahagian besar pekerjaan anda, anda hanya memerlukan kod asas.

Tutorial Cron

Tutorial ini akan membolehkan anda menggunakan fail cron dan crontab. Sebahagian daripada mereka masuk ke tahap yang cukup mendalam.

  • Menjadualkan Tugas dengan Cron Jobs: pengenalan menyeluruh ke seluruh sistem cron dari asas hingga subjek lanjutan.
  • Linux Crontab: 15 Cron Job Awesome Contoh: tutorial dalam format soal jawab.
  • Newbie: Pengenalan kepada Cron: pengenalan asas Unix Geeks untuk cron dengan banyak contoh.
  • Pengenalan Ringkas Kepada Pekerjaan Cron: pengenalan ringkas untuk cron dengan penekanan pada penggunaan perintah crontab daripada mengedit fail crontab secara manual.
  • Jadualkan Tugas di Linux Menggunakan Crontab: pengenalan yang jelas untuk penjadualan cron pada pelayan Linux.
  • CronHowto: pengenalan dokumentasi Ubuntu untuk cron, crontab, dan alternatif

Manual Cron

Pada mana-mana sistem Unix yang anda miliki, anda akan dapat maklumat mengenai pelaksanaan cronnya dengan menggunakan perintah man:

  • % man crontab # Memaparkan manual untuk arahan crontab.
  • % man 5 crontab # Memaparkan manual untuk format fail crontab.
  • % man cron # Memaparkan manual untuk cron daemon.

Berikut adalah manual dalam talian untuk Linux dan FreeBSD:

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

Alat Kron

Sebilangan besar alat ini bukan sahaja dapat membantu anda membuat cron menjadualkan perkara seperti yang anda mahukan, tetapi juga akan memberi anda gambaran tentang bagaimana keseluruhan sistem berfungsi.

  • Crontab – Rujukan Pantas: rujukan berguna untuk pengguna yang sudah biasa dengan sistem ini.
  • Crontab Generator: antara muka titik dan klik yang menghasilkan garisan crontab untuk apa sahaja tugas berjadual yang anda mahukan.
  • Buat Sintaks Crontab dengan mudah: penjana crontab lain, tetapi yang sangat membantu dalam belajar membuat fail crontab anda sendiri dengan tangan.
  • Crontab Editor: kebalikan dari penjana; anda memasukkan maklumat pekerjaan cron, dan ia memberitahu anda apa yang telah anda tetapkan.
  • Pekerjaan Cron Standard: pengenalan untuk mewujudkan pekerjaan cron dengan cPanel dari SiteGround.
  • Menggunakan Cron: pengenalan untuk menggunakan cron dengan contoh menggunakan panel kawalan Plesk.

Alternatif Cron

Oleh kerana penjadualan adalah bahagian penting dalam pengkomputeran, ada banyak pilihan berkenaan dengan perisian untuk melakukannya. Cron adalah standard, tetapi jika anda mempunyai keperluan yang lebih maju, atau hanya berbeza, beberapa alternatif ini mungkin sesuai dengan tujuan anda.

  • Anacron: pengganti cron untuk komputer yang tidak selalu berjalan. Oleh itu, ia dapat menangani situasi di mana komputer tidak berjalan ketika tugas dijadualkan.
  • Fcron: biasanya pengganti cron, tetapi seperti anacron, ia tidak memerlukan sistem sentiasa berjalan.
  • Hcron: pengganti cron dengan format jadual yang lebih baik, kebebasan kerja, dan orientasi rangkaian.
  • JAMS: sistem penjadualan perusahaan komersial.
  • Jobber: produk komersial dengan kemampuan penjadualan digabungkan dengan kawalan pelanggan dan invois.
  • Chronos: program penjadualan diedarkan yang dirancang untuk sistem berasaskan awan.

Ringkasan

Menjadualkan tugas adalah salah satu aspek terpenting dalam bekerja dengan komputer – ini adalah salah satu cara yang dapat menjimatkan banyak masa kepada anda. Dan jika anda bekerja dengan pelayan Linux, anda mungkin sudah menggunakan cron. Tetapi dengan sedikit pengetahuan, anda boleh menggunakannya untuk meningkatkan produktiviti anda dan mengurangkan bahagian pekerjaan anda yang membosankan dan ralat.

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