Rumah  >  Artikel  >  Tutorial sistem  >  penjadual tugas berkala cronatab

penjadual tugas berkala cronatab

WBOY
WBOYasal
2024-06-13 18:49:11308semak imbas

penjadual tugas berkala cronatab

Untuk melaksanakan tugas berkala dan memastikan perkhidmatan berjalan. Nama perkhidmatan ialah crond; sistemctl mula crond;

Profil

/etc/crontab

fail log cron

cat /var/log/cron

Pengenalan
crond ialah proses daemon yang digunakan di bawah Linux untuk melaksanakan tugas tertentu secara berkala atau menunggu untuk memproses acara tertentu Ia adalah serupa dengan tugas yang dijadualkan di bawah Windows Apabila sistem pengendalian dipasang, alat perkhidmatan ini akan dipasang secara lalai dan akan Memulakan secara automatik proses crond. Proses crond akan sentiasa menyemak sama ada terdapat tugasan yang perlu dilaksanakan setiap minit.

Klasifikasi penjadualan tugas
Penjadualan tugas di bawah Linux terbahagi kepada dua kategori, penjadualan tugas sistem dan penjadualan tugas pengguna.

Penjadualan tugas sistem: kerja yang sistem lakukan secara berkala, seperti menulis data cache ke cakera keras, pembersihan log, dsb. Terdapat fail crontab dalam direktori /etc, iaitu fail konfigurasi untuk penjadualan tugas sistem.

Penjadualan tugas sistem
Dengan mengedit fail konfigurasi /etc/crontab, nyatakan masa berjalan yang diperlukan dalam format rajah berikut. Satu baris sepadan dengan satu tugasan, dan formatnya adalah seperti yang ditunjukkan di bawah.


penjadual tugas berkala cronatab

Penjadualan tugas pengguna
Gunakan arahan crontab -e di bawah pengguna semasa untuk membuat jadual tugas sebagai pengguna semasa. Berbeza daripada format fail penjadualan tugas sistem, tidak perlu menentukan pengguna mana yang akan dijalankan.


penjadual tugas berkala cronatab

Petunjuk masa
Nyatakan nilai: nyatakan nombor tertentu

Nilai julat: * bermaksud setiap, laksanakan tugas sekali dalam tempoh masa ini.

Nilai diskret: 10 2, 3, 4 * * *; dilaksanakan sekali setiap 10 minit pada pukul 2, 3 dan 4. (Dilaksanakan 3 kali kesemuanya)

Julat berterusan: 10 2-10 * * *; dilaksanakan dari 2:10 hingga 10:10 setiap hari (dilaksanakan 8 kali secara keseluruhan)

Julat langkah: /3 * * ; dilaksanakan 3 kali seminit (iaitu dilaksanakan sekali setiap 20 saat)

Contoh:

10 10 /6 * *; Laksanakan tugas pada 10:10 setiap 6 hari

Tarikh dan minggu

10 10 1-10 * 0,6 #Dilaksanakan pada 10:10 pada 1 hingga 10 setiap bulan, atau 10:10 pada hari Sabtu dan Ahad

Contoh:

1 1 /6 * root echo "hello word " ; Laksanakan tugas pada 1:01 setiap 6 hari.

1 1-10/3 * * * gema akar "perkataan helo"; dilaksanakan pada minit pertama setiap 3 jam dalam lingkungan 1-10 setiap hari

Buat tugasan berulang
crontab -e

* * * * * /bin/echo "`tarikh +%F %H:%M:%S`"

#Arahan mesti menulis laluan mutlak. Melainkan pembolehubah ditandakan

#Jika anda mencipta crontab baharu di bawah pengguna, % perlu dilepaskan

Tetapan lain semasa membuat
Apabila membuat tugasan berkala, editor lalai ialah vi supaya tiada penyerlahan sintaks. Anda boleh menukar editor lalai kepada vim melalui kaedah berikut

#Menulis ke /etc/porfile.d berkuat kuasa untuk semua pengguna

#Tulis ~/bash_profile kepada pengguna semasa

eksport EDITOP=vim

Kebenaran untuk membuat tugasan

Benarkan pengguna tertentu membuat tugasan

cat /etc/cron.deny #Tulis nama pengguna dalam fail supaya ia tidak boleh mencipta tugasan baharu, tetapi tugasan yang telah dibuat masih akan dilaksanakan

Tolak pengguna tertentu untuk membuat tugas

cat /etc/cron.allow #Fail lalai tidak wujud

Benarkan dan tolak keutamaan

Jika fail benarkan wujud, fail deny tidak akan berkuat kuasa.

Jika izin kosong, tolak semua pengguna

Jika tidak membenarkan atau menafikan wujud, tiada pengguna boleh membuat tugas berjadual

Realisasikan tugasan berkala pada tahap milisaat dan kedua

Gunakan usleep untuk mencapai operasi tahap halus

tidur 1000000; 1 saat

tidur 1000; 1 milisaat

tidur 1; 1 mikrosaat

Gunakan badan gelung dan tidur untuk mencapai tahap kedua. Tidur selama 20 saat semasa tugasan dilaksanakan setiap minit.
penjadual tugas berkala cronatab

Atas ialah kandungan terperinci penjadual tugas berkala cronatab. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn