urbackup_backend/start_urbackup_client
2012-08-11 16:43:35 +02:00

87 lines
2.3 KiB
Bash

#!/bin/sh
NAME="urbackup_client"
PREFIX=/usr/local
DAEMON=$PREFIX/sbin/urbackup_client
if ! test -x $DAEMON
then
PREFIX=/usr
DAEMON=$PREFIX/sbin/urbackup_client
fi
DAEMON_DIR="/usr/local/var"
if ! test -e $DAEMON_DIR/urbackup/backup_client.db.template
then
DAEMON_DIR="/var"
if ! test -e $DAEMON_DIR/urbackup/backup_client.db.template
then
DAEMON_DIR="/usr/var"
fi
fi
DAEMON_LIBS="$PREFIX/lib"
DAEMON_PLUGINS="--plugin $DAEMON_LIBS/liburbackupclient_fileservplugin.so --plugin $DAEMON_LIBS/liburbackupclient_fsimageplugin.so --plugin $DAEMON_LIBS/liburbackupclient_cryptoplugin.so --plugin $DAEMON_LIBS/liburbackupclient.so --workingdir $DAEMON_DIR --server false --no-server"
S_DAEMON="--daemon"
print_help()
{
echo "UrBackup Client wrapper script. Starts UrBackup Client daemon process."
echo "Parameters:"
echo "--logfile {file} Specifies the log file name. Default: urbackup_client.log"
echo "--loglevel {debug|info|warn|error} Specifies the log level. Possible values: debug, info, warn, error. Default: warn"
echo "--no_daemon Do not start as a daemon"
echo "--pidfile {file} Save pid of daemon in file"
echo ""
echo "Have a nice day!"
exit 0
}
print_version()
{
echo "UrBackup Client v0.40"
echo "Copyright (C) 2011 Martin Raiber"
echo "This is free software; see the source for copying conditions. There is NO"
echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
exit 0
}
if `getopt -T > /dev/null 2>&1`; [ $? = 4 ]; then
LOGFILE="urbackup_client.log"
LOGLEVEL="warn"
PIDFILE="/var/run/urbackup_client.pid"
TEMP=`getopt -o f:h:l:v -n start_urbackup_client --long version,no_daemon,help,logfile:,loglevel:,pidfile: -- "$@"`
eval set -- "$TEMP"
while true ; do
case "$1" in
-l|--logfile) LOGFILE="$2"; shift 2 ;;
-v|--loglevel) LOGLEVEL="$2"; shift 2 ;;
--pidfile) PIDFILE="$2"; shift 2 ;;
--no_daemon) S_DAEMON=""; shift ;;
--help) print_help ;;
--version) print_version ;;
--) shift; break ;;
*) echo "error!" ; exit 1 ;;
esac
done
DAEMON_ARGS="--logfile /var/log/$LOGFILE --loglevel $LOGLEVEL --pidfile $PIDFILE"
else
DAEMON_ARGS="$*"
fi
# Exit if the package is not installed
if [ ! -x $DAEMON ]
then
echo "Client binary not found"
fi
ulimit -n 10000 > /dev/null 2>&1
DAEMON_ARGS="$DAEMON_PLUGINS $DAEMON_ARGS"
cd $DAEMON_DIR
exec $DAEMON $S_DAEMON $DAEMON_ARGS