Запланируйте 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
,