crontab

Tutorial Pemula Pekerjaan Cron Lengkap

Tutorial Pemula Pekerjaan Cron Lengkap
Cron adalah utiliti yang paling berguna dalam sistem operasi seperti Linux atau UNIX yang membolehkan menjalankan perintah atau skrip pada jadual tertentu tanpa campur tangan pengguna. Perintah dan skrip yang dijadualkan juga dinamakan sebagai pekerjaan cron. Ini kebanyakan digunakan untuk mengotomatisasi pekerjaan berulang seperti menjalankan sandaran berjadual, membersihkan fail sementara, penyelenggaraan sistem, dan pelbagai pekerjaan berulang lainnya. Ia serupa dengan Penjadual Tugas di OS Windows.

Dalam tutorial ini, kami akan memberi anda pengenalan asas mengenai semua perkara yang perlu anda fahami untuk menjadualkan pekerjaan dengan cron. Ini merangkumi sintaks asas cron, menyunting fail crontab, menjadualkan pekerjaan dengan cron dengan beberapa contoh, melihat kerja cron, dll.

Asas Pekerjaan Cron

Mari kita fahami beberapa asas pekerjaan cron.

Apa itu Crond?

Crond adalah daemon dalam sistem Linux yang berjalan di latar belakang dan memeriksa setiap minit untuk melihat apakah ada pekerjaan yang dijadwalkan pada waktu itu. Sekiranya ada, ia melaksanakan tugas itu, jika tidak, ia tetap tidak aktif.

Sintaks Pekerjaan Cron

Sintaks untuk kerja cron adalah seperti berikut:

* * * * * arahan / skrip

Dari kiri:

Untuk menentukan beberapa nilai dalam medan, gunakan simbol operator berikut:

  1. Asterisk (*): Untuk menentukan semua nilai yang mungkin untuk medan
  2. Sengkang (-): Ke snyatakan pelbagai nilai
  3. Tanda koma (,): Untuk menentukan senarai nilai
  4. Pemisah (/): Untuk menentukan nilai langkah

Menyunting Fail Crontab

Crontab adalah fail yang mengandungi tugas yang dijadualkan dalam sintaks tertentu. Terdapat dua jenis fail crontab; satu untuk pekerjaan cron khusus sistem dan satu lagi untuk pekerjaan cron khusus pengguna.

Pekerjaan cron sistem

Pekerjaan cron seluruh sistem terletak di / etc / crontab fail dan / etc / cron.d direktori, dan mereka dikendalikan / etc / cron.setiap jam, / etc / cron.setiap hari, / etc / cron.setiap minggu dan / etc / cron.bulanan. Hanya pentadbir sistem yang dapat mengakses fail-fail ini.

Pentadbir sistem dapat menentukan tugas cron menggunakan perintah berikut:

$ nano / etc / crontab

Berikut adalah sintaks pekerjaan di / etc / crontab fail:

# min jam arahan hari pengguna haribulan minggu
* * * * * pengguna1 ifconfig

Pekerjaan cron khusus pengguna

Pekerjaan cron khusus pengguna terletak di /var / spool / cron / crontabs direktori. Walaupun anda dapat mengedit pekerjaan ini secara manual, disarankan untuk mengedit pekerjaan ini menggunakan perintah crontab -e.

Pengguna standard dapat menentukan pekerjaan cron menggunakan perintah berikut:

$ crontab -e

Contohnya, jika Anda masuk sebagai pengguna "uji", menjalankan perintah crontab -e akan mengedit file crontab untuk pengguna "uji". Begitu juga, jika anda log masuk sebagai pengguna root, perintah crontab -e akan mengedit fail crontab untuk pengguna root.

Keluarkan arahan di bawah di Terminal untuk mengedit fail crontab untuk pengguna lain:

$ sudo crontab -u -e

Sebagai contoh, jika anda log masuk sebagai pengguna "test1" dan ingin mengedit file crontab untuk pengguna "test2", perintahnya adalah:

$ sudo crontab -u test2 -e

Berikut adalah sintaks pekerjaan cron yang boleh ditambahkan dalam fail crontab:

# m h arahan dayofmonth bulan dayofweek
* * * * * ifconfig

Anda dapat melihat dalam pekerjaan khusus pengguna bahwa tidak ada "nama pengguna" yang diajukan.

Perintah Crontab

Perintah crontab digunakan untuk mengedit, menyenaraikan, dan membuang tugas cron:

  • crontab -e Untuk mengedit fail crontab pengguna semasa
  • crontab -l Untuk memaparkan kandungan fail crontab
  • crontab -u [nama pengguna] Untuk mengedit fail crontab pengguna lain
  • crontab -r Untuk membuang fail crontab dari pengguna semasa
  • crontab -i Untuk memaparkan arahan sebelum membuang fail crontab pengguna semasa

Menjadualkan Pekerjaan dengan Cron

Dengan Cron, anda dapat menjalankan tugas pada waktu, tarikh, dan selang waktu tertentu dengan unit minimum dalam beberapa minit, i.e., anda boleh menjalankan tugas setiap minit.

Untuk menjadualkan pekerjaan dengan cron, buka fail crontab menggunakan kaedah yang dibincangkan di bahagian sebelumnya. Setelah anda membuka fail crontab, anda akan diminta untuk memilih penyunting teks. Taipkan nombor untuk memilih penyunting teks pilihan anda. Tatal ke bawah ke bahagian bawah fail dan tambahkan tugas dalam sintaks yang dijelaskan di atas. Setiap baris dalam fail menentukan satu perintah. Lima entri pertama dalam baris menentukan waktu yang dijadualkan, dan entri terakhir menentukan arahan atau skrip mana yang harus dijalankan.

Contoh:

Baris berikut dalam fail crontab akan menjadualkan tugas cron untuk menjalankan perintah / skrip pada setiap minit ke-30 lewat 5 jam pada setiap hari dalam seminggu dari hari Isnin hingga Sabtu.

* / 30 5 * * 1-6 arahan / skrip

Minit

Dalam bidang ini, kita menentukan minit ketika kita mahu perintah itu dilaksanakan. Ia dinyatakan dari 0 hingga 59. * Dalam bidang ini bermaksud menjalankan tugas setiap minit. Pada baris crontab di atas, * / 30 memberitahu tugas cron untuk menjalankan perintah / skrip yang ditentukan setiap 30 minit.

Jam

Dalam bidang ini, kita menentukan jam-jam ketika kita mahu perintah itu dilaksanakan. Ia dinyatakan dari 0 hingga 23. * Dalam bidang ini bermaksud menjalankan tugas setiap jam. Pada baris crontab di atas, nilai 5 memberitahu tugas cron untuk menjalankan perintah / skrip yang ditentukan setiap lima jam.

Hari bulan

Dalam bidang ini, kita menentukan hari-hari tertentu dalam bulan ketika kita ingin perintah itu dilaksanakan. Ia dinyatakan dari 1 hingga 31. * Dalam bidang ini bermaksud setiap hari. Pada baris crontab di atas, * memberitahu tugas cron untuk menjalankan perintah / skrip yang ditentukan setiap hari.

Bulan dalam setahun

Dalam bidang ini, kita menentukan bulan-bulan tertentu ketika kita mahu perintah itu dilaksanakan. Ia dinyatakan dari 1 hingga 12. * Dalam bidang ini bermaksud setiap bulan. Pada baris crontab di atas, * memberitahu tugas cron untuk menjalankan perintah / skrip yang ditentukan setiap bulan.

Hari dalam seminggu

Dalam bidang ini, kita menentukan hari-hari tertentu dalam seminggu ketika kita mahu perintah itu dilaksanakan. Ia ditentukan dari 0 hingga 6 dari hari Ahad hingga Sabtu (0 untuk hari minggu dan 6 untuk hari Sabtu). * Dalam bidang ini bermaksud setiap hari dalam seminggu. Pada baris crontab di atas, * memberitahu tugas cron untuk menjalankan perintah / skrip yang ditentukan setiap hari dalam seminggu.

Contoh Pekerjaan Cron

Berikut adalah beberapa contoh pekerjaan cron:

Jalankan tugas cron setiap 15 minit

Untuk menjadualkan kerja cron dijalankan setiap 15 minit, tambahkan baris di bawah dalam fail crontab:

* / 15 * * * * arahan / skrip

Jalankan kerja cron pada pukul 5 pagi setiap hari

Untuk menjadualkan kerja cron dijalankan pada pukul 5 pagi setiap hari, tambahkan baris di bawah dalam fail crontab:

0 5 * * * arahan / skrip

Jalankan kerja cron pada pukul 5 petang setiap hari

Untuk menjadualkan kerja cron dijalankan pada pukul 5 petang setiap hari, tambahkan baris di bawah dalam fail crontab:

0 17 * * * arahan / skrip

Jalankan tugas cron pada jam 9 pagi pada hari pertama setiap bulan

Untuk menjadualkan kerja cron dijalankan pada jam 9 pagi pada hari pertama setiap bulan, tambahkan baris di bawah dalam fail crontab:

0 9 1 * * arahan / skrip

Jalankan pekerjaan cron setiap jam pada setiap 15 Mac

Untuk menjadualkan kerja cron setiap jam pada setiap 15 Mac, tambahkan baris di bawah dalam fail crontab:

0 * 15 3 * arahan / skrip

Jalankan kerja cron setiap 5 jam

Untuk menjadualkan kerja cron setiap 5 jam, tambahkan baris di bawah dalam fail crontab:

0 / / 5 * * * arahan / skrip

Jalankan tugas cron setiap 15 minit

Untuk menjadualkan kerja cron dijalankan setiap 15 minit, tambahkan baris di bawah dalam fail crontab:

* / 15 * * * *

Menggunakan Rentetan

Rentetan berikut juga dapat digunakan untuk menentukan pekerjaan:

  1. @jamur: Untuk melaksanakan tugas setiap jam, i.e., "0 * * * *"
  2. @ tengah malam: Untuk melaksanakan tugas sekali setiap hari, i.e., "0 0 * * *"
  3. @ harian: sama seperti tengah malam
  4. @setiap minggu: Untuk melaksanakan pekerjaan seminggu sekali, i.e., "0 0 * * 0"
  5. @bulan: Untuk melaksanakan pekerjaan sebulan sekali, i.e., "0 0 1 * *"
  6. @setiap tahun: Untuk melaksanakan pekerjaan sekali setiap tahun, i.e., "0 0 1 1 *"
  7. @tahun: sama seperti @annually
  8. @reboot: Untuk melaksanakan tugas sekali pada setiap permulaan

Sebagai contoh, untuk menjalankan skrip atau perintah setiap minggu, entri dalam file crontab adalah:

arahan / skrip @weekly

Direktori Kron yang telah ditetapkan

Terdapat beberapa direktori cron yang telah ditentukan di Linux di mana skrip yang disimpan secara automatik dijalankan. Sekiranya kita meletakkan skrip di bawah direktori ini, skrip tersebut akan dijalankan secara automatik pada waktu yang dikonfigurasi.

  • / etc / cron.setiap hari
  • / etc / cron.setiap jam
  • / etc / cron.bulanan
  • / etc / cron.setiap minggu

Sebagai contoh, untuk melaksanakan skrip sebulan sekali, anda perlu meletakkannya di / etc / cron.bulanan.

Lihat Pekerjaan Cron

Lihat pekerjaan untuk pengguna semasa

Gunakan arahan berikut untuk melihat semua pekerjaan cron yang dijadualkan untuk pengguna semasa:

$ crontab -l

Lihat pekerjaan untuk pengguna root

Untuk melihat semua pekerjaan yang dijadualkan dari pengguna root, keluarkan perintah berikut di Terminal:

$ kucing / etc / crontab

Anda perlu log masuk sebagai pengguna root atau menjalankan perintah sebagai sudo.

Lihat pekerjaan untuk pengguna lain

Untuk melihat semua pekerjaan yang dijadualkan dari pengguna tertentu, berikan perintah berikut di Terminal menggantikan dengan nama pengguna sebenar:

$ sudo crontab -u -l

Untuk menjalankan perintah ini, anda memerlukan hak istimewa sudo.

Lihat pekerjaan cron setiap jam

Untuk melihat semua pekerjaan cron yang dikonfigurasi untuk berjalan setiap jam, keluarkan perintah berikut di Terminal:

$ ls -la / etc / cron.setiap jam

Lihat pekerjaan cron setiap hari

Untuk melihat semua pekerjaan cron yang dikonfigurasi untuk dijalankan setiap hari, keluarkan perintah berikut di Terminal:

$ ls -la / etc / cron.setiap hari /

Lihat pekerjaan cron mingguan

Untuk melihat semua pekerjaan cron yang dikonfigurasi untuk dijalankan setiap minggu, keluarkan arahan berikut di Terminal:

$ ls -la / etc / cron.setiap minggu/

Lihat pekerjaan cron bulanan

Untuk melihat semua pekerjaan cron yang dikonfigurasi untuk dijalankan setiap bulan, keluarkan perintah berikut di Terminal:

$ ls -la / etc / cron.bulanan /

Sandarkan Semua Pekerjaan Cron

Sebaiknya simpan cadangan semua pekerjaan cron dalam fail sehingga anda dapat pulih sekiranya penghapusan. Untuk membuat sandaran semua pekerjaan semasa, gunakan operator pengalihan untuk mengarahkan output crontab -l ke fail.

$ crontab -l> backup_cron.txt

Membuang Semua Kerja Kron Berjadual

Untuk membuang semua pekerjaan cron yang dijadualkan, gunakan bendera -r seperti berikut:

$ crontab -r

Kebenaran Cron

Kami dapat membatasi akses ke perintah crontab melalui dua fail: / dll / cron.benarkan dan / etc / cron.menafikan.

  • / etc / cron.benarkan - Tambahkan pengguna (satu per baris) yang anda mahu izinkan akses ke perintah crontab. Pengguna ini dapat menjalankan tugas jadual.
  • / etc / cron.menafikan - Tambahkan pengguna (satu per baris) yang anda mahu tolak akses ke perintah crontab. Pengguna ini tidak dapat menjalankan tugas yang dijadualkan.

Penjana Sintaks Crontab

Terdapat beberapa laman web yang membolehkan menghasilkan sintaks untuk crontabs. Laman web ini menjadikannya lebih mudah untuk menghasilkan ekspresi crontab tanpa perlu mengingat sintaksnya. Walaupun terdapat pelbagai laman web yang tersedia untuk penjana sintaks seperti crontabgenerator.com, penjana crontab.org, dan pembuat cronmaker.com. Yang paling saya gemari dan paling berguna adalah crontab.guru. Berdasarkan input pengguna, ia menghasilkan ungkapan crontab yang boleh anda copy-paste ke dalam file crontab.

Kesimpulannya

Dalam tutorial ini, kami telah menerangkan asas-asas pekerjaan cron, sintaksnya, dan cara menyiapkannya. Kami juga telah membincangkan cara melihat pekerjaan cron, membuat sandaran, dan menghapusnya jika tidak diperlukan lagi.

Cara menangkap dan streaming sesi permainan anda di Linux
Pada masa lalu, bermain permainan hanya dianggap sebagai hobi, tetapi seiring dengan berjalannya waktu, industri permainan menyaksikan pertumbuhan yan...
Permainan Terbaik untuk Dimainkan dengan Penjejakan Tangan
Oculus Quest baru-baru ini memperkenalkan idea hebat penjejakan tangan tanpa pengawal. Dengan jumlah permainan dan aktiviti yang semakin meningkat yan...
Cara Menunjukkan Overlay OSD dalam Aplikasi dan Permainan Linux Skrin Penuh
Bermain permainan skrin penuh atau menggunakan aplikasi dalam mod skrin penuh bebas gangguan dapat memisahkan anda dari maklumat sistem yang relevan y...