脚本重启pptp nginx
参考网上的资料,结合自己的菜鸟shell水平,写了两个很垃圾的脚本,一个是重启pptp,一个重启nginx,不要说哥粗鲁哦~
nginx重启脚本
#!/bin/sh
echo "kill nginx master"
kill `cat /opt/nginx/logs/nginx.pid`
echo "restart nginx"
/opt/nginx/sbin/nginx
pptp重启
# !bin/sh
pptpd_pid=`ps x|grep "pptpd"|grep -v "grep"|awk '{print $1}'`
for pid in $pptpd_pid;
do
echo "kill pid $pid start"
kill -9 $pid
echo "kill pid $pid end"
done
echo "kill pptpd finished"
echo "Now Restart pptpd"
pptpd start
3-15:今天才发现,pptpd有自带的重启脚本,悲剧拉,才发现。在安装目录下有个:pptpd.init文件,里面有pptpd的重启脚本,把它cp到/etc/init.d/下面,mv为pptpd。然后可以直接用service调用啦,很强大的说。
哈哈,现在看来,这两个脚本是真垃圾,贴两个从网上找的完美脚本
pptp restart:
#!/bin/sh
#
# Startup script for pptpd
#
# chkconfig: - 85 15
# description: PPTP server
# processname: pptpd
# config: /etc/pptpd.conf
# Source function library.
. /etc/rc.d/init.d/functions
# See how we were called.
case "$1" in
start)
echo -n "Starting pptpd: "
if [ -f /var/lock/subsys/pptpd ] ; then
echo
exit 1
fi
daemon /usr/local/sbin/pptpd
echo
touch /var/lock/subsys/pptpd
;;
stop)
echo -n "Shutting down pptpd: "
killproc pptpd
echo
rm -f /var/lock/subsys/pptpd
;;
status)
status pptpd
;;
condrestart)
if [ -f /var/lock/subsys/pptpd ]; then
$0 stop
$0 start
fi
;;
reload|restart)
$0 stop
$0 start
echo "Warning: a pptpd restart does not terminate existing "
echo "connections, so new connections may be assigned the same IP "
echo "address and cause unexpected results. Use restart-kill to "
echo "destroy existing connections during a restart."
;;
restart-kill)
$0 stop
ps -ef | grep pptpd | grep -v grep | grep -v rc.d | awk '{print $2}' | uniq | xargs kill 1> /dev/null 2>&1
$0 start
;;
*)
echo "Usage: $0 {start|stop|restart|restart-kill|status}"
exit 1
esac
exit 0nginx redhat版本:
#!/bin/sh
#
# nginx - this script starts and stops the nginx daemin
#
# chkconfig: - 85 15
# description: Nginx is an HTTP(S) server, HTTP(S) reverse \
# proxy and IMAP/POP3 proxy server
# processname: nginx
# config: /usr/local/nginx/conf/nginx.conf
# pidfile: /usr/local/nginx/logs/nginx.pid
# Source function library.
. /etc/rc.d/init.d/functions
#-----------------------------------------
# Source networking configuration.
#. /etc/sysconfig/network
# Check that networking is up.
#[ "$NETWORKING" = "no" ] && exit 0
#-----------------------------------------
nginx="/opt/nginx/sbin/nginx"
prog=$(basename $nginx)
NGINX_CONF_FILE="/opt/nginx/conf/nginx.conf"
lockfile=/var/lock/subsys/nginx
start() {
[ -x $nginx ] || exit 5
[ -f $NGINX_CONF_FILE ] || exit 6
echo -n $"Starting $prog: "
daemon $nginx -c $NGINX_CONF_FILE
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
stop() {
echo -n $"Stopping $prog: "
killproc $prog -QUIT
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}
restart() {
configtest || return $?
stop
start
}
reload() {
configtest || return $?
echo -n $"Reloading $prog: "
killproc $nginx -HUP
RETVAL=$?
echo
}
force_reload() {
restart
}
configtest() {
$nginx -t -c $NGINX_CONF_FILE
}
rh_status() {
status $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart|configtest)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
exit 2
esacnginx ubuntu版本:
#! /bin/sh
### BEGIN INIT INFO
# Provides: nginx
# Required-Start: $local_fs $remote_fs $network $syslog
# Required-Stop: $local_fs $remote_fs $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts the nginx web server
# Description: starts nginx using start-stop-daemon
### END INIT INFO
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/opt/nginx/sbin/nginx
NAME=nginx
DESC=nginx
test -x $DAEMON || exit 0
# Include nginx defaults if available
if [ -f /etc/default/nginx ] ; then
. /etc/default/nginx
fi
set -e
. /lib/lsb/init-functions
case "$1" in
start)
echo -n "Starting $DESC: "
start-stop-daemon --start --quiet --pidfile /opt/nginx/logs/$NAME.pid \
--exec $DAEMON -- $DAEMON_OPTS || true
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
start-stop-daemon --stop --quiet --pidfile /opt/nginx/logs/$NAME.pid \
--exec $DAEMON || true
echo "$NAME."
;;
restart|force-reload)
echo -n "Restarting $DESC: "
start-stop-daemon --stop --quiet --pidfile \
/opt/nginx/logs/$NAME.pid --exec $DAEMON || true
sleep 1
start-stop-daemon --start --quiet --pidfile \
/opt/nginx/logs/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS || true
echo "$NAME."
;;
reload)
echo -n "Reloading $DESC configuration: "
start-stop-daemon --stop --signal HUP --quiet --pidfile /opt/nginx/logs/$NAME.pid \
--exec $DAEMON || true
echo "$NAME."
;;
status)
status_of_proc -p /opt/nginx/logs/$NAME.pid "$DAEMON" nginx && exit 0 || exit $?
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $NAME {start|stop|restart|reload|force-reload|status|configtest}" >&2
exit 1
;;
esac
exit 0OK。需要的结合自己的实际环境稍加修改
相关推荐
onlykg 2015-02-06
wangkeIDC 2007-10-14
小灯光环 2011-08-02
hmslucky 2011-06-18
85407718 2010-04-29
Linux 2009-02-13
周海汉的开发 2008-09-12
boante 2015-02-06
哥哥的CSDN集 2011-09-12
89421950 2011-07-15
89421950 2011-03-05
88971730 2010-01-14
hongsheyoumo 2019-06-21
86530290 2014-02-05
蜗牛Running 2013-05-23
梦想天空分外蓝 2012-07-31
violinlin 2012-05-09
86981130 2012-03-26