#!/bin/bash server_name="/usr/bin/myserver" log_path="/var/log/myserver.log" pid_file="/var/run/myserver.pid" ip=127.0.0.1 # default ip port=80 # default port cmd= case $1 in start) { echo "Starting server..." cmd="start" } ;; stop) { echo "Stopping server..." cmd="stop" } ;; *) ( echo "Usage: $0 start|stop options" echo "Options: ip, port" ) ;; esac if [[ "$cmd" == "" ]]; then exit 1 fi shift TEMP=`getopt -o i:p: --long ip:,port: -- "$@"` # Note the quotes around `$TEMP': they are essential! eval set -- "$TEMP" while true ; do case "$1" in -i|--ip) ip=$2 ; echo "ip=$ip" ; shift 2 ;; -p|--port) port=$2 ; echo "port=$port" ; shift 2 ;; --) shift ; break ;; *) echo "Internal error!" ; exit 1 ;; esac done if [[ "$cmd" == "start" ]]; then $myserver $pid_file $ip $port $log_path # в зависимости от интерфейса сервера if [[ "$?" == "0" ]]; then echo "Start SUCCESS =)" else echo "Start FAILED =(" fi else if [[ "$cmd" == "stop" ]]; then pid=`cat $pid_file` kill -s INT "${pid}" echo "Server has stopped" fi fi