постоянно запускать скрипт на python

У меня есть скрипт на python, который пишет мне, когда что-то меняется на сайте. Как я могу поставить это на сервер, чтобы он проверял 24 часа в сутки без необходимости держать ноутбук открытым? Любые учебники или документация были бы хорошими.

Я искал способы сделать это везде, но на самом деле не могу найти много. Я вижу, что php может быть использован для этого, но я не уверен, что это лучший способ.

1

Решение

Вам нужно настроить работу cron. «Cron» — это временный планировщик заданий.

Пример:

11 2 * * * /path/to/bin/python /path/to/cronjobs/sent_text.py

Этот Cron будет запускаться один раз в час в час

Вот Cron Job Tutorial

1

Другие решения

Вы должны запустить свой скрипт на Python как демон. То есть отсоединить его от управляющего терминала. Вы можете легко обернуть его в скрипт оболочки, как показано ниже.

#!/usr/bin/env bash

script_file=$(readlink -f "$0")  #absolute path to this file
python_file=$(readlink -f "$1")  #absolute path to the python script
output_file=$([[ "$2" == "" ]] && echo "/dev/null" || readlink -f "$2")  #absolute path to the output file

(
exec 0>&- 0>/dev/null #close and redirect stdin
exec 1>&- 1>>"${output_file}" #close and redirect stdout
exec 2>&- 2>>"${output_file}" #close and redirect stderr
python "$python_file""$script_file" "$python_file" "$output_file") &

Сохранить этот скрипт как script.sh и дать ему исполняемое разрешение, т.е. chmod +x script.sh Сейчас исполняю script.sh <python script> <output file> запустит скрипт python с stdout и stderr, перенаправленными в указанный файл вывода. Он также перезапустит скрипт python, если он будет прерван.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector