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

При запуске и остановке служб на сервере вызывается скрипт ics_tune.sh с параметрами, сообщающими о том, какая служба была запущена или остановлена. Первый параметр - служба, второй 'start' или 'stop' ({color:#ff0000}кроме службы firewall.sh{color}), третий параметр - код возврата от службы.


При помощи файла /usr/local/ics/bin/ics_tune.sh можно делать нестандартные настройки сервера.

Для редактирования необходимо от имени [удаленного помощника|Пользователь root. Режим удаленного помощника. Постоянный удаленный помощник] выполнить команду:

{code}
mount -o rw,remount /mnt/ro_disc
chattr -i /mnt/ro_disc/usr/local/ics/bin/ics_tune.sh
{code}

h2. В этом разделе приводятся примеры таких скриптов.


Отредактировать файл можно следуя инструкциям из этой статьи.

Изменения вносятся в середину скрипта, первую и последнюю строки оставьте неизменными. В общем виде скрипт должен выглядеть так.

{code}
#!/bin/bash


if [ "$1" = 'Имя_службы' ]; then
:
#Ваши изменения здесь
fi

exit 0
{code}

h4. Внимание

Если не окружать ваши изменения условными операторами, то они будут выполняться при старте *любой* службы.

h2. Часто используемые службы

\#TODO добавить список
* firewall.sh 
* userinfo (добавить дополнительный вывод в диагностику пользователя)
* userdiag (добавить дополнительный вывод в диагностику пользователя)
* sysdiag (добавить дополнительный вывод в диагностику системы)
* networkd 

h2. Автоматизированное использование

Ничто не мешает использовать ics_tune.sh с помощью cron. Таким образом вы можете выполнять некие команды не при наступлении какого-то события, а в нужное вам время.

Для этого нужно использовать в качестве имени службы:

* cron.10min \- для того чтобы выполнять что-то каждые 10 минут
* cron.daily \- для того чтобы выполнять что-то каждый день
* cron.hourly \- для того чтобы выполнять что-то каждый час
* cron.monthly \- для того чтобы выполнять что-то каждый месяц
* cron.weekly \- для того чтобы выполнять что-то каждую неделю

Либо /etc/crontab, если вам нужно указать специфичное время, но в таком случае указать в вызове в качестве имени службы что-то уникальное, например

{code}
10 */2 * * *  root /usr/local/ics/bin/ics_tune.sh sendmycommandtoallnas 1>/dev/null 2>/dev/null
{code}