При запуске и остановке служб на сервере вызывается скрипт ics_tune.sh с параметрами, сообщающими о том, какая служба была запущена или остановлена. Первый параметр - служба, второй 'start' или 'stop' (кроме службы firewall.sh), третий параметр - код возврата от службы.
При помощи файла /usr/local/ics/bin/ics_tune.sh можно делать нестандартные настройки сервера.
Для редактирования необходимо от имени удаленного помощника выполнить команду:
mount -o rw,remount /mnt/ro_disc chattr -i /mnt/ro_disc/usr/local/ics/bin/ics_tune.sh
В этом разделе приводятся примеры таких скриптов.
Отредактировать файл можно следуя инструкциям из этой статьи.
Изменения вносятся в середину скрипта, первую и последнюю строки оставьте неизменными. В общем виде скрипт должен выглядеть так.
#!/bin/bash if [ "$1" = 'Имя_службы' ]; then : #Ваши изменения здесь fi exit 0
Внимание
Если не окружать ваши изменения условными операторами, то они будут выполняться при старте любой службы.
Часто используемые службы
#TODO добавить список
- firewall.sh
- userinfo (добавить дополнительный вывод в диагностику пользователя)
- userdiag (добавить дополнительный вывод в диагностику пользователя)
- sysdiag (добавить дополнительный вывод в диагностику системы)
- networkd
Автоматизированное использование
Ничто не мешает использовать ics_tune.sh с помощью cron. Таким образом вы можете выполнять некие команды не при наступлении какого-то события, а в нужное вам время.
Для этого нужно использовать в качестве имени службы:
- cron.10min - для того чтобы выполнять что-то каждые 10 минут
- cron.daily - для того чтобы выполнять что-то каждый день
- cron.hourly - для того чтобы выполнять что-то каждый час
- cron.monthly - для того чтобы выполнять что-то каждый месяц
- cron.weekly - для того чтобы выполнять что-то каждую неделю
Либо /etc/crontab, если вам нужно указать специфичное время, но в таком случае указать в вызове в качестве имени службы что-то уникальное, например
10 */2 * * * root /usr/local/ics/bin/ics_tune.sh sendmycommandtoallnas 1>/dev/null 2>/dev/null