Deleted Added
full compact
virecover (124616) virecover (124622)
1#!/bin/sh
2#
3# $NetBSD: virecover,v 1.6 2002/03/22 04:34:00 thorpej Exp $
1#!/bin/sh
2#
3# $NetBSD: virecover,v 1.6 2002/03/22 04:34:00 thorpej Exp $
4# $FreeBSD: head/etc/rc.d/virecover 124616 2004-01-17 10:16:38Z mtm $
4# $FreeBSD: head/etc/rc.d/virecover 124622 2004-01-17 10:59:43Z mtm $
5#
6
7# PROVIDE: virecover
8# REQUIRE: mountcritremote ldconfig
9# BEFORE: DAEMON
10# KEYWORD: FreeBSD
11#
12# XXX: should require `mail'!
13
14. /etc/rc.subr
15
16name="virecover"
17stop_cmd=":"
5#
6
7# PROVIDE: virecover
8# REQUIRE: mountcritremote ldconfig
9# BEFORE: DAEMON
10# KEYWORD: FreeBSD
11#
12# XXX: should require `mail'!
13
14. /etc/rc.subr
15
16name="virecover"
17stop_cmd=":"
18start_cmd="virecover_start"
18
19
19case ${OSTYPE} in
20FreeBSD)
21 start_cmd="virecover_start"
22 ;;
23NetBSD)
24 command="/usr/libexec/${name}"
25 ;;
26esac
27
28virecover_start()
29{
30 [ -d /var/tmp/vi.recover ] || return
31 find /var/tmp/vi.recover ! -type f -a ! -type d -delete
32 vibackup=`echo /var/tmp/vi.recover/vi.*`
33 if [ "${vibackup}" != '/var/tmp/vi.recover/vi.*' ]; then
34 echo -n 'Recovering vi editor sessions:'
35 for i in /var/tmp/vi.recover/vi.*; do
36 # Only test files that are readable.
37 if [ ! -r "${i}" ]; then
38 continue
39 fi
40
41 # Unmodified nvi editor backup files either have the
42 # execute bit set or are zero length. Delete them.
43 if [ -x "${i}" -o ! -s "${i}" ]; then
44 rm -f "${i}"
45 fi
46 done
47
48 # It is possible to get incomplete recovery files, if the editor
49 # crashes at the right time.
50 virecovery=`echo /var/tmp/vi.recover/recover.*`
51 if [ "${virecovery}" != "/var/tmp/vi.recover/recover.*" ]; then
52 for i in /var/tmp/vi.recover/recover.*; do
53 # Only test files that are readable.
54 if [ ! -r "${i}" ]; then
55 continue
56 fi
57
58 # Delete any recovery files that are zero length,
59 # corrupted, or that have no corresponding backup file.
60 # Else send mail to the user.
61 recfile=`awk '/^X-vi-recover-path:/{print $2}' < "${i}"`
62 if [ -n "${recfile}" -a -s "${recfile}" ]; then
63 sendmail -t < "${i}"
64 else
65 rm -f "${i}"
66 fi
67 done
68 fi
69 echo '.'
70 fi
71}
72
73load_rc_config $name
74run_rc_command "$1"
20virecover_start()
21{
22 [ -d /var/tmp/vi.recover ] || return
23 find /var/tmp/vi.recover ! -type f -a ! -type d -delete
24 vibackup=`echo /var/tmp/vi.recover/vi.*`
25 if [ "${vibackup}" != '/var/tmp/vi.recover/vi.*' ]; then
26 echo -n 'Recovering vi editor sessions:'
27 for i in /var/tmp/vi.recover/vi.*; do
28 # Only test files that are readable.
29 if [ ! -r "${i}" ]; then
30 continue
31 fi
32
33 # Unmodified nvi editor backup files either have the
34 # execute bit set or are zero length. Delete them.
35 if [ -x "${i}" -o ! -s "${i}" ]; then
36 rm -f "${i}"
37 fi
38 done
39
40 # It is possible to get incomplete recovery files, if the editor
41 # crashes at the right time.
42 virecovery=`echo /var/tmp/vi.recover/recover.*`
43 if [ "${virecovery}" != "/var/tmp/vi.recover/recover.*" ]; then
44 for i in /var/tmp/vi.recover/recover.*; do
45 # Only test files that are readable.
46 if [ ! -r "${i}" ]; then
47 continue
48 fi
49
50 # Delete any recovery files that are zero length,
51 # corrupted, or that have no corresponding backup file.
52 # Else send mail to the user.
53 recfile=`awk '/^X-vi-recover-path:/{print $2}' < "${i}"`
54 if [ -n "${recfile}" -a -s "${recfile}" ]; then
55 sendmail -t < "${i}"
56 else
57 rm -f "${i}"
58 fi
59 done
60 fi
61 echo '.'
62 fi
63}
64
65load_rc_config $name
66run_rc_command "$1"