Tutorial Management Penjadwalan Proses Debain Dengan Crontab Part 1
Isi kandungan:
- Apakah Fail Crontab
- Syntax dan Operator Crontab
- File Crontab seluruh sistem
- Macros yang telah ditetapkan
- Perintah Crontab Linux
- Pembolehubah Crontab
- Sekatan Crontab
- Contoh Pekerjaan Cron
- Kesimpulannya
Cron adalah daemon penjadualan yang melaksanakan tugas pada jarak tertentu. Tugas-tugas ini dipanggil pekerjaan cron dan kebanyakannya digunakan untuk mengautomasikan sistem penyelenggaraan atau pentadbiran.
Sebagai contoh, anda boleh menetapkan tugas cron untuk mengautomasikan tugas berulang seperti membuat sandaran pangkalan data atau data, mengemas kini sistem dengan patch keselamatan terkini, menyemak penggunaan ruang cakera, menghantar e-mel dan sebagainya. Sesetengah aplikasi, seperti Drupal atau Magento, memerlukan pekerjaan cron untuk melaksanakan tugas tertentu.
Pekerjaan cron boleh dijadualkan dijalankan oleh satu minit, jam, hari pada bulan, bulan, hari dalam seminggu atau apa-apa kombinasi dari ini.
Apakah Fail Crontab
Crontab (jadual cron) adalah fail teks yang menentukan jadual kerja cron. Terdapat dua jenis fail crontab. Fail crontab seluruh sistem dan fail pengguna crontab individu.
Fail pengguna crontab disimpan oleh nama pengguna, dan lokasi mereka berbeza-beza oleh sistem pengendalian. Dalam sistem berasaskan Red Hat seperti CentOS, fail crontab disimpan dalam direktori
/var/spool/cron
semasa pada fail Debian dan Ubuntu disimpan dalam direktori
/var/spool/cron/crontabs
.
Walaupun anda boleh mengedit fail crontab pengguna secara manual, disarankan untuk menggunakan arahan
crontab
.
/etc/crontab
dan fail dalam direktori
/etc/cron.d
adalah fail crontab seluruh sistem yang boleh diedit hanya oleh pentadbir sistem.
Di kebanyakan pengedaran Linux, anda juga boleh memasukkan skrip di dalam direktori
/etc/cron.{hourly, daily, weekly, monthly}
dan skrip akan dilaksanakan setiap
hour/day/week/month
.
Syntax dan Operator Crontab
Setiap baris dalam fail crontab pengguna mengandungi enam medan yang dipisahkan oleh ruang yang diikuti oleh perintah yang hendak dijalankan.
* * * * * command(s) - - - - - | | | | | | | | | ----- Day of week (0 - 7) (Sunday=0 or 7) | | | ------- Month (1 - 12) | | --------- Day of month (1 - 31) | ----------- Hour (0 - 23) ------------- Minute (0 - 59)
Lima bidang pertama mungkin mengandungi satu atau lebih nilai, dipisahkan oleh koma atau julat nilai yang dipisahkan oleh tanda hubung.
-
*Pengendali asterisk bermaksud sebarang nilai atau selalu. Jika anda mempunyai simbol asterisk dalam medan Jam, ia bermakna tugas akan dilakukan setiap jam.,- Operator koma membenarkan anda menentukan senarai nilai untuk pengulangan. Contohnya, jika anda mempunyai1, 3, 5dalam bidang Jam, tugas itu akan dijalankan pada jam 1 pagi, 3 pagi dan 5 pagi.-Pengendali hubung membolehkan anda menentukan julat nilai. Sekiranya anda mempunyai1-5pada hari Minggu, tugas akan dijalankan setiap hari bekerja (Dari Isnin hingga Jumaat)./-Transaksi slash membolehkan anda menentukan nilai-nilai yang akan diulangi selang tertentu di antara mereka. Sebagai contoh, jika anda mempunyai*/4dalam medan Jam, ia bermakna tindakan akan dilakukan setiap empat jam. Ia sama dengan menyatakan0, 4, 8, 12, 16, 20. Daripada asterisk sebelum operator slash, anda juga boleh menggunakan pelbagai nilai,1-30/10sama dengan1, 11, 21.
File Crontab seluruh sistem
Sintaks fail crontab seluruh sistem adalah sedikit berbeza daripada crontab pengguna. Ia mengandungi medan pengguna mandatori tambahan yang menentukan pengguna mana yang akan menjalankan tugas cron.
Terdapat beberapa makro jadual Cron khas yang digunakan untuk menentukan selang masa yang biasa. Anda boleh menggunakan pintasan ini sebagai pengganti spesifikasi tarikh lima lajur. Perintah crontab membolehkan anda memasang atau membuka fail crontab untuk mengedit. Anda boleh menggunakan perintah crontab untuk melihat, menambah, mengalih keluar atau mengubah suai pekerjaan cron menggunakan pilihan berikut: Perintah crontab membuka fail crontab menggunakan editor yang ditentukan oleh pembolehubah persekitaran
Daemon cron secara automatik menetapkan beberapa pembolehubah persekitaran. Pentadbir sistem boleh mengawal pengguna mana yang mempunyai akses kepada arahan
Secara lalai hanya fail
Jika fail
Sekiranya tiada fail, hanya pengguna yang mempunyai hak pentadbiran boleh menggunakan arahan
Berikut adalah beberapa contoh pekerjaan cron yang akan menunjukkan kepada anda cara menjadualkan tugas untuk berjalan pada tempoh masa yang berbeza. Jalankan arahan pukul 15:00 pada setiap hari dari Isnin hingga Jumaat: Jalankan skrip setiap 5 minit dan alihkan output standard ke
Jalankan dua arahan setiap hari Isnin pada pukul 3 petang (gunakan pengendali
Jalankan skrip PHP setiap 2 minit dan tulis output ke fail: Jalankan skrip setiap hari, setiap jam, pada jam, dari 8 pagi hingga 4 petang: Jalankan skrip pada Isnin pertama setiap bulan, jam 7 pagi Jalankan skrip pukul 9:15 malam, pada hari pertama dan ke-15 setiap bulan: Tetapkan adat
Anda telah belajar bagaimana membuat kerja cron dan menjadualkan tugas pada tarikh dan masa tertentu. Jangan ragu untuk meninggalkan komen jika anda mempunyai sebarang pertanyaan.
* * * * * command(s)
* * * * * command(s)
Macros yang telah ditetapkan
@yearly
(atau
@annually
) - Jalankan tugas yang ditentukan sekali setahun pada tengah malam (12:00 pagi) pada 1 Januari. Setaraf dengan
0 0 1 1 *
.
@monthly
- Jalankan tugas yang ditentukan sekali sebulan pada tengah malam pada hari pertama bulan itu. Setara dengan
0 0 1 * *
.
@weekly
- Jalankan tugas yang ditentukan seminggu sekali pada tengah malam pada hari Ahad. Setara dengan
0 0 * * 0
.
@daily
- Jalankan tugas yang ditentukan sekali sehari pada tengah malam. Setara dengan
0 0 * * *
.
@hourly
- Jalankan tugas yang ditentukan sekali sejam pada awal jam. Bersamaan dengan
0 * * * *
.
@reboot
- Jalankan tugas yang ditentukan pada permulaan sistem (boot-time).Perintah Crontab Linux
crontab -e
- Edit fail crontab, atau buat satu jika ia tidak lagi wujud.
crontab -l
- Paparkan kandungan fail crontab.
crontab -r
- Keluarkan fail crontab semasa anda.
crontab -i
- Keluarkan fail crontab semasa dengan segera sebelum penyingkiran.
crontab -u
VISUAL
atau
EDITOR
.
Pembolehubah Crontab
PATH=/usr/bin:/bin
. Sekiranya arahan yang anda panggil hadir dalam laluan yang ditentukan oleh cron, anda boleh menggunakan laluan mutlak kepada arahan atau menukar pembolehubah cron
$PATH
. Anda tidak boleh menambahkan secara tersirat
:$PATH
seperti yang anda lakukan dengan skrip biasa. Cakera lalai diset ke
/bin/sh
. Anda boleh menetapkan shell berbeza dengan menukar pembolehubah SHELL.Cron memanggil arahan dari direktori rumah pengguna. Pembolehubah
HOME
boleh ditindih oleh tetapan dalam crontab. Pemberitahuan e-mel dihantar kepada pemilik crontab. Untuk menindih tingkah laku lalai, anda boleh menggunakan
MAILTO
persekitaran
MAILTO
dengan senarai (dipisahkan koma) semua alamat e-mel yang anda mahu terima pemberitahuan e-mel. Jika
MAILTO
ditakrif tetapi kosong (
MAILTO=""
), tiada mel dihantar.Sekatan Crontab
crontab
dengan menggunakan fail
/etc/cron.allow
dan
/etc/cron.allow
. Fail mengandungi senarai nama pengguna, satu nama pengguna per baris.
/etc/cron.deny
ada dan kosong, bermakna semua pengguna boleh menggunakan arahan crontab. Jika anda mahu menafikan akses kepada arahan crontab kepada pengguna tertentu, tambahkan nama pengguna untuk fail ini.
/etc/cron.allow
wujud hanya pengguna yang disenaraikan dalam fail ini boleh menggunakan arahan
crontab
.
crontab
.Contoh Pekerjaan Cron
0 15 * * 1-5 command
dev null
, hanya ralat standard yang akan dihantar ke alamat e-mel yang ditentukan:
[email protected] */5 * * * * /path/to/script.sh > /dev/null
&&
antara perintah):
0 15 * * Mon command1 && command2
*/2 * * * * /usr/bin/php /path/to/script.php >> /var/log/script.log
00 08-16 * * * /path/to/script.sh
0 7 1-7 * 1 /path/to/script.sh
15 9 1, 15 * * /path/to/script.sh
HOME
,
PATH
,
SHELL
dan
MAILTO
ubah dan jalankan arahan setiap minit.
HOME=/opt PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin SHELL=/usr/bin/zsh [email protected] */1 * * * * command
Kesimpulannya
Empat alat penjadualan berasaskan web untuk perniagaan kecil
Masih bergantung pada resepsionis untuk menjadualkan temujanji anda? Salah satu daripada empat perkhidmatan ini boleh melakukannya kurang dan anda tidak perlu membayar lebih masa.
Menghidupkan ruang kerja anda untuk pengalaman kerja yang lebih baik, dengan Alat bertemakan!
Bagi sesiapa yang melakukan apa-apa kerja di meja sama ada sebagai pendudukan atau hobi banyak apa yang ada di sekeliling anda dapat memanipulasi mood anda. Tambah beberapa kehidupan di ruang kerja anda untuk menghidupkan mood anda dan mencipta pengalaman kerja yang lebih baik.
MailTag untuk Gmail menawarkan penjejakan e-mel, penjadualan, dan tindak balas auto
MailTag adalah penyelesaian Pelacakan E-mel percuma untuk Gmail & Gsuite yang juga menawarkan untuk menjadualkan e-mel, dan auto susulan dengan e-mel yang telah ditentukan sebelumnya. Ia menawarkan pelanjutan Chrome yang mengintegrasikan dengan betul Gmail dari penyemak imbas.







