home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / tls / tls011.1.Z / tls011.1 / usr / mmdf / bin / cleanlck next >
Encoding:
Text File  |  1991-10-25  |  1.8 KB  |  103 lines

  1. # @(#) cleanlck.sh 23.2 91/09/09 SCOCAN
  2. #
  3. # Copyright 1990 The Santa Cruz Operation, Inc
  4. #        All Rights Reserved
  5. #
  6.  
  7. #
  8. # Clean up lockfiles
  9. #
  10.  
  11. echo "Cleaning mail locks...\c"
  12.  
  13. TAILOR=/usr/mmdf/mmdftailor
  14. PASSWD=/etc/passwd
  15.  
  16. #
  17. # Get some info out of the tailor file: MDLVRDIR, MMBXNAME, MLCKTYPE,
  18. # MTBLDIR, MQUEDIR
  19. #
  20.  
  21. eval `nawk '
  22. $1 ~ /^[Mm][Dd][Ll][Vv][Rr][Dd][Ii][Rr]$/ {
  23.     gsub("\"", "", $2)
  24.     printf("MDLVRDIR=\"%s\"\n", $2)
  25. }
  26. $1 ~ /^[Mm][Mm][Bb][Xx][Nn][Aa][Mm][Ee]$/ {
  27.     gsub("\"", "", $2)
  28.     printf("MMBXNAME=\"%s\"\n", $2)
  29. }
  30. $1 ~ /^[Mm][Ll][Cc][Kk][Tt][Yy][Pp][Ee]$/ {
  31.     gsub("\"", "", $0)
  32.     printf("MLCKTYPE=\"%s\"\n", $0)
  33. }
  34. $1 ~ /^[Mm][Tt][Bb][Ll][Dd][Ii][Rr]$/ {
  35.     gsub("\"", "", $2)
  36.     printf("MTBLDIR=\"%s\"\n", $2)
  37. }
  38. $1 ~ /^[Mm][Qq][Uu][Ee][Dd][Ii][Rr]$/ {
  39.     gsub("\"", "", $2)
  40.     printf("MLCKTYPE=\"%s\"\n", $2)
  41. }' $TAILOR`
  42.  
  43. MDLVRDIR=${MDLVRDIR:-/usr/spool/mail}
  44. MLCKTYPE=${MLCKTYPE:-"advisory xenix v7"}
  45. MTBLDIR=${MTBLDIR:-/usr/mmdf/table}
  46. MQUEDIR=${MQUEDIR:-/usr/spool/mmdf/lock/home}
  47.  
  48. #
  49. # Remove XENIX-style locks in /tmp
  50. #
  51.  
  52. case "$MLCKTYPE" in
  53. *[Xx][Ee][Nn][Ii][Xx]*)
  54.     echo "XENIX-style locks...\c"
  55.     rm -f /tmp/*.mlk
  56.     ;;
  57. esac
  58.  
  59. #
  60. # Remove v7 style locks wherever
  61. #
  62.  
  63. case "$MLCKTYPE" in
  64. *[Vv]7*)
  65. echo "V7-style locks...\c"
  66.  
  67. #
  68. # Remove mailbox locks
  69. #
  70.  
  71. awk -F: '{ print $1, $6 }' $PASSWD |
  72. while read user home ; do
  73.     dir=${MDLVRDIR:-$home}
  74.     if [ "$dir" = "/" ] ; then
  75.         dir=            # Prevents "//mbox.lck" for Micnet
  76.     fi
  77.     mbox=${MMBXNAME:-$user}
  78.     lock=${mbox}.lck
  79.     choplock=`expr "$lock" : '^\(..............\).*'`
  80.     chopmbox=`expr "$mbox" : '^\(..............\).*'`
  81.  
  82.     if [ "$choplock" != "${chopmbox:-$mbox}" ] ; then
  83.         rm -f $dir/$lock
  84.         if [ -n "$choplock" ] ; then
  85.             rm -f $dir/$choplock
  86.         fi
  87.     fi
  88. done
  89.  
  90. #
  91. # Remove system locks
  92. #
  93.  
  94. rm -f $MTBLDIR/mmdfdbm.lck.lck $MTBLDIR/mmdfdbm.lck.lc
  95. ( cd $MQUEDIR ; rm -f */msg.*.l* )
  96.     
  97. ;;
  98. esac
  99.  
  100. echo "done."
  101.  
  102. exit
  103.