version 1.109, 1999/09/04 21:07:23 |
version 1.110, 1999/09/04 21:30:49 |
|
|
fi |
fi |
|
|
# vi file recovery |
# vi file recovery |
if [ ! -d /var/tmp/vi.recover ]; then |
vidir=/var/tmp/vi.recover |
if [ -e /var/tmp/vi.recover ]; then |
if [ -L $vidir ]; then |
echo "Warning! /var/tmp/vi.recover is not a directory!" |
echo "Warning! $vidir is a symbolic link! (ignoring)" |
else |
elif [ ! -O $vidir ]; then |
mkdir /var/tmp/vi.recover |
echo "Warning! $vidir is not owned by root! (ignoring)" |
chmod 1777 /var/tmp/vi.recover |
elif [ ! -d $vidir -a -e $vidir ]; then |
|
echo "Warning! $vidir is not a directory! (ignoring)" |
|
elif [ ! -d $vidir ]; then |
|
mkdir $vidir |
|
chmod 1777 $vidir |
|
else |
|
vibackup=$vidir/vi.* |
|
if [ "$vibackup" != "$vidir/vi.*" ]; then |
|
for i in $vibackup; do |
|
# Unmodified vi editor backup files either have the |
|
# execute bit set or are zero length. Delete them. |
|
# Anything that is not a normal file gets deleted too. |
|
if [ -x $i -o ! -s $i -o ! -f $i ]; then |
|
rm $i |
|
fi |
|
done |
fi |
fi |
fi |
virecovery=$vidir/recover.* |
vibackup=/var/tmp/vi.recover/vi.* |
if [ "$virecovery" != "$vidir/recover.*" ]; then |
if [ "$vibackup" != "/var/tmp/vi.recover/vi.*" ]; then |
echo preserving editor files |
for i in $vibackup; do |
for i in $virecovery; do |
# Unmodified vi editor backup files either have the |
# Delete any recovery files that are zero length, |
# execute bit set or are zero length. Delete them. |
# corrupted, # or that have no corresponding backup |
# Anything that is not a normal file gets deleted too. |
# file. Else send mail to the user. |
if [ -x $i -o ! -s $i -o ! -f $i ]; then |
if [ -f $i ]; then |
rm $i |
r=`awk '/^X-vi-recover-path:/{print $2}' < $i` |
fi |
if [ -n "$r" -a -s "$r" ]; then |
done |
sendmail -t < $i |
fi |
else |
virecovery=/var/tmp/vi.recover/recover.* |
rm $i |
if [ "$virecovery" != "/var/tmp/vi.recover/recover.*" ]; then |
fi |
echo preserving editor files |
|
for i in $virecovery; do |
|
# Delete any recovery files that are zero length, corrupted, |
|
# or that have no corresponding backup file. Else send mail |
|
# to the user. |
|
if [ -f $i ]; then |
|
recfile=`awk '/^X-vi-recover-path:/{print $2}' < $i` |
|
if [ -n "$recfile" -a -s "$recfile" ]; then |
|
sendmail -t < $i |
|
else |
else |
rm $i |
rm $i |
fi |
fi |
else |
done |
rm $i |
fi |
fi |
|
done |
|
fi |
fi |
|
|
if [ -f /var/account/acct ]; then |
if [ -f /var/account/acct ]; then |