]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - etc/rc.d/bgfsck
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / etc / rc.d / bgfsck
1 #!/bin/sh
2 #
3 # $FreeBSD$
4 #
5
6 # PROVIDE: bgfsck
7 # REQUIRE: cron devfs syslogd
8 # KEYWORD: nojail
9
10 . /etc/rc.subr
11
12 name="background-fsck"
13 rcvar="background_fsck"
14 start_cmd="bgfsck_start"
15 stop_cmd=":"
16
17 bgfsck_start()
18 {
19         if [ -z "${rc_force}" ]; then
20                 background_fsck_delay=${background_fsck_delay:-0}
21         else
22                 background_fsck_delay=0
23         fi
24         if [ ${background_fsck_delay} -lt 0 ]; then
25                 echo "Background file system checks delayed indefinitely"
26                 return 0
27         fi
28
29         bgfsck_msg='Starting background file system checks'
30         if [ "${background_fsck_delay}" -gt 0 ]; then
31                 bgfsck_msg="${bgfsck_msg} in ${background_fsck_delay} seconds"
32         fi
33         if [ -z "${rc_force}" ]; then
34                 check_startmsgs && echo "${bgfsck_msg}."
35         fi
36
37         (sleep ${background_fsck_delay}; nice -4 fsck -B -p) 2>&1 | \
38             logger -p daemon.notice -t fsck &
39 }
40
41 load_rc_config $name
42 run_rc_command "$1"