Contents of /trunk/openvpn/openvpn.rc
Parent Directory | Revision Log
Revision 366 -
(show annotations)
(download)
Fri Sep 28 16:05:44 2007 UTC (17 years ago) by niro
File size: 2680 byte(s)
Fri Sep 28 16:05:44 2007 UTC (17 years ago) by niro
File size: 2680 byte(s)
-added rc script
1 | #!/bin/bash |
2 | # $Header: /root/magellan-cvs/src/openvpn/openvpn.rc,v 1.1 2007-09-28 16:05:44 niro Exp $ |
3 | |
4 | #%rlevels: 3:s 4:s 5:s 0:k 1:k 2:k 6:k |
5 | #%start: 24 |
6 | #%stop: 76 |
7 | |
8 | #deps |
9 | #%needs: |
10 | #%before: |
11 | #%after: |
12 | |
13 | source /etc/sysconfig/rc |
14 | source $rc_functions |
15 | |
16 | # Lockfile |
17 | lock="/var/lock/openvpn" |
18 | |
19 | # PID directory |
20 | piddir="/var/run/openvpn" |
21 | |
22 | # config directory |
23 | configdir="/etc/openvpn" |
24 | |
25 | case "$1" in |
26 | start) |
27 | echo -e ${COLOREDSTAR}"Starting OpenVPN: " |
28 | |
29 | # load neccessary tun module |
30 | modprobe tun >/dev/null 2>&1 |
31 | |
32 | # Run startup script, if defined |
33 | if [ -x ${configdir}/opnvpn-startup ] |
34 | then |
35 | echo " Running startup script ... " |
36 | ${configdir}/openvpn-startup |
37 | fi |
38 | |
39 | [ ! -d ${piddir} ] && install -d ${piddir} |
40 | |
41 | rm -f ${piddir}/*.pid |
42 | |
43 | # Start every .conf in /etc/openvpn and run .sh if exists |
44 | for config in ${configdir}/*.conf |
45 | do |
46 | echo " Starting server for ${config} ... " |
47 | |
48 | basename=$(basename ${config} .conf) |
49 | # running user script |
50 | if [[ -f ${configdir}/${basename}.sh ]] |
51 | then |
52 | echo " Running user-defined script for ${config} ... " |
53 | source ${configdir}/${basename}.sh |
54 | evaluate_retval |
55 | fi |
56 | |
57 | rm -f ${piddir}/${basename}.pid |
58 | |
59 | start-stop-daemon --start --exec /usr/sbin/openvpn \ |
60 | --pidfile ${piddir}/${basename}.pid -- \ |
61 | --daemon --writepid ${piddir}/${basename}.pid \ |
62 | --config ${config} --cd ${configdir} |
63 | evaluate_retval |
64 | done |
65 | |
66 | update_svcstatus $1 |
67 | splash svc_started "$(basename $0)" 0 |
68 | ;; |
69 | |
70 | stop) |
71 | echo -e ${COLOREDSTAR}"Stopping OpenVPN:" |
72 | |
73 | for pidfile in ${piddir}/*.pid |
74 | do |
75 | basename=$(basename ${pidfile} .pid) |
76 | |
77 | echo " Stopping server for ${configdir}/${basename}.conf ... " |
78 | start-stop-daemon --stop --exec /usr/sbin/openvpn --pidfile ${pidfile} |
79 | evaluate_retval |
80 | done |
81 | |
82 | # Run shutdown script, if defined |
83 | if [[ -x ${configdir}/openvpn-shutdown ]] |
84 | then |
85 | echo " Running shutdown script ... " |
86 | ${configdir}/openvpn-shutdown |
87 | evaluate_retval |
88 | fi |
89 | |
90 | update_svcstatus $1 |
91 | splash svc_stopped "$(basename $0)" 0 |
92 | ;; |
93 | |
94 | restart) |
95 | $0 stop |
96 | sleep 2 |
97 | $0 start |
98 | ;; |
99 | |
100 | reload) |
101 | for pidfile in ${piddir}/*.pid |
102 | do |
103 | basename=$(basename ${pidfile} .pid) |
104 | |
105 | echo " Reloading server for ${configdir}/${basename}.conf ... " |
106 | kill -HUP $(< ${pidfile}) >/dev/null 2>&1 |
107 | evaluate_retval |
108 | done |
109 | ;; |
110 | |
111 | reopen) |
112 | for pidfile in ${piddir}/*.pid |
113 | do |
114 | basename=$(basename ${pidfile} .pid) |
115 | |
116 | echo " Reopen server for ${configdir}/${basename}.conf ... " |
117 | kill -USR1 $(< ${pidfile}) >/dev/null 2>&1 |
118 | evaluate_retval |
119 | done |
120 | ;; |
121 | |
122 | status) |
123 | statusproc /usr/sbin/openvpn |
124 | ;; |
125 | |
126 | *) |
127 | echo "Usage: openvpn {start|stop|restart|reload|reopen|status}" |
128 | exit 1 |
129 | ;; |
130 | esac |
131 | |
132 | exit 0 |