Ubuntu — автозапуск скриптов после перезагрузки

Admin Ubuntu

Как перезапустить скрипт после автозагрузки.

Настраиваем автозапуск

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

Добавляем в cron:

crontab -e

Такую строку:

@reboot ~/_scripts/cron-autorun-reboot.sh > ~/_scripts/cron-autorun-reboot.log 2>&1

Не забываем сделать скрипт исполняемым:

chmod +x ~/_scripts/cron-autorun-reboot.sh

Содержимое скрипта:

В качестве примера приведен запуск celery после перезагрузки сервера.

#!/bin/bash

cd /home/ploshadka/ploshadka.net/
source venv/bin/activate

# Удаляем все что может перед этим работать
pkill -9 -f tasks.updates.celery && pkill -9 -f celery

# Иногда требуется для celery, иначе возникнут ошибки
export COLUMNS=80

# Добавляем задачи в планировщик
celery -A tasks.updates.celery beat --detach --config=configs.private.celery -l INFO --logfile=logs/beat.log

# Включаем worker
celery -A tasks.updates.celery worker -D --purge --config=configs.private.celery -l INFO --logfile=logs/celery.log

Ошибки

Ошибка ‘source: not found’ может возникнуть, если не указан тип файла или указан #!/bin/sh вместо #!/bin/bash

У сайта нет цели самоокупаться, поэтому на сайте нет рекламы. Но если вам пригодилась информация, можете лайкнуть страницу, оставить комментарий или отправить мне подарок на чашечку кофе.

Добавить комментарий

Напишите свой комментарий, если вам есть что добавить/поправить/спросить по теме текущей статьи:
"Ubuntu — автозапуск скриптов после перезагрузки"