Запланируйте cronjob каждый раз, когда это сделано

У меня есть cronjon, который работает каждые 48 часов. Но в идеале я хочу, чтобы он начал работать, как только остановится. Можно ли это сделать? Это скрипт sh, состоящий из команды python. Я использую Linux Mint 13.

Спасибо

1 ответ

Решение

Одна вещь, которую вы можете сделать, это запустить команду python в бесконечном цикле, а затем запустить скрипт один раз, используя cron. Таким образом, скрипт будет запускаться снова каждый раз, когда завершится:

#!/bin/bash
while true; do  ## Enter infinite loop
   sleep 5;   ## Wait for 5 seconds
   python -c 'print("hello world")'  ## Run your python command
done 

Если вы сохраните этот скрипт как, например, ~/run_python.sh и сделать его исполняемым (chmod +x ~/run_python.sh), вы можете настроить его запуск при загрузке системы, используя @reboot префикс. Добавьте эту строку в ваш crontab:

@reboot ~/run_python.sh

Итак, скрипт BASH запустится при загрузке системы и будет ждать 5 секунд, запускать команду python и затем продолжать делать это до бесконечности.

Лучший или, по крайней мере, более *nixy, способ сделать это - добавить скрипт в /etc/init.d,

Другие вопросы по тегам