Sistem Crontab atau Root Crontab

10

Sistem crontab:

/etc/crontab

Root crontab:

sudo crontab -u root -e

Cara mana yang lebih disukai? Karena mereka semua menjalankan tugas dalam hak administrasi.

Pei Z
sumber

Jawaban:

15

/etc/crontab adalah sistem lebar crontab.

Formatnya /etc/crontabseperti ini:

# m h dom mon dow user      command
*   *  *   *   *  someuser  echo 'foo'

sementara crontab -eper pengguna, perlu disebutkan tanpa -uargumen perintah crontab pergi ke pengguna crontab saat ini. Anda dapat melakukannya crontab -e -u <username>untuk mengedit crontab pengguna tertentu.

Pemberitahuan dalam crontab per pengguna tidak ada bidang 'pengguna'.

# m h  dom mon dow  command
*   *   *   *   *   echo 'foo'

Aspek crontab yang mungkin membingungkan adalah root juga memiliki crontab sendiri. mis. crontab -e -u roottidak akan mengedit /etc/crontab Lihat Mengonfigurasi cron .

Di distro Linux, crontab per pengguna biasanya disimpan di: /var/spool/crontabs/<username>

Referensi

/superuser/290093/difference-between-etc-crontab-and-crontab-e

Ramesh
sumber
2
Seperti kata Congiruring cron : biasanya tidak perlu membuat crontab pengguna untuk root. Benarkah itu? Maksud saya cara standar adalah mengedit / etc / crontab, apakah saya benar?
Pei Z
2
Tidak ada cara "standar", sehingga Anda dapat memiliki kedua file. Saya biasanya mengedit crontab root dan menghindari /etc/crontabhanya karena saya sudah terbiasacrontab -e
phoops
7

/etc/cron.d (dan saudara kandungnya cron.daily / mingguan / bulanan) lebih disukai untuk semua crontab sistem. Anda tidak perlu menyentuh / etc / crontab.

Sangat penting untuk memisahkan entri cron dalam banyak file, berdasarkan fungsinya jika Anda berencana untuk mengelola atau mengotomatisasi sesuatu. File di bawah /etc/cron.d dapat dengan mudah dikelola oleh paket atau alat manajemen konfigurasi seperti boneka dan koki. Crontab root OTOH secara praktis tidak dapat dipertahankan oleh apa pun selain manusia.

Jadi singkatnya, untuk hal-hal sistem Anda dapat menggunakan /etc/cron.*. Jika ada sesuatu yang Anda ingin dilakukan oleh pengguna root, gunakan crontab root. / etc / crontab harus dibiarkan tidak tersentuh dan dikelola oleh sebuah paket.

V13
sumber