[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Script Bash



<man du>
       du - estimate file space usage
</man du>

Le script suivant realise tout ce dont tu as besoin. Tu lui donnes comme
argument d'entree le nom du directory (dirA) dans lequel se trouve les
directory des utilisateurs. Le script parcourt chacun des repertoire de dirA et
si un de ses repertoires fait plus de 10M, il envoit un mail a l'owner.
<exemple>
	-rw-r--r--   1 gregoire users     3333758 Feb  1 23:41 pine4.33.tar.gz
	               ^^^^^^^^ 
</exemple>

Quelques adaptations sont sans doute a effectuer (notemment le contenu du
mail) mais le principe est la.

<script du2mail.sh>

#!/bin/sh
# test if we have at least one argument
test $# -eq 0 && echo "arg 1 must be a directory" && exit -1

#test if arg 1 is a directory
test -d $1 || (echo "arg 1 must be a directory" && exit -1

# for each entry in the directory
for DIR in `ls $1`
do
	# get the size of the directory contents in kylobyte
	SIZE=`du -sk $1/$DIR 2>/dev/null | cut -f1 -d'	'`
	# si SIZE > 10M
	if test $SIZE -gt 10240; then
		# recupere le owner du directory
		OWNER=`ls -ld $1/$DIR | awk '{print $3}' `
		# affiche un message adequat sur stdout
		echo "sending mail to $OWNER"
		# construit le mail.
		cat << _EOF_ | mail -s "subject here" $OWNER
le body du message vient ici.

Par exemple: 
		cher $OWNER,

		$DIR est superieur a 10M
		veuillez faire le necessaire

		salutations
		Root of all evils
_EOF_
	fi 
done

</script du2mail.sh>



<exemple de l'output du mail>

>From root  Fri Jul  6 02:10:30 2001
Return-Path: <root>
Received: (from root@localhost)
	by hebus.welraeds.be (8.9.3/8.9.3/Debian 8.9.3-21) id CAA01256
	for root; Fri, 6 Jul 2001 02:10:29 +0200
Date: Fri, 6 Jul 2001 02:10:29 +0200
From: root <root>
Message-Id: <200107060010.CAA01256@hebus.welraeds.be>
To: root
Subject: subject here
Status: O

le body du message vient ici.

Par exemple: 
		cher root,

		var est superieur a 10M
		veuillez faire le necessaire

		salutations
		Root of all evils

</exemple de l'output du mail>

--
Life is hard but the root password helps.
		-- Anonymous

Gregoire Welraeds
<gregoire (at) welraeds (dot) be>





Reply to: