[freebsd] /usr/local/etc/rc.d

Taras Heichenko tasic at academ.kiev.ua
Fri Nov 22 13:39:19 EET 2019



> On 21 Nov 2019, at 09:22, Eugene Grosbein <eugen at grosbein.net> wrote:
> 
> 21.11.2019 13:44, Taras Heichenko пишет:
>>    Hi!
>> Кто знает, есть ли во фре какое-то _штатное_ средство сказать, что какой-нибудь
>> скрипт из /usr/local/etc/rc.d/ нужно запускать после того, как система загрузилась? Или
>> даже скорее не так. А что-то вроде "вот этот скрипт выполнять в background". Объясню
>> ситуацию: clamav-clamd запускается безобразно медленно. Я, перезагружая систему, не
>> дождался, срубил его, после чего начал с ним разбираться. Думал, что какие-то проблемы
>> с соответствием системе (недавно перешел на 12). Но умные люди подсказали – оказывается
>> он очень долго грузит свою базу. Т.е. в конце-концов он у меня запустился. Но столько ждать
>> при загрузке системы я не могу. А его запуск держит все остальное. Есть какие-то штатные
>> пути решения этого вопроса?
> 
> Самое простое и надежное это прописать clamav_clamd_enable="YES" в /etc/rc.conf
> и положить новый скрипт в /usr/local/etc/rc.d/bgclamd:
> 

Я бы только немного расширил этот скрипт вот такими строками

> #!/bin/sh
> 
> # PROVIDE: bgclamd
> # REQUIRE: LOGIN
> # BEFORE: mail
> # KEYWORD: shutdown
> 

. /etc/rc.subr

name=clamav_clamd

load_rc_config "$name"

checkyesno clamav_clamd_enable && exit 0;

> case "$1" in
> *start) nohup service clamav-clamd forcestart >/dev/null 2>&1 & ;;
> *)      service clamav-clamd force$1 ;;
> esac
> # EOF
> 
> То есть, отключить штатный автостарт при загрузке и запускать его таким скриптом в фоновом режиме.
> ]

На всякий случай, чтобы не запускалось этим скриптом, если запустилось штатным (т.е. если в rc.conf
оно enabled).

--
Taras Heichenko
tasic at academ.kiev.ua







More information about the freebsd mailing list