Skip to content

Instantly share code, notes, and snippets.

@steinnes
Created February 20, 2015 22:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save steinnes/2051efca11bac78ee160 to your computer and use it in GitHub Desktop.
Save steinnes/2051efca11bac78ee160 to your computer and use it in GitHub Desktop.
runit + svlogd example
def setup_runit_service(self, service_name, runfile, logrunfile=None, enable_service=True):
self.shell.sudo("mkdir -p /etc/rserv")
self.shell.sudo("mkdir -p /etc/rserv/{}".format(service_name))
self.shell.upload_file(runfile, "/etc/rserv/{}/run".format(service_name))
self.shell.sudo("chmod +x /etc/rserv/{}/run".format(service_name))
if logrunfile:
self.shell.sudo("mkdir -p /etc/rserv/{}/log".format(service_name))
self.shell.sudo("mkdir -p /etc/rserv/{}/log/main".format(service_name))
self.shell.upload_file(logrunfile, "/etc/rserv/{}/log/run".format(service_name))
self.shell.sudo("chmod +x /etc/rserv/{}/log/run".format(service_name))
if enable_service:
self.enable_runit_service(service_name) # create symlink to path watched by `runsvdir`
root@server:/etc/rserv# find eventador/|grep -v supervise
eventador/
eventador/run
eventador/log
eventador/log/run
eventador/log/main
eventador/log/main/current
eventador/log/main/lock
root@[Production::server_docker]:/etc/rserv# cat eventador/run
#!/bin/sh
exec /usr/local/bin/eventador 2>&1
root@[Production::server_docker]:/etc/rserv# cat eventador/log/run
#!/bin/sh
exec svlogd -tt ./main
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment