В процессе использования любой операционки встает вопрос о запуске ПО по старту системы. Причем если в Windows с этим все более менее ясно, то в Linux — нет. Ибо чаще нужно не просто запустить скайп, а стартануть задачу из под root.
Раньше (когда systemd еще только угрожало) я, как и большинство народу, предпочитал просто запихать команду в /etc/rc.local.
Но вот сейчас испытал cron и понял, что несколько лет меня обманывали 😉
Cron — это служба, которая отвечает за периодические задачи. Гибкость настройки на высоте. Можно настроить выполнение по четным и не четным дням месяца, минутам/часам, дням недели.
Для настройки службы у каждого пользователя системы есть свой файл crontab.
Редактировать его можно с помощью команды
crontab -e
Мне нужно было запускать скрипт от root при старте ОС.
sudo crontab -e
Открывается nano (не понятно почему именно он).
В конец файл добавим свою строку.
@reboot python /home/pi/MyScript.py &
Должно получиться вот так:
Осторожно с последней строкой. Она должна быть пустой. Википедия утверждает, что если это не так можно остаться без всех задач.
Ну и позволю себе содрать с вики примеры задач в crontab.
# выполнять каждый день в 0 часов 5 минут, результат складывать в log/daily 5 0 * * * $HOME/bin/daily.job >> $HOME/log/daily 2>&1 # выполнять 1 числа каждого месяца в 14 часов 15 минут 15 14 1 * * $HOME/bin/monthly # каждый рабочий день в 22:00 0 22 * * 1-5 echo "Пора домой" | mail -s "Уже 22:00" john 23 */2 * * * echo "Выполняется в 0:23, 2:23, 4:23 и т. д." 5 4 * * sun echo "Выполняется в 4:05 в воскресенье" 0 0 1 1 * echo "С новым годом!" 15 10,13 * * 1,4 echo "Эта надпись выводится в понедельник и четверг в 10:15 и 13:15" 0-59 * * * * echo "Выполняется ежеминутно" 0-59/2 * * * * echo "Выполняется по четным минутам" 1-59/2 * * * * echo "Выполняется по нечетным минутам" # каждые 5 минут */5 * * * * echo "Прошло пять минут" # каждое первое воскресенье каждого месяца. -eq 7 это код дня недели, т.е. 1 -> понедельник , 2 -> вторник и т.д. 0 1 1-7 7 * [ "$(date '+\%u')" -eq 7 ] && echo "Эта надпись выводится каждое первое воскресенье каждого месяца в 1:00"