mirror of
https://github.com/opnsense/src.git
synced 2026-04-25 16:18:54 -04:00
Users with a tmpfs /var/run will lose the directory tree state of /var/run at reboot. This rc script will optionally (by default) capture the state of the directory structure in /var/run prior to shutdown and recreate it at system boot. Alternatively a user can save the state of the /var/run directories manually using service var_run save and disable the autosaving of /var/run state using the var_run_autosave variable, for those paranoid SSD users. PR: 259585, 259699 Reported by: freebsd@walstatt-de.de, Reviewed by: philip, gbe (previous version) MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D36386
47 lines
869 B
Bash
Executable file
47 lines
869 B
Bash
Executable file
#!/bin/sh
|
|
|
|
# PROVIDE: var_run
|
|
# REQUIRE: mountcritlocal
|
|
# BEFORE: cleanvar
|
|
|
|
. /etc/rc.subr
|
|
|
|
name=var_run
|
|
rcvar=var_run_enable
|
|
extra_commands="load save"
|
|
start_cmd="_var_run_start"
|
|
load_cmd="_var_run_load"
|
|
save_cmd="_var_run_save"
|
|
stop_cmd="_var_run_stop"
|
|
|
|
load_rc_config $name
|
|
|
|
# Set defaults
|
|
: ${var_run_enable:="NO"}
|
|
: ${var_run_mtree:="/var/db/mtree/BSD.var-run.mtree"}
|
|
: ${var_run_autosave:="YES"}
|
|
|
|
_var_run_load() {
|
|
test -f ${var_run_mtree} &&
|
|
mtree -U -i -q -f ${var_run_mtree} -p /var/run > /dev/null
|
|
}
|
|
|
|
_var_run_save() {
|
|
if [ ! -d $(dirname ${var_run_mtree}) ]; then
|
|
mkdir -p ${var_run_mtree}
|
|
fi
|
|
mtree -dcbj -p /var/run > ${var_run_mtree}
|
|
}
|
|
|
|
_var_run_start() {
|
|
df -ttmpfs /var/run > /dev/null 2>&1 &&
|
|
_var_run_load
|
|
}
|
|
|
|
_var_run_stop() {
|
|
df -ttmpfs /var/run > /dev/null 2>&1 &&
|
|
checkyesno var_run_autosave &&
|
|
_var_run_save
|
|
}
|
|
|
|
run_rc_command "$1"
|