diff options
Diffstat (limited to 'log')
-rw-r--r-- | log/run | 37 |
1 files changed, 37 insertions, 0 deletions
@@ -0,0 +1,37 @@ +#!/usr/bin/execlineb -P + +# TODO: +# a sane example of handling the arguments would be nice + +# populate some variables +define RUN_USER jdoe +define INSTANCE_NAME jane +define MAIL_RCPT john +backtick HOME { homeof ${RUN_USER} } +importas -n -u HOME HOME + +define LOGDIR ${HOME}/var/log/s6/imaginary_service-${INSTANCE_NAME} +define MAIL_FIFO ${LOGDIR}/mail_fifo + +# redirect STDERR to STDIN so it can be caught by a logging service +fdmove -c 2 1 + +# switch to a different user for running this +s6-setuidgid ${RUN_USER} + +# the command to start and supervise +s6-log + # prepend TAI64N timestamp + t + # prepent ISO 8601 timestamp + T + # rotate after 1MiB written + s1048576 + # total size of logdir may be 2GiB + S2147483648 + # filter lines with only spaces + -"^[[:space:]]+$" + # upon rotation, send log to MAIL_RCPT + !"background { redirfd -r 0 ${MAIL_FIFO} mail -s \"instance log: ${INSTANCE_NAME}\" -- ${MAIL_RCPT} } tee ${MAIL_FIFO}" + # directory to write logfiles to + "${LOGDIR}/logs" |