1 |
5b237745
|
Scott Ullrich
|
#!/bin/sh
|
2 |
8acd654a
|
Renato Botelho
|
#
|
3 |
|
|
# rc.reboot
|
4 |
|
|
#
|
5 |
|
|
# part of pfSense (https://www.pfsense.org)
|
6 |
2a2396a6
|
Renato Botelho
|
# Copyright (c) 2004-2016 Rubicon Communications, LLC (Netgate)
|
7 |
8acd654a
|
Renato Botelho
|
# All rights reserved.
|
8 |
|
|
#
|
9 |
|
|
# Redistribution and use in source and binary forms, with or without
|
10 |
|
|
# modification, are permitted provided that the following conditions are met:
|
11 |
|
|
#
|
12 |
|
|
# 1. Redistributions of source code must retain the above copyright notice,
|
13 |
|
|
# this list of conditions and the following disclaimer.
|
14 |
|
|
#
|
15 |
|
|
# 2. Redistributions in binary form must reproduce the above copyright
|
16 |
|
|
# notice, this list of conditions and the following disclaimer in
|
17 |
|
|
# the documentation and/or other materials provided with the
|
18 |
|
|
# distribution.
|
19 |
|
|
#
|
20 |
|
|
# 3. All advertising materials mentioning features or use of this software
|
21 |
|
|
# must display the following acknowledgment:
|
22 |
|
|
# "This product includes software developed by the pfSense Project
|
23 |
|
|
# for use in the pfSense® software distribution. (http://www.pfsense.org/).
|
24 |
|
|
#
|
25 |
|
|
# 4. The names "pfSense" and "pfSense Project" must not be used to
|
26 |
|
|
# endorse or promote products derived from this software without
|
27 |
|
|
# prior written permission. For written permission, please contact
|
28 |
|
|
# coreteam@pfsense.org.
|
29 |
|
|
#
|
30 |
|
|
# 5. Products derived from this software may not be called "pfSense"
|
31 |
|
|
# nor may "pfSense" appear in their names without prior written
|
32 |
|
|
# permission of the Electric Sheep Fencing, LLC.
|
33 |
|
|
#
|
34 |
|
|
# 6. Redistributions of any form whatsoever must retain the following
|
35 |
|
|
# acknowledgment:
|
36 |
|
|
#
|
37 |
|
|
# "This product includes software developed by the pfSense Project
|
38 |
|
|
# for use in the pfSense software distribution (http://www.pfsense.org/).
|
39 |
|
|
#
|
40 |
|
|
# THIS SOFTWARE IS PROVIDED BY THE pfSense PROJECT ``AS IS'' AND ANY
|
41 |
|
|
# EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
42 |
|
|
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
43 |
|
|
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE pfSense PROJECT OR
|
44 |
|
|
# ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
45 |
|
|
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
46 |
|
|
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
47 |
|
|
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
48 |
|
|
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
49 |
|
|
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
50 |
|
|
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
51 |
|
|
# OF THE POSSIBILITY OF SUCH DAMAGE.
|
52 |
1b8df11b
|
Bill Marquette
|
|
53 |
7201ca27
|
jim-p
|
if ! /usr/bin/lockf -s -t 30 /tmp/config.lock /usr/bin/true; then
|
54 |
|
|
echo "Cannot reboot at this moment, a config write operation is in progress, and 30 seconds have passed."
|
55 |
|
|
exit 1
|
56 |
57b66617
|
Scott Ullrich
|
fi
|
57 |
|
|
|
58 |
5b237745
|
Scott Ullrich
|
sleep 1
|
59 |
|
|
|
60 |
e4121dde
|
Renato Botelho
|
# Read product_name from $g, defaults to pfSense
|
61 |
|
|
product=$(/usr/local/sbin/read_global_var product_name pfSense)
|
62 |
c580e34c
|
Renato Botelho
|
|
63 |
|
|
# If PLATFORM is $product then remove
|
64 |
f921cfbb
|
Scott Ullrich
|
# temporary files on shutdown from /tmp/
|
65 |
|
|
PLATFORM=`cat /etc/platform`
|
66 |
c580e34c
|
Renato Botelho
|
if [ "$PLATFORM" = "${product}" ]; then
|
67 |
f921cfbb
|
Scott Ullrich
|
rm -rf /tmp/*
|
68 |
e92e83d4
|
jim-p
|
fi
|
69 |
|
|
|
70 |
a5c36eb2
|
Renato Botelho
|
USE_MFS_TMPVAR=$(/usr/local/sbin/read_xml_tag.sh boolean system/use_mfs_tmpvar)
|
71 |
e92e83d4
|
jim-p
|
DISK_NAME=`/bin/df /var/db/rrd | /usr/bin/tail -1 | /usr/bin/awk '{print $1;}'`
|
72 |
|
|
DISK_TYPE=`/usr/bin/basename ${DISK_NAME} | /usr/bin/cut -c1-2`
|
73 |
|
|
# If we are not on a full install, or if the full install wants RAM disks, or if the full install _was_ using RAM disks, but isn't for the next boot...
|
74 |
a5c36eb2
|
Renato Botelho
|
if [ "${PLATFORM}" != "${product}" ] || [ "${USE_MFS_TMPVAR}" = "true" ] || [ "${DISK_TYPE}" = "md" ]; then
|
75 |
bf1a013f
|
NOYB
|
/etc/rc.backup_aliastables.sh
|
76 |
ef68d19c
|
jim-p
|
/etc/rc.backup_rrd.sh
|
77 |
6b5a20ab
|
jim-p
|
/etc/rc.backup_dhcpleases.sh
|
78 |
f921cfbb
|
Scott Ullrich
|
fi
|
79 |
|
|
|
80 |
|
|
sleep 1
|
81 |
|
|
|
82 |
bf072179
|
jim-p
|
SHUTDOWN=/sbin/shutdown
|
83 |
|
|
if [ -f /sbin/shutdown.old ]; then
|
84 |
|
|
SHUTDOWN=/sbin/shutdown.old
|
85 |
|
|
fi
|
86 |
|
|
|
87 |
|
|
$SHUTDOWN -r now
|