Просмотр Исходного

h2. Задача внутри контейнера asr_billing

Если у вас есть задачи по управлению абонентами по api или выполнения отчёта, то их удобно хранить в контейнере asr_billing.
{note}
Статья актуальна для версий старше *5.79*.
{note}
# Зайдите в контейнер asr_billing;
{code}
chroot /app/asr_billing/
{code}
# Создайте каталог для хранения скриптов;
{code}
mkdir /cfg/opt
{code}
# Разместите в нём свой скрипт;
{code}
/cfg/opt/script.sh
{code}
# Удобно разместить задание в одном из каталогов. Оно будет выполнено периодически по названию каталога. Например, для cron.daily - раз в сутки;
{code}
/etc/cron.10m
/etc/cron.1m
/etc/cron.daily
/etc/cron.hourly
/etc/cron.monthly
/etc/cron.weekly
{code}
# Создайте файл с заданием;
{code}
/etc/cron.daily/run_script_daily
{code}
# Задание будет выглядеть следующим образом;
{code}
#!/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
{code}
При этом логи скрипта будут записаны в файл */var/log/script.sh.log*.
# Установите права для запуска задания;
{code}
chmod 755 /etc/cron.daily/run_script_daily
{code}
# Скопируйте задание в каталог [хранения|Изменение системных файлов];
{code}
mkdir -p /cfg/etc/cron.daily
{code}
{code}
cp -p /etc/cron.daily/run_script_daily /cfg/etc/cron.daily
{code}
# Загрузите новую конфигурацию в планировщик;
{code}
service crond reload
{code}
# Выйдите из контейнера asr_billing;
{code}
exit
{code}

Если возникнет проблема в настройке задания, отладить её можно в логе.
{code}
/app/asr_billing/var/log/cron
{code}