Bu kolay şeyi yapmak için 1 saatten fazla zaman geçti ve tamamen başarısız oldu:
Komut satırında mükemmel çalışırken bu python'un crontab üzerinde çalışmadığını neden anlayamıyorum ...
Betik (bash):
#!/bin/bash
touch before_zzz_text.txt # to check if cron works at all
ls > "before_zzz_text.txt" # just to check if I'm in the correct directory
/root/anaconda3/bin/python -V > pv.txt # this is empty! or a white char
touch after_zzz_text.txt # this works new file every minute
Bu şekilde cronda çalıştığını biliyorum (her iki dakikada da oluşturulan - .xt dosyaları - cron her dakika çalışıyor gibi).
Ancak pv.txt boş ... bash script çalışmıyor gibi görünüyor?
Sonunda bash betiğinde daha karmaşık bir betiğin çalışmasını istiyorum ancak neden basit olmadığını göstermek için neden işe yaramadığını kazmaya çalıştım "/ root / anaconda3 / bin / python -V '
/root/anaconda3/bin/
tercüman için olası bir yer değil. Bir hata yorumlayıcının çalışmasını engellerse boş bir günlük dosyası oluşturulur. Hataları görmek 2>&1
için python
aramanın sonuna ekleyin .
stderr
: senin gibi, açık olacağını varsaymıştım stdout
, ama bunu kendi sistemimle doğruladım. İşinde olmana sevindim. Sanırım sitenin diğer kullanıcılarının yararına bir cevap vereceğim.
/root/anaconda3/bin/python
Python komut dosyası? Bu kafa karıştırıcı, çünküpython
koşmak istediğiniz işleyici. İle mi başlıyor mu#!/usr/bin/python
? Dizin bileşenlerinin tümü ve tüm yürütme izinleri var mı?crontab
Çevre terminalinizle aynı olmadığı için bu önemlidir . Eğer.txt
dosyalar önceden silindi, hangi izinleri ve kullanıcı / grup isimleri ile oluşturulan vardı?