2010-12-20 19 views
6

Cron'a eklemek istediğim bir python betiğim var.Cron kullanarak bir Python Komutu Çalıştırma?

Betiğin üzerinde + x izni var.

Nasıl crontab'a ekleyebilirim? (Her dakika çalışmasını istiyorum).

Önemli: komut dosyasının klasörüne (kabuk kullanarak) gittiğimde "./script_name.py" kullanarak çalıştıramıyorum; işe yaramıyor. Ancak, "Python script_name.py" kullanarak çalıştırdığımda, her şey çalışıyor. cron itibaren

cevap

8

Eğer script_name.py olarak komut dosyası çalıştıran olmalı ve komut aşağıdaki kriterleri karşılayan:

  • Çalıştırılabilir bit
  • ayarlanır komut dosyasının karma-bang örn doğru ayarlanmış. #!/usr/bin/env python
  • bu PATH
    • örneğin erişilebilir /usr/local/bin/ veya /opt/local/bin/ yerleştirin (ve bunlar sisteme PATH erişilebilir.)

bu şartlar yerine getirilirse, sen script_name.py

+0

olarak yerel sisteminizde herhangi bir yerden çalıştırmak mümkün olmalıdır Teşekkür ederim. Eğer betik farklı bir alanda bulunuyorsa ('/ usr/local/bin /' veya '/ opt/local/bin /' değil)? Çalıştırmak için yapabileceğim bir şey var mı? – user3262424

+1

Tabii ki, ancak yine de bu klasörün konumunu PATH'nize eklemelisiniz, çünkü bu yerleri önermem gerekçeli, çünkü sizin/sisteminizin/sisteminizin yerel sistem kutularının/konumlarının (tarihsel olarak) nerede yaşayacağıdır. Ama başka bir klasör kullanamazsın diye bir sebep yok. Ayrıca, crontab'ınızda '/ myfolder/sub/bin/etc/wherever/script_name.py' mutlak bir pathname kullanarak betiği çağırabilirsiniz. Bunu yapmanın geleneksel yolu değil, bu nedenle bu sistemin başka biri tarafından yönetilmesi gerekiyorsa (veya gelecekte) – ocodo

+0

Yardımlarınız için teşekkür ederiz. Bunu yapmaya çalıştım ve betik cron ile çalışıyor gibi görünüyor, ama bir nedenden dolayı, birkaç saniye sonra durur. Burada daha fazla bilgi için: http://stackoverflow.com/questions/4487145/python-script-not-working-via-cron Neyi kaçırdığımı biliyor musunuz? – user3262424

İlgili konular