Saya ssh ke server, dan ingin menambahkan beberapa pekerjaan harian (khusus untuk memperbaharui tiket Kerberos bahkan ketika saya logout dan saya masih ingin program saya di layar atau tmux terus berjalan) ke cron. Jadi saya jalankan crontab -e
, dan tambahkan yang berikut,
00 00 * * * kinit -R
00 12 * * * kinit -R
Ketika saya menyimpannya, saya ditanya oleh editor:
File Name to Write: /tmp/crontab.HMpG7V
Bukankah file-file itu /tmp
dapat dihapus oleh OS? Apalagi setelah saya logout dari server?
Di mana saya harus menyimpan file crontab saya? Bisakah saya menyimpan file crontab di bawah $ HOME atau ruang yang lebih baik?
Jawaban:
crontab -e
membuka sebuah file di / tmp alih-alih crontab yang sebenarnya sehingga ia dapat memeriksa kesalahan-kesalahan pada crontab baru Anda dan mencegah Anda menimpa crontab Anda yang sebenarnya dengan kesalahan-kesalahan itu. Jika tidak ada kesalahan, maka crontab Anda yang sebenarnya akan diperbarui. Jikacrontab -e
hanya menulis langsung ke crontab Anda yang sebenarnya, maka Anda akan mengambil risiko semua cronjobs Anda gagal dijalankan karena kesalahan sintaks di crontab baru Anda.sudoedit
,visudo
,vipw
, Dll beroperasi pada prinsip yang sama.Jangan khawatir, crontab Anda yang sebenarnya tinggal di lokasi yang tidak mudah menguap di disk.
sumber
/var/spool
(biasanya), tetapi Anda seharusnya tidak pernah menyentuh crontab Anda yang sebenarnya dan Anda seharusnya tidak perlu, baik - gunakancrontab -e
saja. Anda mungkin tidak memiliki tingkat akses yang tepat untuk mengedit file crontab mentah./tmp
adalah tempat file crontab sementara ditulis. Setelah Anda menyimpan dan keluar,crontab
akan melakukan perubahan ke direktori berbeda, lebih tepat pada sistem Anda (biasanya di/var/spool/cron
, jika saya ingat benar). Jadi, jangan khawatir, sistem operasi mungkin menghapus / tmp Anda, tetapi itu tidak akan pernah menghilangkan crontab Anda.sumber
File Crontab berada di / var / spool / cron / crontab / di bawah nama pengguna atau ID pengguna. Karena situasi dapat muncul di mana crontab yang berada di sini tidak lagi terhubung ke akun login Anda, Anda disarankan untuk menyimpan salinan ke direktori home Anda, katakan /home/userid/.crontab, sehingga Anda dapat dengan mudah mengembalikannya jika perlu. untuk. Ini juga memungkinkan Anda untuk meletakkannya di bawah kontrol revisi jika Anda suka.
Jika direktori home Anda dipindahkan ke sistem lain, seringkali crontab dari direktori spool tidak menyertainya kecuali admin sistem Anda mempertimbangkannya. / Var / spool juga tidak selalu dicadangkan atau dipulihkan saat sistem perlu diulang.
Jadi sekali lagi disarankan agar salinan crontab Anda disimpan di bawah direktori home Anda.
Gunakan editor favorit Anda (pico, vi, emacs, dll) untuk mengedit ~ / .crontab dan kemudian gunakan crontab untuk menerapkannya ke / var / spool / crontab. Seperti ini:
Jika Anda suka alias, Anda bisa membuatnya untuk dijalankan.
sumber