Last active
August 29, 2015 14:00
-
-
Save hfase01/11363630 to your computer and use it in GitHub Desktop.
init.d script for chatterbox w/RVM
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
### BEGIN INIT INFO | |
# Provides: Twitter-Bot | |
# Required-Start: $local_fs $network $named $time $syslog | |
# Required-Stop: $local_fs $network $named $time $syslog | |
# Default-Start: 2 3 4 5 | |
# Default-Stop: 0 1 6 | |
# Description: Starts the Twitter retweet bot. | |
### END INIT INFO | |
SCRIPT=/home/hans/chatterbot/bin/w44co.rb | |
RUNAS=hans | |
BUNDLE=/usr/local/rvm/wrappers/global/bundle | |
SCRIPTHOME=/home/hans/chatterbot | |
PIDFILE=/home/hans/twitter-bot.pid ## The pid and logfile need to be somwhere writeable. | |
LOGFILE=/home/hans/twitter-bot.log | |
start() { | |
if [ -f /var/run/$PIDNAME ] && kill -0 $(cat /var/run/$PIDNAME); then | |
echo 'Bot already running' >&2 | |
return 1 | |
fi | |
echo 'Starting bot!' >&2 | |
local CMD="cd $SCRIPTHOME && $BUNDLE exec $SCRIPT &> \"$LOGFILE\" & echo \$!" | |
su -c "$CMD" $RUNAS > "$PIDFILE" | |
echo 'Bot running!' >&2 | |
} | |
stop() { | |
if [ ! -f "$PIDFILE" ] || ! kill -0 $(cat "$PIDFILE"); then | |
echo 'Bot not running' >&2 | |
return 1 | |
fi | |
echo 'Stopping bot' >&2 | |
kill -15 $(cat "$PIDFILE") && rm -f "$PIDFILE" | |
echo 'Bot stopped' >&2 | |
} | |
uninstall() { | |
echo -n "Are you really sure you want to uninstall this service? That cannot be undone. [yes|No] " | |
local SURE | |
read SURE | |
if [ "$SURE" = "yes" ]; then | |
stop | |
rm -f "$PIDFILE" | |
echo "Notice: log file is not be removed: '$LOGFILE'" >&2 | |
update-rc.d -f <NAME> remove | |
rm -fv "$0" | |
fi | |
} | |
case "$1" in | |
start) | |
start | |
;; | |
stop) | |
stop | |
;; | |
uninstall) | |
uninstall | |
;; | |
retart) | |
stop | |
start | |
;; | |
*) | |
echo "Usage: $0 {start|stop|restart|uninstall}" | |
esac |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment