Cara Edit Fail Crontab Linux Ke Jadual Kerja

Pengenalan

Terdapat daemon dalam Linux yang dipanggil cron yang digunakan untuk menjalankan proses pada selang masa yang tetap.

Cara yang dilakukannya ialah untuk menyemak folder tertentu pada sistem anda untuk menjalankan skrip. Contohnya terdapat folder yang dipanggil /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly dan /etc/cron.monthly. Terdapat juga fail yang dipanggil / etc / crontab.

Secara lalai, anda boleh meletakkan skrip ke dalam folder yang berkaitan untuk membolehkan mereka menjalankan jangka masa yang tetap.

Contohnya buka tetingkap terminal (dengan menekan CTRL, ALT dan T) dan jalankan perintah ls berikut:

ls / etc / cron *

Anda akan melihat senarai program atau skrip yang dijalankan setiap jam, setiap hari, mingguan dan bulanan.

Masalah dengan folder ini adalah bahawa mereka agak kabur. Misalnya setiap hari bermakna skrip akan dijalankan sekali sehari tetapi anda tidak mempunyai kawalan ke atas masa skrip itu akan berjalan pada hari itu.

Itulah di mana fail crontab masuk.

Dengan mengedit fail crontab, anda boleh mendapatkan skrip atau program untuk dijalankan pada tarikh dan masa yang tepat yang anda mahu ia jalankan. Sebagai contoh, mungkin anda ingin membuat sandaran fail anda setiap malam jam 6 petang.

Kebenaran

Perintah crontab menghendaki pengguna mempunyai keizinan untuk mengedit fail crontab. Terdapat dua fail yang digunakan untuk menguruskan kebenaran crontab:

Sekiranya fail /etc/cron.allow wujud maka pengguna yang ingin mengedit fail crontab mesti berada dalam fail tersebut. Jika fail cron.allow tidak wujud tetapi terdapat fail /etc/cron.deny maka pengguna tidak boleh wujud dalam fail itu.

Sekiranya kedua-dua fail wujud, /etc/cron.allow akan mengatasi fail /etc/cron.deny.

Sekiranya tiada fail maka ia bergantung kepada konfigurasi sistem sama ada pengguna boleh mengedit crontab.

Pengguna root sentiasa boleh mengedit fail crontab. Anda boleh menggunakan perintah su untuk bertukar kepada pengguna root atau perintah sudo untuk menjalankan perintah crontab.

Mengedit Fail Crontab

Setiap pengguna yang mempunyai keizinan boleh membuat fail crontab mereka sendiri. Perintah cron pada dasarnya mencari kewujudan beberapa fail crontab dan berjalan melalui mereka semua.

Untuk memeriksa sama ada anda mempunyai fail crontab jalankan arahan berikut:

crontab -l

Sekiranya anda tidak mempunyai fail crontab mesej "tidak ada crontab untuk " akan kelihatan sebaliknya fail crontab anda akan dipaparkan (fungsi ini berbeza dari sistem ke sistem, kadangkala ia tidak memaparkan apa-apa dan lain kali ia memaparkan, " jangan edit fail ini ").

Untuk membuat atau mengedit fail crontab jalankan arahan berikut:

crontab -e

Secara lalai jika tiada editor lalai dipilih maka anda akan diminta untuk memilih editor lalai untuk digunakan. Secara peribadi saya suka menggunakan nano kerana ia agak lurus ke hadapan untuk digunakan dan ia berjalan dari terminal.

Fail yang terbuka mempunyai banyak maklumat tetapi bahagian utama ialah contoh sebelum bahagian akhir ulasan (komen ditandakan dengan baris bermula dengan #).

# mh dom mon dow perintah

0 5 * * 1 tar -zcf /var/backups/home.tgz / home /

Terdapat 6 maklumat untuk dimuatkan pada setiap baris fail crontab:

Untuk setiap item (kecuali untuk arahan) anda boleh menentukan aksara wildcard. Lihat contoh crontab contoh berikut:

30 18 * * * tar -zcf /var/backups/home.tgz / home /

Apakah arahan di atas adalah 30 minit, 18 jam dan mana-mana hari, bulan dan hari minggu menjalankan arahan untuk zip dan tar direktori rumah ke folder / var / sandaran.

Untuk mendapatkan arahan untuk berjalan pada 30 minit yang lalu setiap jam saya boleh menjalankan arahan berikut:

30 * * * * perintah

Untuk mendapatkan arahan untuk berjalan setiap minit masa lalu 6 petang saya boleh menjalankan arahan berikut:

* 18 * * * perintah

Oleh itu, anda perlu berhati-hati untuk menubuhkan perintah crontab anda.

Sebagai contoh:

* * * 1 * arahan

Perintah di atas akan dijalankan setiap minit setiap jam setiap hari setiap minggu pada bulan Januari. Saya ragulah itu yang anda mahukan.

Untuk menjalankan arahan pada pukul 5 pagi pada 1 Januari, anda akan mengikut arahan berikut ke fail crontab:

0 5 1 1 * arahan

Cara Buang Fail Crontab

Kebanyakan masa anda tidak mahu mengeluarkan fail crontab tetapi anda mungkin mahu mengeluarkan beberapa baris dari fail crontab.

Bagaimanapun, jika anda ingin mengeluarkan fail crontab pengguna, jalankan perintah berikut:

crontab -r

Cara yang lebih selamat untuk melakukan ini adalah dengan menjalankan arahan berikut:

crontab -i

Ini bertanya soalan "anda pasti?" sebelum mengeluarkan fail crontab.