#!/bin/bash # SVC - SV Commander - frontend for the sv command ############################################################################################### ## Copyright (c) 2015, Justin Moore ## ## Permission to use, copy, modify, and/or distribute this software ## for any purpose with or without fee is hereby granted, ## provided that the above copyright notice and this permission notice appear in all copies. ## ## THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES ## WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY ## AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, ## OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, ## WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ## ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ############################################################################################## RED='\033[0;31m' LRED="\033[1;31m" BLUE="\033[0;34m" LBLUE="\033[1;34m" GREEN="\033[0;32m" LGREEN="\033[1;32m" YELLOW="\033[1;33m" CYAN="\033[0;36m" LCYAN="\033[1;36m" PURPLE="\033[0;35m" LPURPLE="\033[1;35m" BWHITE="\e[1m" NC='\033[0m' # No Color case $1 in link | --link-service ) ln -v -s /etc/sv/$2 /var/service/ ;; unlink | --remove-service ) rm -v /var/service/$2 ;; linked | --linked-services ) cd /etc/sv && find -xtype l -exec ls -l {} \; ;; list | ls | --list ) echo echo -e "${LGREEN}Contents of /etc/sv/${NC}\n" ls /etc/sv echo echo -e "${LCYAN}Contents of /var/service${NC}\n" echo ls /var/service echo ;; up ) sv s /var/service/* ;; start ) sv start "${2}" ;; restart ) sv restart "${2}" ;; stop ) sv stop "${2}" ;; --help | -h | help ) echo echo " sc - Service Commander - frontend for the sv command" echo echo " Usage: sc link | unlink | linked | list | up | start | restart | stop " echo echo echo " For detailed help, see the commands below:" echo echo echo " help-all" echo " help-link" echo " help-unlink" echo " help-linked" echo " help-list" echo " help-up" echo " help-start" echo " help-restart" echo " help-stop" echo ;; help-link ) echo echo "link : Creates a symlink from /etc/sv/ -> /var/service/" echo ;; help-unlink ) echo echo "unlink : Removes symlink from /etc/sv/ -> /var/service/" echo ;; help-linked ) echo echo "linked : Lists all symlinked items in /etc/sv" echo ;; help-list ) echo echo "list : List the contents of /etc/sv and /var/service" echo ;; help-up ) echo echo "up : Lists all currently running services" echo ;; help-start ) echo echo "start : Uses the 'sv' command to start a service" echo ;; help-restart ) echo echo "restart : Uses the 'sv' command to restart a service" echo ;; help-stop ) echo echo "stop : Uses the 'sv' command to stop a service" echo ;; help-all ) echo echo "link : Creates a symlink from /etc/sv/ -> /var/service/" echo "unlink : Removes symlink from /etc/sv/ -> /var/service/" echo "linked : Lists all symlinked items in /etc/sv" echo "list : List the contents of /etc/sv and /var/service" echo "up : Lists all currently running services" echo "start : Uses the 'sv' command to start a service" echo "restart : Uses the 'sv' command to restart a service" echo "stop : Uses the 'sv' command to stop a service" echo ;; *) echo echo " sc - Service Commander - frontend for the sv command" echo echo " Usage: sc link | unlink | linked | list | up | start | restart | stop " echo echo echo " For detailed help, see the commands below:" echo echo echo " help-all" echo " help-link" echo " help-unlink" echo " help-linked" echo " help-list" echo " help-up" echo " help-start" echo " help-restart" echo " help-stop" echo ;; esac