Cron adalah utiliti baris perintah yang berkesan dan popular yang digunakan untuk menjadualkan pelbagai tugas pada waktu yang ditentukan tanpa interaksi pengguna. Tugas yang dijadualkan dikenali sebagai tugas cron sementara crontab adalah senarai fail yang mengandungi tugas cron.
Dalam artikel ini, kami akan menerangkan dengan pelbagai contoh menunjukkan anda dapat mengedit dan menggunakan file crontab untuk menjadualkan tugas dalam sistem Debian 10.
Cron dapat digunakan untuk mengotomatisasi tugas dalam senario berikut:
- Menjalankan sandaran jadual,
- Memeriksa ruang cakera pada selang masa tertentu,
- Menjalankan penyelenggaraan automatik,
- Mengeluarkan fail yang tidak diingini secara berkala,
- Menjalankan diagnostik rangkaian
Sintaks
Lebih mudah bekerja dengan cron, setelah anda memahami sintaksinya. Sintaks umum untuk menggunakan cron adalah:
* * * * / jalan / ke / skrip.shSetiap bidang sesuai dengan yang berikut:
Minit (0-59) Jam (0-24) Hari_of_the_Month (1-7) Bulan_of_the_Tahun (1-12)Perintah Day_of_the_Week (0-6)
Memasang Cron
Cron disertakan dalam Debian 10. Namun, jika tiada dari sistem anda, jalankan arahan berikut untuk memasangnya:
$ sudo apt install cronLihat crontab
Untuk melihat fail crontab, gunakan arahan berikut:
$ crontab -lUntuk melihat fail crontab pengguna tertentu, gunakan arahan berikut:
$ sudo crontab -u pengguna -lEdit crontab
Untuk mengedit fail crontab pengguna semasa:
$ crontab -eUntuk mengedit fail crontab pengguna tertentu:
$ sudo crontab -u penggunaSekiranya anda mengedit fail crontab untuk pertama kalinya, anda akan diminta memilih editor:
Sebaik sahaja anda memilih penyunting, tetingkap berikut akan muncul.
Sebagai contoh, anda ingin menjalankan skrip sandaran bernama "sandaran.sh ā€¯terletak di direktori dokumen setiap hari pada jam 2:00 pagi. Untuk melakukannya, anda perlu menambahkan baris berikut dalam fail crontab anda:
0 2 * * * / Dokumen / sandaran.sh
Di tetingkap di atas, anda boleh menambahkan tugas cron anda satu persatu. Setelah selesai, simpan dan keluar fail selepas itu semua kerja cron akan berjalan secara automatik pada selang waktu yang ditentukan.
Keluarkan crontab
Untuk membuang fail crontab, masukkan perintah berikut di Terminal:
$ crontab -rSekarang mari kita lihat beberapa contoh pekerjaan cron pada mesin linux.
1. Jalankan tugas cron setiap minit
Untuk melaksanakan tugas cron setiap minit, tambahkan baris berikut dalam fail crontab anda:
* * * * * / jalan / ke / skrip.sh2. Jalankan tugas cron selepas setiap 10 minit
Untuk menjadualkan tugas cron yang akan dilaksanakan setiap 10 minit, tambahkan baris berikut dalam fail crontab anda.
* / 10 * * * * / jalan / ke / skrip.sh3. Jalankan tugas cron pada bulan-bulan tertentu
Menjadualkan tugas cron yang akan dilaksanakan pada bulan-bulan tertentu e.g. Mac, Ogos, Disember, tambahkan tugas cron dalam fail crontab anda dengan cara berikut:
* * * jan, may, aug * / path / to / script.sh4. Jalankan tugas cron pada hari-hari terpilih
Sekiranya anda ingin pekerjaan cron anda dilaksanakan pada hari-hari yang terpilih, anggaplah hari Ahad dan Jumaat jam 5 petang, ia akan kelihatan seperti berikut.
0 17 * * sun, fri / path / to / script.sh5. Jalankan tugas cron setiap hari pada waktu tertentu
Untuk menjadualkan tugas cron untuk dilaksanakan setiap hari pada waktu tertentu, katakan pada pukul 3 pagi, tambahkan baris ini dalam fail crontab anda.
0 3 * * * / jalan / ke / skrip.sh6. Jalankan tugas cron pada hari tertentu
Untuk menjadualkan tugas cron untuk dilaksanakan pada hari tertentu, katakan setiap hari Ahad, tambahkan baris ini dalam fail crontab anda.
0 0 * * SUN / jalan / ke / skrip.shPekerjaan akan dijalankan pada pukul 00:00 pada setiap hari Ahad.
7. Jalankan pelbagai tugas dalam satu tugas cron
Untuk menjadualkan banyak tugas dalam satu tugas cron, tambahkan semua skrip dalam fail crontab anda dengan memisahkannya dengan titik koma.
* * * * * / jalan / ke / skrip1.sh; / jalan / ke / skrip2.sh8. Jalankan kerja cron setiap hari minggu
Untuk menjadualkan tugas cron yang akan dilaksanakan pada setiap hari dalam seminggu iaitu dari hari Isnin hingga Jumaat, anda perlu menambahkan baris ini dalam fail crontab anda.
0 0 * * 1-5 / jalan / ke / skrip.shPekerjaan akan dijalankan pada pukul 00:00 pada setiap hari kerja.
9. Jalankan pekerjaan cron dua kali sehari
Untuk menjadualkan tugas untuk dijalankan dua kali sehari e.g. pada 6 pagi dan 3 petang, anda perlu menambahkan baris ini dalam fail crontab anda:
0 6,15 * * * / jalan / ke / skrip.sh10. Jalankan kerja cron setiap jam
Untuk menjadualkan tugas cron untuk dilaksanakan setiap jam pada minit 0, anda perlu menambahkan baris ini dalam fail crontab anda:
0 * * * * / jalan / ke / skrip.shContohnya, jika waktu sekarang adalah jam 2 petang, pekerjaan akan dijalankan pada jam 3:00 petang, 4:00 petang dan seterusnya.
11. Jalankan tugas cron selepas setiap 3 jam
Untuk menjadualkan tugas cron dijalankan setiap 3 jam pada minit 0, anda perlu menambahkan baris ini dalam fail crontab anda:
0 * / 3 * * * / jalan / ke / skrip.shContohnya, jika waktu sekarang adalah jam 2 petang, pekerjaan akan dijalankan pada jam 5:00 petang, 8:00 malam dan seterusnya.
12. Jalankan kerja cron pada jam 4:00 petang pada setiap hari setiap bulan
Untuk menjadualkan tugas untuk dijalankan pada hari pertama setiap bulan pada jam 4:00 petang, anda perlu menambahkan baris ini dalam fail crontab anda:
0 16 1 * * / jalan / ke / skrip.shRentetan di Crontab
Anda juga boleh menggunakan rentetan berikut daripada arahan berulang yang panjang.
@ setiap jam- Jalankan kerja cron setiap jam i.e. "0 * * * *"@ tengah malam- Jalankan kerja cron setiap hari i.e. "0 0 * * *"
@ setiap hari- sama seperti tengah malam
@ mingguan- Jalankan kerja cron setiap minggu, i.e. "0 0 * * 0"
@ bulanan- Menjalankan kerja cron setiap bulan i.e. "0 0 1 * *"
@ setiap tahun- Menjalankan kerja cron setiap tahun i.e. "0 0 1 1 *"
@ tahunan- sama seperti @annually
@ reboot- Jalankan tugas cron pada setiap but
Sebagai contoh, untuk menjalankan tugas cron setiap hari pada minit pertama dan jam pertama, tambahkan baris berikut:
@ harian / jalan / ke / skrip.shContohnya, untuk menjalankan tugas cron setiap kali pelayan dinyalakan semula:
@reboot / path / ke / skrip.shItu sahaja yang ada! Dalam artikel ini, kami telah belajar bagaimana mengautomasikan pelbagai tugas menggunakan crontab dalam sistem Debian. Dengan menggunakan contoh di atas, anda dapat menjadualkan segala jenis pekerjaan untuk dimulakan tanpa interaksi pengguna.