crontab

Bagaimana Menjadualkan Tugas di Linux?

Bagaimana Menjadualkan Tugas di Linux?
Setiap kali menggunakan sistem operasi berasaskan UNIX, tugas-tugas tertentu harus dilakukan berulang kali. Menjalankannya secara manual setiap masa memakan masa dan keseluruhannya tidak cekap. Untuk menyelesaikan masalah ini, UNIX dilengkapi dengan penjadual tugas terbina dalam. Penjadual tugas ini bertindak seperti jam penggera pintar. Apabila penggera berbunyi, sistem operasi akan menjalankan tugas yang telah ditetapkan.

Dalam kes Linux, ia dilengkapi dengan dua alat asas tetapi kuat: Cron daemon (penjadual tugas lalai) dan pada (lebih sesuai untuk penjadualan tugas satu kali).

Dalam panduan ini, periksa cara menjadualkan tugas di Linux.

Jadualkan tugas di Linux

Kron
Cremon daemon bertanggungjawab menjalankan banyak pekerjaan pada masa-masa tertentu. Tugas-tugas ini umumnya dijalankan di latar belakang pada waktu yang dijadualkan. Ia menawarkan fleksibiliti yang besar tanpa mengira tugas, tanpa mengira selang waktu (jam, minggu, bulan, tahun, atau apa sahaja).

Cron memantau tindakannya menggunakan fail crontab. Fail crontab adalah skrip yang mengandungi semua maklumat yang diperlukan untuk menjalankan semua pekerjaan cron.

Mari kita lihat beberapa penggunaan asas cron dengan cepat. Sekiranya ada perintah berikut, perintah tersebut akan dikonfigurasi untuk pengguna root jika dijalankan dengan hak istimewa sudo. Untuk demonstrasi, saya telah mengambil contoh fail crontab dari sini.

Untuk menyenaraikan semua pekerjaan cron yang dijadualkan untuk pengguna semasa, jalankan perintah berikut. Ia akan mencetak semua kandungan fail crontab.

$ crontab -l


Mahukan senarai kerja cron untuk pengguna yang berbeza? Jalankan arahan ini sebagai gantinya.

$ sudo crontab -u -l


Untuk mengedit skrip crontab, jalankan perintah. Untuk mengedit fail crontab untuk root, jalankan perintah berikut dengan hak istimewa sudo.

$ crontab -e


Setiap baris dalam skrip crontab menentukan tugas. Berikut adalah pecahan cepat dari entri crontab.

$

Berikut adalah senarai semua nilai yang mungkin untuk semua bidang ini. Sekiranya digunakan tanda bintang (*) dan bukannya nilai angka, setiap nilai medan yang mungkin akan digunakan.

  • minit: 0 hingga 59
  • jam: 0 hingga 23
  • hari dalam sebulan: 1 hingga 31
  • bulan: 1 hingga 12
  • hari dalam seminggu: 0 (Ahad) hingga 6 (Sabtu)

Untuk panduan mendalam tentang cara menggunakan crontab untuk mengotomatisasi tugas, periksa cara mengatur pekerjaan cron di Linux. Inilah satu lagi contoh kerja cron yang dijalankan setiap minit.

di
Walaupun cron adalah cara utama penjadwalan tugas, menawarkan kemampuan untuk menjalankan perintah / skrip pada waktu tertentu atau pada selang waktu yang tetap, perhatikan bahawa at akan menjalankan tugas sasaran sekali sedangkan cron akan menjalankan kembali tugas pada selang waktu. Alat at kurang popular berbanding cron, tetapi lebih mudah digunakan. Anda boleh menggunakan kata kunci tertentu seperti tengah malam atau waktu minum teh (4 P.M.).

Alat ini tidak terpasang di kebanyakan distro Linux. Untuk memasang di, jalankan perintah yang sesuai mengikut distro anda.

Untuk Debian / Ubuntu dan derivatif.

$ Sudo ap-install at


Untuk CentOS / RHEL dan derivatif.

$ yum pasang pada

Untuk Arch Linux dan derivatifnya.

$ sudo Pacman -S pada

Untuk Fedora dan derivatif.

$ sudo dnf pasang di

Setelah pemasangan selesai, aktifkan di daemon.

$ sudo systemctl aktifkan - sekarang atd.perkhidmatan


Cara kerja agak berbeza. Setiap kali memanggil, anda harus menentukan selang menjalankan tugas yang diinginkan. Contohnya, untuk menjalankan perintah tertentu setelah satu jam, gunakan perintah berikut.

$ sekarang + 1 jam


Untuk menjalankan tugas yang diinginkan pada 6 P.M., enam hari dari sekarang, jalankan arahan berikut.

$ pada 6 petang + 6 hari


Apabila anda menjalankan perintah, at akan meminta perintah untuk dijalankan. Untuk keluar dari prompt, tekan "Ctrl + d."Pada saat ini akan hadir ringkasan tugas-tugas yang dijadwalkan dan waktu pelaksanaannya.

Ini hanya penggunaan asas. Cara penggunaan yang lebih konsisten di dapat menjalankan skrip bash yang berisi semua tugas yang harus dilakukan. Berminat untuk mempelajari lebih lanjut mengenai skrip bash? Periksa

$ pada 6 petang + 6 hari -ff