For service supervision with runit:

(1) add scripts into /etc/sv/<service>/run

------------------------------
Example: /etc/sv/nginx/run   |
------------------------------
#!/bin/sh
mkdir -p /tmp/nginx
exec /usr/sbin/nginx
------------------------------
Example: /etc/sv/ssh/run     |
------------------------------
#!/bin/sh
set -e
ssh-keygen -A
exec /usr/sbin/sshd -D
------------------------------
Example: /etc/sv/mysqld/run  |
------------------------------
#!/bin/sh
libs=/var/lib/mysql
socket=/run/mysqld
mkdir -p $socket
chown mysql:mysql $socket
chown -R mysql:mysql $libs
exec chpst -u mysql:mysql mysqld --user=mysql 2>&1
--------------------------------------------------
Example: /etc/sv/pgsql/run                       |
--------------------------------------------------
#!/bin/sh
. /etc/conf.d/postgresql
chown -R postgres:postgres ${PGDATA}
exec setuidgid postgres /usr/bin/postgres -D ${PGDATA} -o "$PGOPTS" 2>&1
---------------------------------------------------------------------------------
Example: /etc/sv/tinyssh/run                                                    |
---------------------------------------------------------------------------------
#!/bin/sh
PORT=22
mkdir -p /etc/tinyssh
/usr/sbin/tinysshd-makekey /etc/tinyssh/sshkeys 2>/dev/null
exec tcpserver -HRDl0 0.0.0.0 $PORT /usr/sbin/tinysshd -v -l /etc/tinyssh/sshkeys
---------------------------------------------------------------------------------

(2) set permissions:

chmod 700 /etc/sv/<service>/run

(3) symlink the script directory to the service directory:

ln -s /etc/sv/nginx /etc/service/nginx

==========================================================

The socklog package by the same author can provide logging
with built in log rotation & also be managed by runit.
