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 — автозапуск скриптов после перезагрузки"