Mac crontab asla oluşturulmadı


12

Mac'imde bir cron kurmaya çalışıyorum, ancak görünüşe göre kullanıcım için bir crontab oluşturmayı bitirmiyor. Terminali açıp şunu giriyorum:

$ crontab -e 

Hangisi bunu döndürür:

crontab: no crontab for jjmay - using an empty one




















~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
"/tmp/crontab.rBdeP6yv1U" 0L, 0C

Ve sonra pencereden çıkana kadar orada bekler, 20 dakika kadar devam etmesine izin verdim. Crontab'ımın oluşturulmasını kontrol etmek için başka bir terminal penceresi açıyorum ve hiçbir şey alamıyorum.

$ crontab -l 
crontab: no crontab for jjmay

Bunu neden oluşturamadığım hakkında herhangi bir fikir ya da crontab'ımı elle oluşturabilir miyim?


OS X'te crontab dosyaları ile uğraştığımdan beri bir süredir, ama tahminim şu: "/tmp/crontab.rBdeP6yv1U" 0L, 0C doğru dizinde olmadığınızı veya yazma izniniz olmadığını gösteriyor bu dizine. "Crontab -e" yazarken içinde bulunduğunuz dizin nedir? JDB
JDB

@ JDB teşekkür ederim. Belirli bir dizinde olmak zorunda olduğumun farkında değildim. Terminali açtığımda sadece varsayılan dizinimdeydim, sadece varsayılan Kullanıcı dizinim. / Kullanıcılar / <my_username> /
Jage

Yanıtlar:


22

Bu editörle ilgili değil, kullanıcı izinleriyle ilgili. İlk önce kök olun:

sudo su -

Ardından uygun kullanıcı için crontab'ı düzenleyin:

crontab -u username -e

Dosyayı kaydettikten sonra, bunu çalıştırarak düzgün kaydedildiğini doğrulayabilirsiniz:

crontab -u username -l

1
Bu çözüm benim için çalıştı. Şaşırtıcı bir varyantı yoktu benim için çalışmak oldu:sudo crontab -u username -e
Andrew Miner

7

Bu sorunla şimdi karşılaştım. Sorunu çözmeye çalışırken Google'dan buraya yönlendirildim. Her neyse, işte böyle çözdüm.

kullanım

crontab -e

ki bunu doğru yaptın.

Cronjob'ınızı eklemek için 'i' tuşuna basın. Örneğin,

1 * * * * /Kullanıcılar/Wong/Documents/abc.command

~

Satırdan sonra return tuşuna basmayı unutmayın. Return tuşuna basmazsan böyle olacak

1 * * * * /Kullanıcılar/Wong/Documents/abc.command

ESC tuşuna basın ve dosyayı kaydedip çıkmak için: wq yazın. "Crontab: yeni crontab kurulumu" yazmalıdır

Hattınızdan sonra dönüşe basmazsanız, her şeyi kurtaramayacağını fark ettim.

Umarım yardımcı olur.


Teşekkürler. :q!Çözümü :wqbütün farkınızı yaratırken çıkmaya devam ettim .
KeitelDOG

1
Hoşgeldiniz. çıkmadan önce dosyaya yazarken :q!kaydetmeden çıkmanızı sağlar :wq.
Richard Wong

VIM komutlarını yakaladım, şimdi bilmem gereken çok şey biliyorum!
KeitelDOG

1

Terminal penceresinin kapatılması crontab'ın kaydedilmesini sağlamaz.

Dosyayı oluşturmak için vim kullandığından, VIM'in nasıl kullanılacağına bakın ve oradan gidin.

launchd, 10.5 ve 10.6'da (Apple) tercih edilen yöntemdir, ancak bunu sormadınız, sadece crontab'ın nasıl oluşturulacağını sormadınız.


1

Gösterdiği pencere bir vi editörüdür. Geleneksel unix sistemlerinde, vi varsayılan düzenleyicidir; Mac OS X'in bu geleneği sürdürdüğü anlaşılıyor.

Set EDITORve VISUAL(içeri değilse, tam yolu ismine ortam değişkenleri $PATHfavori editörü). Örneğin

export EDITOR=emacs VISUAL=emacs
crontab -e

Bu ayar ~/.profile(Mac OS X'in oturum açtığınızda o dosyayı okuduğunu varsayarak; tüm oturum için ortam değişkenlerini tanımlamanın bir OSX yolu varsa, bunları burada tanımlayabilirsiniz).


0

Bu benim çözümüm: önce düzenleyicinizi değiştirin. export EDITOR=vim daha sonra autocmd filetype crontab setlocal nobackup nowritebackup çalışacak .vimrc değiştirin .


Bu ne yapar? Biri için, değişikliklerin ne yapması gerektiğini bile açıklamayan, interent üzerindeki bazı anonim yabancıların yapılandırma dosyalarını değiştirme konusunda çok dikkatli olurum.
David Richerby

Bunun için üzgünüm. Daha önce bu sorunu karşıladım, o zaman ben bu yöntemi almak google, ama kökeni sonrası bulamıyorum. Bu yüzden sadece bu yöntemi gönderiyorum, benim için çalıştı. Ve neden çalıştığını bilmek için bu yöntemi google da yapabilirsiniz? Bir dahaki sefere cevabımı geliştireceğim. Kötü İngilizcem için özür dilerim.
Pegasus
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.