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