You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
osync/osync-srv-openrc

54 lines
2.2 KiB
Plaintext

#!/sbin/openrc-run
#
# PROGRAM="osync-srv"
# SCRIPT_BUILD=2018051701
# Script written by Brian Evans (grknight@gentoo.org) in 2018
# How to use:
#
# 0) Rename this to osync-srv, and place it in /etc/init.d.
# 1) Ensure that your config is located in /etc/osync, under some name with a
# .conf extension.
# 2) Ensure that osync.sh can be found in /usr/local/bin.
# 3) Ensure that you have rsync and inotify-tools installed.
# 4) Symlink this to a name with an extension equal to the basename of your
# config file.
# 5) Add to the default runlevel under the symlinked name.
#
# Example:
#
# Suppose the config is located at /etc/osync/documents.conf. You then want to
# symlink as follows:
#
# # ln -s /etc/init.d/osync-srv /etc/init.d/osync-srv.documents
#
# Then you can start the service as normal:
#
# # rc-update add osync-srv.documents default
depend() {
use localmount chrony ntp-client
}
description="Two way directory sync daemon"
command=/usr/local/bin/osync.sh
conffile="${RC_SVCNAME#*.}.conf"
cfgfile="/etc/osync/${conffile}"
command_args="${cfgfile} --on-changes --errors-only"
command_background="yes"
pidfile="/var/run/${RC_SVCNAME}"
stopsig=TERM
start_pre() {
if [ "${conffile}" = ".conf" ]; then
eerror "${RC_SVCNAME} cannot be started directly. You must create"
eerror "symbolic links to it for the configuration you want to start"
eerror "osync on and add those to the appropriate runlevels."
return 1
fi
if ! [ -f "${cfgfile}" ]; then
eerror "Cannot find configuration file ${cfgfile}."
return 1
fi
}