2016-03-29 17 views
2

Raspberry Pi'mde bir XML dosyası yazan bir Python 2.7.3 programı oluşturdum. IDLE'nin F5 anahtarını kullanarak bu programı çalıştırdığımda, XML dosyasını çalıştırır ve çıkarır. Aynı programı [email protected] ~ $python program_name.py yazarak bir LXDE terminali kullanarak çalıştırdığımda, aynı zamanda amaçlanan çalışır ve XML dosyasını çıkarır.Bir Python programını crontab üzerinden yürütme

Şimdi XML dosyasını her 15 dakikada bir yenilemek istiyorum ve crontab kullanarak bunu yapabilmem mümkün gibi geliyor.

crontab -e komutunu kullanarak, editörüm (nano, benim durumumda) açılır.

*/15**** sudo python /home/pi/program_name.py 

ve: Ben programı çıktığınızda

*/15**** python program_name.py 

şu hata mesajını alıyorum şöyle Ben de çeşitli varyantları çalıştığımız

*/15**** python /home/pi/program_name.py 

: Geçen satır olarak aşağıdaki girmiş :

"/tmp/crontab.nyQZsu/crontab":23: bad command 
errors in crontab file, can't install. 

Yanlış yaptığım şeyler hakkında herhangi bir fikrin var mı?

cevap

-1

deneyin root olarak çalıştırmak için bir crontab girdisi istiyorsanız, kökün kendi Kullanıcı tarafından daha bir /etc/cron.d/ dosyaya koydu daha iyidir, ayrıca 15 yerine/15

kullanımı seviye crontab.

+1

bir kök çalıştırmak için crontab girdisi olmasının yararı nedir:

Karşılaştırma için, burada bir kasıtlı sahte hattı, ***** /bin/echo dahil bir dosya yüklemeye çalışırken aldığım hata var? – Gary

+0

Dakika sütununda yalnız bir '15', her 15 dakikada bir değil, her saat başı 15 dakika içinde komut dosyasını çalıştıracaktır. –

3

crontab dosyasındaki saat, dakika, ay ve diğer alanlar, boşluklarla ayrılmış. Daha önce hiç görmediğim bir cron varyantınız yoksa, tüm alanlarınızı "****" gibi tek bir bloğa sokun, bir sözdizimi hatasıdır. POSIX Programcı el kitabı itibaren

:

[...] bir crontab girdisi altı alanların her birinin çizgilerden oluşan bir metin dosyasıdır. Alanlar < boş > s ile ayrılmalıdır.

"crontab dosyasında kötü komut hataları" mesajı size anlattıklarını That: dosya crontab geçersiz, böylece programın "install" reddediyor beslenen onu (kabul).

$ crontab -e 
crontab: installing new crontab 
"/tmp/crontab.XXXXe2lUUa":5: bad hour 
errors in crontab file, can't install. 
Do you want to retry the same edit? n 
crontab: edits left in /tmp/crontab.XXXXe2lUUa 
$ 
+0

Teşekkürler. Bu işe yarıyor. Gördüğüm örneklerden, 6 alanın her birinin boş bir alanla ayrıldığı gerçeğini almamıştım. (Bu yorumlarda "teşekkürler" demem gerektiğini fark ettim!) – Gary

İlgili konular