summaryrefslogtreecommitdiff
path: root/examples/syslogd
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2021-08-18 18:46:40 +0000
committerLaurent Bercot <ska@appnovation.com>2021-08-18 18:46:40 +0000
commit678508409a92f80cacd94a70e1e51ca4a389435a (patch)
tree8dc9502d1a8d6785d2ba14afe808a7b52942167a /examples/syslogd
parent0fbc13bdc5bf68c6ff44bca7d0f6db02ae045ba5 (diff)
downloads6-678508409a92f80cacd94a70e1e51ca4a389435a.tar.xz
Add s6-socklog
Signed-off-by: Laurent Bercot <ska@appnovation.com>
Diffstat (limited to 'examples/syslogd')
-rw-r--r--examples/syslogd/README4
-rw-r--r--examples/syslogd/log/README9
-rw-r--r--examples/syslogd/log/env/LOGSCRIPT6
-rw-r--r--examples/syslogd/log/notification-fd1
-rwxr-xr-xexamples/syslogd/log/run8
-rw-r--r--examples/syslogd/notification-fd1
-rwxr-xr-xexamples/syslogd/run4
7 files changed, 33 insertions, 0 deletions
diff --git a/examples/syslogd/README b/examples/syslogd/README
new file mode 100644
index 0000000..c115a4e
--- /dev/null
+++ b/examples/syslogd/README
@@ -0,0 +1,4 @@
+This is an example of a service directory for process supervision by s6.
+
+This syslogd emulation works on any Unix where syslog() is
+implemented via a connection on the /dev/log Unix-domain socket.
diff --git a/examples/syslogd/log/README b/examples/syslogd/log/README
new file mode 100644
index 0000000..9d4968e
--- /dev/null
+++ b/examples/syslogd/log/README
@@ -0,0 +1,9 @@
+ This logger service logs everything the syslogd service receives
+into subdirectories of /var/log/syslogd/ logdir.
+
+ The script provided in env/LOGSCRIPT emulates the default
+syslogd behaviour on a majority of Linux distributions.
+
+ Note that spaces cannot be used as is in the LOGSCRIPT file,
+because they are delimiters for the splitting of $LOGSCRIPT
+in the run script. So \s is used instead.
diff --git a/examples/syslogd/log/env/LOGSCRIPT b/examples/syslogd/log/env/LOGSCRIPT
new file mode 100644
index 0000000..35ae234
--- /dev/null
+++ b/examples/syslogd/log/env/LOGSCRIPT
@@ -0,0 +1,6 @@
+- +^\\serror\\. t /var/log/syslogd/error
+- +^\\sauthpriv\\. t /var/log/syslogd/auth
+- +^\\suser\\. t /var/log/syslogd/user
+- +^\\smessages\\. t /var/log/syslogd/messages
+- +^\\sdaemon\\. t /var/log/syslogd/daemon
+f t /var/log/syslogd/misc
diff --git a/examples/syslogd/log/notification-fd b/examples/syslogd/log/notification-fd
new file mode 100644
index 0000000..00750ed
--- /dev/null
+++ b/examples/syslogd/log/notification-fd
@@ -0,0 +1 @@
+3
diff --git a/examples/syslogd/log/run b/examples/syslogd/log/run
new file mode 100755
index 0000000..c066f37
--- /dev/null
+++ b/examples/syslogd/log/run
@@ -0,0 +1,8 @@
+#!/bun/execlineb -P
+s6-setuidgid syslog
+s6-envdir -f env
+importas -Cs LOGSCRIPT LOGSCRIPT
+exec -c
+s6-log -d3 -- $LOGSCRIPT
+
+# Change env/LOGSCRIPT to alter s6-log's behaviour
diff --git a/examples/syslogd/notification-fd b/examples/syslogd/notification-fd
new file mode 100644
index 0000000..00750ed
--- /dev/null
+++ b/examples/syslogd/notification-fd
@@ -0,0 +1 @@
+3
diff --git a/examples/syslogd/run b/examples/syslogd/run
new file mode 100755
index 0000000..98a52d9
--- /dev/null
+++ b/examples/syslogd/run
@@ -0,0 +1,4 @@
+#!/bin/execlineb -P
+fdmove -c 2 1
+s6-envuidgid nobody
+s6-socklog -d3 -U -t3000