Sampai sekarang, saya belum pernah mencoba menambahkan crontask di Mac saya. Di luar dugaan, ada kesalahan ..
[hayek@mac:/www/] 02:33:22 PM: crontab -e 1 .
crontab: no crontab for hayek - using an empty one
crontab: "/usr/bin/vi" exited with status 1
Bagaimana saya mencari tahu mengapa itu melempar kesalahan itu?
Saya menjalankan Mac OS X Lion 10.7.2
crontab file
menginstal tabel dari file eksternal? Atau menggunakan editor yang berbeda sepertiEDITOR=NANO crontab -e
?crontab -l
ditunjukkan? Apakah ada pesan lain di dalam/var/log/cron.log
atau/var/log/system.log
?Jawaban:
Di ~ / .vimrc tambahkan:
sumber
~/.vimrc
Masalahnya ternyata
vi
dan tidak ada hubungannya dengan cron. Melakukanexport EDITOR=vim
perbaikannyasumber
export EDITOR=vim
lalu mencobanya.EDITOR=vim
tidak memperbaikinya - itu hanya membawa saya ke kesalahan barucrontab: temp file must be edited in place
. Saya lebih suka vim, namun saya jarang mengedit cronjobs sehingga saya cukup senang melakukannyaNANO
... meskipun jika seseorang mengetahui perbaikannya, saya sangat tertarik.Pada masalah terkait, jika Anda mendapatkan pesan:
Mencoba:
1) Tambahkan ke .bash_profile
2) Tambahkan ke .vimrc
Sumber: http://drawohara.com/post/6344279/crontab-temp-file-must-be-edited-in-place
sumber
alias crontab "export VIM_CRONTAB=true; /usr/bin/crontab"
Editor Anda pada variabel sistem EDITOR adalah vi dan vi tidak berfungsi.
Mencoba:
sumber
Saya memiliki masalah yang sama dan mengikuti saran yang diposting untuk membuat tabel:
Dan itu menciptakan tabel cron, dan kemudian saya bisa berlari
dengan vi sebagai editor default dan tidak punya masalah. Seolah-olah vi tidak dapat menyimpan file, tetapi begitu dibuat, ia dapat mengaksesnya. Ini konsisten dengan kemampuan menjalankan:
Sebagai rasa ingin tahu, tabel disimpan di
yang hanya bisa dibaca sebagai sudo.
sumber
Cara terbaik untuk mendiagnosis ini adalah dengan membuat crontab segar dengan entri sederhana seperti:
Jika itu berhasil maka masalahnya adalah dengan perintah khusus yang Anda tambahkan. Bisakah Anda membagikannya kepada kami, dan juga membagikan hasilnya ketika Anda menjalankannya langsung dari Terminal.app, daripada dari crontab?
sumber
/bin/date
kembaliWed Nov 23 15:03:49 PST 2011
seperti yang diharapkan.cron tidak digunakan lagi karena launchd.
Lingon adalah alat kecil yang hebat untuk mengatur agen launchd; dulu gratis tetapi tampaknya sekarang menjadi $ 3.
Wikipedia memiliki halaman launchd yang baik yang menggambarkan semua kunci dan alat launchctl yang Anda gunakan untuk mengaktifkan / menonaktifkannya.
sumber
Menambahkan
au BufEnter /private/tmp/crontab.* setl backupcopy=yes
ke vimrc memperbaikinya untuk saya. Lihat disini:http://vim.wikia.com/wiki/Editing_crontab
sumber
Saya melihat masalah yang sama di OSX. Jawabannya adalah berjalan sebagai root menggunakan perintah sudo, mis:
Saya mendapat ide itu dari Gökhan Barış Aker di atas.
sumber
sudo
Anda akan menempatkan pekerjaan cron di bawah pengguna root. File cron berbeda untuk pengguna normal dan root.