1 #!/bin/sh
   2 #
   3 # CDDL HEADER START
   4 #
   5 # The contents of this file are subject to the terms of the
   6 # Common Development and Distribution License, Version 1.0 only
   7 # (the "License").  You may not use this file except in compliance
   8 # with the License.
   9 #
  10 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  11 # or http://www.opensolaris.org/os/licensing.
  12 # See the License for the specific language governing permissions
  13 # and limitations under the License.
  14 #
  15 # When distributing Covered Code, include this CDDL HEADER in each
  16 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  17 # If applicable, add the following below this CDDL HEADER, with the
  18 # fields enclosed by brackets "[]" replaced with your own identifying
  19 # information: Portions Copyright [yyyy] [name of copyright owner]
  20 #
  21 # CDDL HEADER END
  22 #
  23 # Copyright (c) 1993 by Sun Microsystems, Inc.
  24 
  25 #ident  "%Z%%M% %I%     %E% SMI"
  26 #
  27 # Check shared NFS filesystems for .nfs* files that 
  28 # are more than a week old.
  29 #
  30 # These files are created by NFS clients when an open file
  31 # is removed. To preserve some semblance of Unix semantics
  32 # the client renames the file to a unique name so that the
  33 # file appears to have been removed from the directory, but
  34 # is still usable by the process that has the file open.
  35 
  36 if [ ! -s /etc/dfs/sharetab ]; then exit ; fi
  37 
  38 # Get all NFS filesystems exported with read-write permission.
  39 
  40 DIRS=`/usr/bin/nawk '($3 != "nfs") { next }
  41         ($4 ~ /^rw$|^rw,|^rw=|,rw,|,rw=|,rw$/) { print $1; next }
  42         ($4 !~ /^ro$|^ro,|^ro=|,ro,|,ro=|,ro$/) { print $1 }' /etc/dfs/sharetab`
  43 
  44 for dir in $DIRS
  45 do
  46         find $dir -type f -name .nfs\* -mtime +7 -mount -exec rm -f {} \;
  47 done