Chcę więc uruchomić to polecenie Python run.py z terminala Linux co godzinę. Jaki jest najlepszy sposób na to?

-1
user3002030 27 czerwiec 2017, 15:01

4 odpowiedzi

Najlepsza odpowiedź

Użyj polecenia watch na UNIX, aby uruchomić dowolne polecenie dowolne odstęp czasu.

Więcej informacji: https://en.wikipedia.org/wiki/watch_(unix).

(wybrałem w ten sposób przez Cron, ponieważ określono w terminalu, a to pozwoliłoby zobaczyć wyjście w terminalu, z którego się uruchomisz)

3
Mrl0330 27 czerwiec 2017, 12:02

Proponuję użyć BlockingScheduler z apscheduler.schedulers.blocking .

Wystarczy zainstalować go za pomocą polecenia pip install APScheduler lub pip3 install APScheduler. To jest dobre.

from apscheduler.schedulers.blocking import BlockingScheduler

def your_job():
    print("Do you job")

scheduler = BlockingScheduler()
scheduler.add_job(your_job, 'interval', seconds=5)
scheduler.start()

Po co 5 sekundach,

Do you job
Do you job

Zostanie wydrukowany. Świetne jest to, że możesz również określić minutes lub hours po prostu zmień parametr. Tak więc w twoim przypadku zmień seconds=5 do hours=1.

from apscheduler.schedulers.blocking import BlockingScheduler
def your_job():
        print("Do you job")

scheduler = BlockingScheduler()
scheduler.add_job(your_job, 'interval', hours=1)
scheduler.start()
0
void 27 czerwiec 2017, 12:20

Prosty sposób używa pracy cron, przy użyciu tego polecenia crontab -e Zobaczysz poniższy obraz Wpisz opis obrazu tutaj

Możesz dodać to polecenie do konfiguracji CRON:

* */1 * * * python /root/yourprogram.py > /dev/null 2>&1

*/1 służy do wykonywania każdego godziny programu Python, spójrz strukturę polecenia {X1}}:

# Minute   Hour   Day of Month       Month          Day of Week        Command    
# (0-59)  (0-23)     (1-31)    (1-12 or Jan-Dec)  (0-6 or Sun-Sat)                
    0        2          12             *                *            /usr/bin/find
4
wpp 27 czerwiec 2017, 13:48

Edytuj swój Crontab za pomocą crontab -e
Dodaj następującą linię, aby uruchomić skrypt co godzinę

0 * * * *  python <path-to-file> 

Możesz wymienić zaplanowane kondony za pomocą crontab -l

5
Akshay Apte 27 czerwiec 2017, 12:05