xref: /illumos-gate/usr/src/cmd/fs.d/nfs/nfsfind/nfsfind.sh (revision 52244c0958bdf281ca42932b449f644b4decfdc2)
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
36if [ ! -s /etc/dfs/sharetab ]; then exit ; fi
37
38# Get all NFS filesystems exported with read-write permission.
39
40DIRS=`/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
44for dir in $DIRS
45do
46        find $dir -type f -name .nfs\* -mtime +7 -mount -exec rm -f {} \;
47done
48