2019-03-24 18:31:54 +00:00
|
|
|
#!/bin/sh
|
|
|
|
# description: Start or stop telegram-bash-bot
|
|
|
|
#
|
2020-05-15 10:10:20 +00:00
|
|
|
#### $$VERSION$$ v0.94-pre-11-gac9ca60
|
2019-04-01 16:24:05 +00:00
|
|
|
# shellcheck disable=SC2009
|
|
|
|
# shellcheck disable=SC2181
|
|
|
|
|
2019-03-28 15:51:33 +00:00
|
|
|
#
|
2019-03-24 18:31:54 +00:00
|
|
|
### BEGIN INIT INFO
|
|
|
|
# Provides: bashbot
|
|
|
|
# Required-Start: $network $syslog
|
|
|
|
# Required-Stop: $network
|
|
|
|
# Default-Start: 2 3 5
|
|
|
|
# Default-Stop: 0 1 6
|
|
|
|
# Description: Start or stop telegram-bot-bash server
|
|
|
|
### END INIT INFO
|
|
|
|
|
2019-04-04 10:45:31 +00:00
|
|
|
# save default values
|
2019-04-02 19:43:38 +00:00
|
|
|
TERM="" # disable bashbot clear and color output
|
2019-04-12 08:30:35 +00:00
|
|
|
runas="nobody"
|
2019-04-01 10:52:25 +00:00
|
|
|
runcmd="echo Dry run:" # not actived until you edit lines below
|
2019-03-24 18:31:54 +00:00
|
|
|
|
2019-04-04 10:45:31 +00:00
|
|
|
#######################
|
|
|
|
# Configuration Section
|
2019-03-24 18:31:54 +00:00
|
|
|
|
2019-04-04 10:45:31 +00:00
|
|
|
# edit the next line to fit the user you want to run bashbot, e.g. nobody:
|
2019-04-12 08:30:35 +00:00
|
|
|
# runas="nobody"
|
2019-03-24 18:31:54 +00:00
|
|
|
|
2019-04-04 10:45:31 +00:00
|
|
|
# uncomment one of the following lines to fit your system
|
|
|
|
# runcmd="su $runas -s /bin/bash -c " # runasuser with *su*
|
|
|
|
# runcmd="runuser $runas -s /bin/bash -c " # runasuser with *runuser*
|
2019-03-24 18:31:54 +00:00
|
|
|
|
2019-04-04 10:45:31 +00:00
|
|
|
# edit the values of the following lines to fit your config:
|
|
|
|
start="/usr/local/telegram-bot-bash/bashbot.sh" # location of your bashbot.sh script
|
|
|
|
name='' # your bot name as given to botfather, e.g. mysomething_bot
|
|
|
|
|
|
|
|
# END Configuration
|
|
|
|
#######################
|
|
|
|
|
|
|
|
lockfile="$(dirname $start)/lockfile"
|
|
|
|
[ "$name" = "" ] && name="$runas"
|
2019-03-24 18:31:54 +00:00
|
|
|
|
|
|
|
case "$1" in
|
|
|
|
'start')
|
|
|
|
$runcmd "$start start" # >/dev/null 2>&1 </dev/null
|
|
|
|
RETVAL=$?
|
|
|
|
if [ "$RETVAL" = "0" ]; then
|
2019-03-29 16:52:00 +00:00
|
|
|
touch "$lockfile" >/dev/null 2>&1
|
2019-03-24 18:31:54 +00:00
|
|
|
fi
|
|
|
|
;;
|
|
|
|
'stop')
|
|
|
|
$runcmd "$start kill"
|
|
|
|
RETVAL=$?
|
|
|
|
if [ "$RETVAL" = "0" ]; then
|
2019-03-29 16:52:00 +00:00
|
|
|
rm -f "$lockfile"
|
2019-03-24 18:31:54 +00:00
|
|
|
fi
|
|
|
|
;;
|
|
|
|
'status')
|
2019-03-29 16:52:00 +00:00
|
|
|
ps -f -u "$runas" | grep "$name" | grep -qF "bashbot.sh startbot"
|
2019-03-24 18:31:54 +00:00
|
|
|
if [ "$?" = "0" ]; then
|
2019-04-04 10:45:31 +00:00
|
|
|
echo "bashbot ($name) is running"
|
2019-03-24 18:31:54 +00:00
|
|
|
RETVAL=0
|
|
|
|
else
|
2019-04-04 10:45:31 +00:00
|
|
|
echo "bashbot ($name) is stopped"
|
2019-03-24 18:31:54 +00:00
|
|
|
RETVAL=1
|
|
|
|
fi
|
|
|
|
;;
|
|
|
|
'restart'|'reload')
|
2019-03-25 10:11:22 +00:00
|
|
|
$0 stop; $0 start
|
2019-03-24 18:31:54 +00:00
|
|
|
RETVAL=$?
|
|
|
|
;;
|
2019-04-27 13:48:03 +00:00
|
|
|
'restartback')
|
|
|
|
$0 suspendback; $0 resumeback
|
|
|
|
RETVAL=$?
|
|
|
|
;;
|
2019-03-24 18:31:54 +00:00
|
|
|
'suspendback'|'resumeback'|'killback')
|
|
|
|
$runcmd "$start $1"
|
2019-03-25 10:11:22 +00:00
|
|
|
RETVAL=$?
|
2020-05-15 10:10:20 +00:00
|
|
|
# kill inotifywait from runuser if long running bg scripts use it
|
|
|
|
KILLINOTIFY=""
|
|
|
|
if [ "$1" != "resumeback" ] && [ -n "${KILLINOTIFY}" ]; then
|
2020-05-14 11:04:57 +00:00
|
|
|
kill -9 "$(ps -u "$runas" | grep inotifywait | sed 's/ .*//')" >/dev/null 2>&1
|
|
|
|
fi
|
2019-03-24 18:31:54 +00:00
|
|
|
;;
|
|
|
|
*)
|
2019-04-27 13:48:03 +00:00
|
|
|
echo "Usage: $0 { start | stop | restart | reload | restartback | suspendback | resumeback | killback }"
|
2019-03-24 18:31:54 +00:00
|
|
|
RETVAL=1
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
exit $RETVAL
|
|
|
|
|