Kenapa crontab -e berbeda dari less / etc / crontab?
11
Saya cukup baru untuk unix dan crons, saya saat ini akan mencoba untuk menambahkan crons ke file cron yang ada. Saya membaca Anda bisa melakukan ini dengan crontab -e. Yang membingungkan bagi saya adalah hanya crontab -emenunjukkan crons / perintah yang berbeda dari less /etc/crontab- bagaimana bisa? Yang mana cara / file yang benar untuk diedit?
Meskipun jawaban @X Tian berisi info tentang berbagai file untuk crontab, informasi penting mengenai pertanyaan Anda adalah ini:
crontab -emengedit file crontab pengguna (disimpan dalam /var/spool/cron/crontabs/direktori pada sistem Debian saat ini, tetapi YMMV) atau membuat yang baru, dan tidak /etc/crontab. Mirip dengan crontab -l(daftar file crontab) dan crontab -r(hapus file crontab).
Untuk semua pekerjaan cron yang harus dijalankan di bawah akun pengguna, Anda harus menggunakan crontab -e. Untuk pekerjaan sistem, Anda harus menambahkan file di bawah /etc/cron.d, jika ada; di bawah /etc/cron.{hourly|daily|weekly|monthly}(tetapi itu tidak boleh dinamai seperti nama paket!), jika itu sesuai dengan tujuan Anda; atau tambahkan baris ke /etc/crontab. Namun ketahuilah bahwa /etc/crontabmungkin akan ditimpa dengan pembaruan sistem.
@Stephane Chazelas Terima kasih telah menjelaskan dengan suntingan Anda. The /var/spool/cron/direktori adalah khusus Linux (lihat Berkas Hierarchy Standard ) dan lokasi dapat bervariasi pada sistem selain Debian saat ini.
Dubu
3
Anda benar-benar ingin membaca halaman buku panduan man crondanman crontab
Berikut adalah kutipan yang mencakup pertanyaan Anda. Dariman cron
CATATAN cron mencari area spool (/ var / spool / cron / crontab) untuk file crontab (yang diberi nama setelah akun di / etc / passwd); crontab yang ditemukan dimuat ke dalam memori. Perhatikan bahwa crontab dalam direktori ini tidak boleh diakses secara langsung - perintah crontab harus digunakan untuk mengakses dan memperbaruinya.
cron also reads /etc/crontab, which is in a slightly different format
(see crontab(5)). Additionally, cron reads the files in /etc/cron.d:
it treats the files in /etc/cron.d as in the same way as the
/etc/crontab file (they follow the special format of that file, i.e.
they include the user field). However, they are independent of
/etc/crontab: they do not, for example, inherit environment variable
settings from it. The intended purpose of this feature is to allow
packages that require finer control of their scheduling than the
/etc/cron.{daily,weekly,monthly} directories to add a crontab file to
/etc/cron.d. Such files should be named after the package that supplies
them. Files must conform to the same naming convention as used by run-
parts(8): they must consist solely of upper- and lower-case letters,
digits, underscores, and hyphens. If the -l option is specified, then
they must conform to the LSB namespace specification, exactly as in the
--lsbsysinit option in run-parts.
Anda harus menentukan implementasi cron mana dan versi mana dari OS mana dan dari versi mana Anda mengutipnya. cronadalah sesuatu yang sangat bervariasi dari OS ke OS dan pada beberapa Anda dapat memilih antara beberapa implementasi.
/var/spool/cron/
direktori adalah khusus Linux (lihat Berkas Hierarchy Standard ) dan lokasi dapat bervariasi pada sistem selain Debian saat ini.Anda benar-benar ingin membaca halaman buku panduan
man cron
danman crontab
Berikut adalah kutipan yang mencakup pertanyaan Anda. Dari
man cron
sumber
cron
adalah sesuatu yang sangat bervariasi dari OS ke OS dan pada beberapa Anda dapat memilih antara beberapa implementasi.