Задача внутри контейнера asr_billing
Если у вас есть задачи по управлению абонентами по api или выполнения отчёта, то их удобно хранить в контейнере asr_billing.
Статья актуальна для версий старше 5.79. |
- Зайдите в контейнер asr_billing;
chroot /app/asr_billing/
- Создайте каталог для хранения скриптов;
mkdir /cfg/opt
- Разместите в нём свой скрипт;
/cfg/opt/script.sh
- Удобно разместить задание в одном из каталогов. Оно будет выполнено периодически по названию каталога. Например, для cron.daily - раз в сутки;
/etc/cron.10m /etc/cron.1m /etc/cron.daily /etc/cron.hourly /etc/cron.monthly /etc/cron.weekly
- Создайте файл с заданием;
/etc/cron.daily/run_script_daily
- Задание будет выглядеть следующим образом;
#!/bin/bash set -eu PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin/ /cfg/opt/script.sh &>>/var/log/script.sh.log exit 0
При этом логи скрипта будут записаны в файл /var/log/script.sh.log.
- Установите права для запуска задания;
chmod 755 /etc/cron.daily/run_script_daily
- Скопируйте задание в каталог хранения;
mkdir -p /cfg/etc/cron.daily
cp -p /etc/cron.daily/run_script_daily /cfg/etc/cron.daily
- Загрузите новую конфигурацию в планировщик;
service crond reload
- Выйдите из контейнера asr_billing;
exit
Если возникнет проблема в настройке задания, отладить её можно в логе.
/app/asr_billing/var/log/cron