mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-21 07:01:59 +00:00
Metrica
- дальнейшие правки для сборки deb-пакетов
This commit is contained in:
parent
d98b7d7315
commit
4c29d0ae39
13
tools/init.d/CMakeLists.init
Normal file
13
tools/init.d/CMakeLists.init
Normal file
@ -0,0 +1,13 @@
|
||||
# В этом файле описаны действия для добавления init.d скрипта. Пока в разработке.
|
||||
|
||||
# Данный файл нужно включать в CMakeLists.txt в каталоге каждого конкретного демона.
|
||||
# Пример использования:
|
||||
# set(SRCS)
|
||||
# INCLUDE( ${PROJECT_SOURCE_DIR}/CMakeLists.ssqls )
|
||||
|
||||
macro (CREATE_INIT_SCRIPT initname daemonname)
|
||||
add_custom_command(OUTPUT ${initname} ${daemonname}
|
||||
COMMAND sed -e 's,[@]DAEMON[@],${daemonname},g' < ${PROJECT_SOURCE_DIR}/tools/init.d/template > ${initname}
|
||||
COMMENT "Building ${initname}"
|
||||
)
|
||||
endmacro (CREATE_INIT_SCRIPT)
|
132
tools/init.d/template
Executable file
132
tools/init.d/template
Executable file
@ -0,0 +1,132 @@
|
||||
#! /bin/sh
|
||||
### BEGIN INIT INFO
|
||||
# Provides: @DAEMON@
|
||||
# Default-Start: 2 3 4 5
|
||||
# Default-Stop: 1
|
||||
# Short-Description: Yandex daemon
|
||||
### END INIT INFO
|
||||
|
||||
USER=metrica
|
||||
GROUP=metrica
|
||||
SHELL=/bin/sh
|
||||
PROGRAM=@DAEMON@
|
||||
SYSCONFDIR=/etc/$PROGRAM
|
||||
PIDDIR=/var/run/$PROGRAM
|
||||
LOGDIR=/var/log/$PROGRAM
|
||||
LOCALSTATEDIR=/var/lock
|
||||
BINDIR=/usr/bin
|
||||
|
||||
[ -x $BINDIR/$PROGRAM ] || exit 0
|
||||
|
||||
CNFFILE=$SYSCONFDIR/config.xml
|
||||
PIDFILE=$PIDDIR/$PROGRAM.pid
|
||||
LOCKFILE=$LOCALSTATEDIR/$PROGRAM
|
||||
RETVAL=0
|
||||
|
||||
isrun()
|
||||
{
|
||||
[ -r "$PIDFILE" ] && ps ax|grep `cat "$PIDFILE"`|grep -v grep >/dev/null 2>&1 && return 0 || return 1
|
||||
}
|
||||
|
||||
wait4done()
|
||||
{
|
||||
while isrun; do
|
||||
sleep 1
|
||||
done
|
||||
}
|
||||
|
||||
start()
|
||||
{
|
||||
local EXIT_STATUS
|
||||
EXIT_STATUS=0
|
||||
|
||||
echo -n "Start $PROGRAM service: "
|
||||
|
||||
if isrun; then
|
||||
echo -n "already running "
|
||||
EXIT_STATUS=1
|
||||
else
|
||||
# Clean stale lock files
|
||||
rm -f "$PIDFILE" "$LOCKFILE"
|
||||
|
||||
mkdir -p $LOGDIR
|
||||
mkdir -p $PIDDIR
|
||||
chown -R $USER:$GROUP $LOGDIR
|
||||
chown -R $USER:$GROUP $PIDDIR
|
||||
|
||||
su -l $USER -s $SHELL -c "\"$BINDIR/$PROGRAM\" --daemon --pid-file=\"$PIDFILE\" --config-file=\"$CNFFILE\""
|
||||
EXIT_STATUS=$?
|
||||
fi
|
||||
|
||||
if [ $EXIT_STATUS -eq 0 ]; then
|
||||
touch "$LOCKFILE"
|
||||
echo "DONE"
|
||||
else
|
||||
echo "FAILED"
|
||||
fi
|
||||
|
||||
return $EXIT_STATUS
|
||||
}
|
||||
|
||||
stop()
|
||||
{
|
||||
local EXIT_STATUS
|
||||
EXITS_STATUS=0
|
||||
|
||||
echo -n "Stop $PROGRAM service: "
|
||||
|
||||
if isrun; then
|
||||
kill -9 `cat "$PIDFILE"`
|
||||
wait4done
|
||||
rm -f "$LOCKFILE"
|
||||
fi
|
||||
|
||||
echo "DONE"
|
||||
return $EXIT_STATUS
|
||||
}
|
||||
|
||||
restart()
|
||||
{
|
||||
stop
|
||||
start
|
||||
}
|
||||
|
||||
# See how we were called.
|
||||
EXIT_STATUS=0
|
||||
case "$1" in
|
||||
start)
|
||||
start
|
||||
;;
|
||||
stop)
|
||||
stop
|
||||
;;
|
||||
status)
|
||||
isrun && echo "$PROGRAM service is running" || echo "$PROGRAM service is stopped"
|
||||
;;
|
||||
restart)
|
||||
restart
|
||||
;;
|
||||
reload)
|
||||
restart
|
||||
;;
|
||||
condstart)
|
||||
isrun || start
|
||||
;;
|
||||
condstop)
|
||||
isrun && stop
|
||||
;;
|
||||
condrestart)
|
||||
isrun && restart
|
||||
;;
|
||||
condreload)
|
||||
isrun && restart
|
||||
;;
|
||||
fallenstart)
|
||||
[ -r "$PIDFILE" ] && start
|
||||
;;
|
||||
*)
|
||||
echo "Usage: ${0##*/} {start|stop|status|restart|reload|condstart|condstop|condrestart|condreload|fallenstart}"
|
||||
EXIT_STATUS=2
|
||||
esac
|
||||
|
||||
exit $EXIT_STATUS
|
Loading…
Reference in New Issue
Block a user