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"
|