Belajar Linux

Cara membuat Cron Jobs di Linux

Cara membuat Cron Jobs di Linux

Pekerjaan Cron atau Cron adalah penjadual berdasarkan masa yang biasa dalam sistem Linux / Unix. Ia menjadualkan tugas pengguna tertentu untuk dijalankan secara berkala dalam tarikh, waktu, atau selang waktu yang tetap. Sebilangan besar tugas ini adalah skrip untuk menjalankan fungsi seperti sandaran dan lain-lain. Untuk membuat pekerjaan cron ini, kami menggunakan perintah crontab. Crontab adalah arahan / utiliti UNIX yang digunakan untuk membuat dan mengurus pekerjaan cron.

Seperti yang akan anda lihat di bawah, membuat dan menyunting tugas cron adalah sangat mudah. Bahagian yang paling mengagumkan ialah anda tidak perlu menghidupkan semula cron atau bahkan PC anda setelah membuat atau menyunting kerja cron. Simpan fail sahaja, dan anda boleh pergi.

Penggunaan Cron Jobs yang biasa

Bahagian asas perintah cron

Sintaks standard crontab adalah seperti di bawah:

a b c d e PENGGUNA / jalan / ke / output skrip

1.Masa dan tarikh bersama dengan bagaimana pengulangan pekerjaan akan ditentukan oleh lima bidang:

Catatan: Hari bermula dengan hari Isnin. 0 dan 7 mewakili hari Ahad

2. PENGGUNA: Ingatlah untuk menggantinya dengan nama pengguna anda

3. Lokasi dan skrip tertentu yang akan dijalankan oleh cron ditentukan oleh segmen ketiga:

/ jalan / ke / skrip

4. Bahagian terakhir menentukan pemberitahuan kepada pengguna setelah menyelesaikan tugas sebagai cara untuk memantau tugas:

pengeluaran

Walau bagaimanapun, peti masuk anda mungkin penuh dengan tugas kecil yang sering disalurkan. Untuk mengelakkan ini, anda boleh mematikan output e-mel automatik dengan menambahkan rentetan di bawah pada perintah cron anda:

> / dev / null 2> & 1 e.g a b c d e PENGGUNA / jalan / ke / skrip> / dev / null 2> & 1

Selain itu, cron menggunakan empat lagi nilai yang digunakan dalam menentukan beberapa nilai dalam medan. Mereka adalah:

Menyiapkan pekerjaan cron

Perintah crontab bertanggungjawab untuk membuat dan menyunting pekerjaan cron kerana fail cron tidak boleh diedit secara langsung. Crontab menentukan bagaimana anda boleh membuat, mengedit, menyenaraikan, menyahpepijat, memasang, dan menyahpasang tugas cron.

Sebelum memulakan pekerjaan cron, adalah mustahak untuk memastikan Linux Desktop atau Server anda terkini dengan melaksanakan perintah di bawah:

sudo apt update sudo apt upgrade

Sekiranya anda tidak memasang pakej cron pada sistem anda, pasangkannya dengan arahan di bawah:

sudo apt-get install cron

Pasang cron

Cara mengedit fail crontab?

Untuk menyelesaikan proses, anda perlu mengkonfigurasi kerja cron. Pengguna log masuk apabila pekerjaan cron dibuat secara automatik menjadi pemiliknya. Itu boleh diubah dengan membuat pemilik pekerjaan yang akan bertanggungjawab menguruskan pekerjaan cron, seperti yang akan kita lihat dalam catatan ini.

Untuk membuka fail konfigurasi crontab untuk pengguna yang sedang log masuk, jalankan perintah di bawah:

crontab -e

Anda akan diminta oleh sistem untuk memilih penyunting yang sesuai. Dalam kes kami, kami akan memilih pilihan pertama (penyunting nano).

crontab -e

Anda boleh menambahkan satu tugas yang dijadualkan setiap baris mengikut pilihan anda.

fail crontab

Setelah menambahkan tugas, selesaikan dengan menyimpan fail dan keluar. Semua arahan yang diberikan akan dibaca dan dilaksanakan oleh cron daemon. Perubahan akan berlaku walaupun tanpa memulakan semula sistem anda kerana repositori dikemas kini secara automatik.

Edit crontab untuk Pengguna Berbeza

Crontab boleh diedit untuk pengguna yang berbeza menggunakan perintah dalam sintaks di bawah:

crontab -u other_username -e

Cara menggunakan watak khas dalam perintah crontab

Karakter dan operator menentukan lebih banyak penyesuaian sistem anda kerana mereka memperluas kemampuan tugas cron.

0 6 * * 1-5 / root / sandaran.sh

Di sini, 06 bermaksud 6 pagi 1-5 bermaksud bilangan hari (Isnin hingga Jumaat).

35 1-23 / 2 * * * / jalan / ke / skrip / skrip.sh

1-23 menentukan julat jam, / 2 menetapkan selang untuk setiap jam yang lain.

Pilihan Kron

Anda mungkin mahu menyenaraikan tugas cron dalam sistem anda tanpa membuka kunci fail konfigurasi crontab. Ini dapat dilakukan dengan melancarkan terminal anda dan mengetik perintah di bawah:

crontab -l

senaraikan pekerjaan cron

Perintah itu menyenaraikan semua pekerjaan cron yang ada dalam sistem anda.

Untuk menghapus semua perintah crontab, anda boleh menggunakan perintah di bawah ini:

crontab -r
crontab -r -u lain-nama pengguna

Gunakan Strings di Crontab

String adalah alat yang sangat berguna untuk pembangun kerana mereka mengelakkan penulisan berulang dari segmen kod. Nasib baik, crontabs menyokong pelbagai nilai rentetan. Ia merangkumi:

@jamur: -sama seperti - "0 * * * *" (Dijalankan sekali setiap kali jam)
@ tengah malam:  -sama seperti - "0 0 * * *" (Dijalankan sekali setiap kali hari)
@ harian: sama seperti tengah malam
@setiap minggu:  -sama dengan - "0 0 * * 0" (Dilaksanakan setiap kali minggu)
@bulan: -sama seperti - "0 0 1 * *" (Dijalankan sekali setiap kali bulan)
@setiap tahun: -sama seperti - "0 0 1 1 *" (Dijalankan sekali setiap kali tahun)
@tahun: serupa dengan @annually
@reboot: Dilaksanakan sekali selepas setiap but semula / mulakan semula / permulaan.

Contoh yang baik; jika anda mempunyai skrip sandaran yang ingin anda jalankan setiap hari, gunakan arahan di bawah:

@hari / jalan / ke / cadangan_skrip.sh

Contoh pekerjaan cron

Berikut adalah senarai pekerjaan cron asas yang boleh digunakan semasa memulakan:

    1. Untuk menjalankan skrip setiap minit:
      * * * * * / skrip / jalan anda.sh
    2. Untuk menjalankan skrip setiap 40 minit:
      40 * * * * / skrip / jalan anda.sh
    3. Untuk menjalankan skrip setiap jam:
      0 * * * * / skrip / jalan anda.sh
    4. Untuk menjalankan skrip setiap tengah malam:
      0 0 * * * / skrip / jalan anda.sh
    5. Untuk menjalankan skrip setiap 23 minit selepas tengah malam, 2 pagi, dan 4 pagi setiap hari:
      23 0-23 / 2 * * * / skrip / jalan anda.sh
    6. Untuk menjalankan skrip pada 4.05 setiap hari Ahad.
      5 4 * * matahari / skrip / jalan anda.sh
    7. Untuk menjalankan skrip pada pukul 10 malam selama seminggu.
      0 22 * ​​* 1-5 / skrip / jalan anda.sh
    8. Untuk menjalankan skrip pada 1 Disember - Tengah Malam.
      0 0 0 12 * / skrip / jalan anda.sh
    9. Untuk menjalankan skrip pada hari Sabtu di Midnight.
      0 0 * * 6 / skrip / jalan anda.sh
    10. Untuk menjalankan skrip Setiap Jam.
      0 * * * * / skrip / jalan anda.sh

Dengan contoh asas ini, anda akan memahami dengan lebih mendalam mengenai urutan dan bagaimana ia dapat diubahsuai.

Mengehadkan akses Cron

Kami melihat bahawa pekerjaan cron dapat menjadi sangat berguna, terutama ketika anda ingin mengotomatisasi tugas anda. Walau bagaimanapun, ia juga boleh menjadi berisiko jika sistem membenarkan pengguna membuat pekerjaan cron. Walaupun tidak mempengaruhi data peribadi, beberapa pekerjaan cron mungkin memerlukan sumber daya sistem yang cukup banyak, sehingga ketinggalan PC. Untuk mengelakkan senario seperti itu, pentadbir sistem (pengguna root) dapat membuat / etc / cron.benarkan  atau / etc / cron.menafikan fail yang mengandungi hanya pengguna yang boleh 'buat / tidak buat' pekerjaan cron.

The / etc / cron.benarkan fail tersebut mengandungi pengguna yang dapat membuat, mengedit, memaparkan, atau membuang fail crontab. Sekiranya fail ini tidak ada, semua pengguna dapat membuat dan mengurus pekerjaan cron selain yang ada di / etc / cron.menafikan fail. Sekiranya tidak ada fail ini yang ada, hak superuser diperlukan untuk menjalankan perintah crontab.

cron membenarkan fail

Sekarang kerana anda telah mencegah pengguna bukan root membuat pekerjaan cron jika mereka sudah memilikinya, anda mungkin mempertimbangkan untuk menambahkan pekerjaan cron mereka dalam fail crontab root. Tetapi inilah teka-teki - Dengan menambahkan pekerjaan cron mereka ke crontab root, bukankah itu menjalankan tugas cron mereka sebagai root? Nah, inilah pentingnya bidang USERNAME yang kita bincangkan di atas dalam sintaks perintah cron. Contohnya, arahan di bawah:

0 * * * * fosslinux / jalan / ke / skrip.sh

Akan dijalankan sebagai pengguna cron "fosslinux" dan bukan sebagai pengguna root.

Kesimpulannya

Anda kini mempunyai panduan yang jelas mengenai penggunaan pekerjaan Cron untuk mengotomatisasi pelbagai tugas pada sistem anda. Itu tidak boleh mengelirukan anda dengan aplikasi Permulaan. Gunakan contoh di atas untuk mencuba dan mengautomasikan skrip mudah. Dengan berlalunya masa, anda boleh menggabungkan watak khas dan kad liar untuk melakukan tugas yang lebih biasa. Sekiranya anda baru memulakan, ada baiknya membaca catatan kami di tutorial skrip bash dengan contoh yang akan membantu anda membuat skrip pertama anda.

Pasang Dolphin Emulator terkini untuk Gamecube & Wii di Linux
Dolphin Emulator membolehkan anda memainkan permainan Gamecube & Wii pilihan anda di Komputer Peribadi Linux (PC). Menjadi emulator permainan sumber ...
Cara Menggunakan Mesin Cheat GameConqueror di Linux
Artikel ini merangkumi panduan mengenai penggunaan mesin cheat GameConqueror di Linux. Ramai pengguna yang bermain permainan di Windows sering menggun...
Emulator Konsol Permainan Terbaik untuk Linux
Artikel ini akan menyenaraikan perisian emulasi konsol permainan popular yang tersedia untuk Linux. Emulation adalah lapisan keserasian perisian yang ...