82 lines
1.6 KiB
Bash
Executable File
82 lines
1.6 KiB
Bash
Executable File
#!/bin/sh
|
|
# chkconfig: 2345 85 15
|
|
# description: Startup script for project.
|
|
|
|
# exit on first error
|
|
#set -e
|
|
|
|
# user running this script
|
|
_user="$(id -u -n)"
|
|
|
|
# points to the root for forever config
|
|
export "FOREVER_ROOT=/home/deploy/.forever"
|
|
|
|
# commands to run on "start" (new line per command)
|
|
startup=(
|
|
"forever -a --uid 'chat' --sourceDir /home/chat.cockpit.la/cli start chat.js"
|
|
)
|
|
|
|
# commands to run on "stop" (new line per command)
|
|
stopitems=(
|
|
"forever stop chat"
|
|
)
|
|
|
|
# start function
|
|
do_start(){
|
|
if [ "$_user" == "deploy" ]; then
|
|
echo "USER: IT'S deploy!"
|
|
for i in "${startup[@]}"
|
|
do
|
|
$i
|
|
done
|
|
else
|
|
echo "USER: NOT deploy!"
|
|
for i in "${startup[@]}"
|
|
do
|
|
su -l deploy -c "$i"
|
|
done
|
|
fi
|
|
}
|
|
|
|
# stop function
|
|
do_stop(){
|
|
if [ "$_user" == "deploy" ]; then
|
|
echo "USER: IT'S deploy!"
|
|
for i in "${stopitems[@]}"
|
|
do
|
|
$i
|
|
done
|
|
else
|
|
echo "USER: NOT deploy!"
|
|
for i in "${stopitems[@]}"
|
|
do
|
|
su -l deploy -c "$i"
|
|
done
|
|
fi
|
|
}
|
|
|
|
# Decide what command is being called
|
|
case "$1" in
|
|
start)
|
|
echo "Starting Project..."
|
|
do_start
|
|
echo "done."
|
|
;;
|
|
stop)
|
|
echo "Stoping Project..."
|
|
do_stop
|
|
echo "done."
|
|
;;
|
|
restart)
|
|
echo "Restarting Project..."
|
|
do_stop
|
|
do_start
|
|
echo "done."
|
|
;;
|
|
*)
|
|
echo "Usage: chat {start|stop|restart}" >&2
|
|
exit 3
|
|
;;
|
|
esac
|
|
|
|
exit 0 |