vlastni spousteci rc skript
Juraj Lutter
otis at FreeBSD.org
Tue Aug 13 11:26:28 CEST 2024
> On 13 Aug 2024, at 11:20, Petr Macek <pm-conf at kostax.cz> wrote:
>
> Zdravim,
>
> potrebuji vytvorit vlastni /usr/local/etc/rc.d script, pro spousteni flow collectoru. Je to soucast monitoringu Cacti. Kolektor je napsany v PHP. Skript musi spoustet a ukoncovat vice php kolektoru/skriptu. Dle nejakych navodu mam funkcni reseni, pri spusteni to ted vypada takto:
>
> 57939 - Is 0:00.00 daemon: Cacti-flow_collector[57940] (daemon)
> 57940 - S 0:00.08 /usr/local/bin/php /usr/local/share/cacti/plugins/flowview/service/flow-capture-freebsd
> 57942 - S 0:00.13 /usr/local/bin/php -q /usr/local/share/cacti/plugins/flowview/flow_collector.php --listener-id=1
>
> Mam ale problem s tim, ze vsechny procesy jsou spustene jako uzivatel root a to samozrejme nechci. Potrebuji je spustit jako uzivatel apache nebo cacti. Kdyz si ale zkusim s timhle hrat a pridat usera do command_args, tak se mi to cele rozbiji, protoze dany uzivatel nema prava pro zapis pidfile a output_file.
Toto sa riesi v precmd, kedy sa pomocou, napr.
install -o ${user} -g ${group} /dev/null ${pidfile}
vytvori pozadovany subor, do ktoreho bude moct program zapisovat.
Druha, casto pouzivana moznost je:
install -d -o ${user} -g ${group} /var/run/${progname}
a nasledne povedat programu (napr. daemon(8) alebo podobne), aby pid subor zapisal do /var/run/${progname}/${progname}.pid.
Inspiraciu je mozne najst v ports.
otis
> Mozna je moje reseni uplne spatne, ale na jine jsem neprisel. Nenajde se tu nejaka rada?
—
Juraj Lutter
otis at FreeBSD.org
More information about the Users-l
mailing list