Shell script

snmelka Messages postés 73 Statut Membre -  
snmelka Messages postés 73 Statut Membre -
Bonjour,
Je suis débutante sur linux, aujourd'hui je cherche comment faire un scripte?

J'ai un repertoir de partage contenant des dossiers utilisateurs sans la notion de quota, je dois écrire un script qui sera lancé tous les 15jrs, qui fera un calcul d'espace utilisé par chaque utilisateur, le résultat de cet espace sera mis dans un fichier et envoyé à l'administrateur, sauf que je ne sais pas comment le construire! j'ai commencé à écrire l'idée, mais je ne sais pas en fait comment créer le premier fichier puis faire la comparaison avec celui qui sera créé 15jrs après pui faire un fichier résultat à envoyer.

Merci de votre aide,
A voir également:

2 réponses

jisisv Messages postés 3678 Statut Modérateur 934
 
J'opterais pour un scrip du genre:

johand@horus:~/src$ find . -xdev -type f -print0 | xargs --null stat -c "%n     %b      %B"| head -20
./python/mail2images.py	8	512
./python/renumber.py	8	512
./python/renumber-lome.py	8	512
./python/brol/__init__.py	8	512
./python/brol/__init__.pyc	8	512
./python/brol/__init__.pyo	8	512
./python/testbrol.py	8	512
./python/teststruct.py	8	512
./python/data	8	512
./python/pgsql/basic.py	16	512
./python/pgsql/demo1a.py	8	512
./python/pgsql/demo1b.py	8	512
./python/pgsql/demo2a.py	8	512
./python/pgsql/demo2b.py	8	512
./python/pgsql/demo.pdf	24	512
./python/lutz/dbase/browse.py	8	512
./python/lutz/dbase/dumpcast.py	8	512
./python/lutz/dbase/formgui.py	16	512
./python/lutz/dbase/formtbl.py	8	512
./python/lutz/dbase/formtbl2.py	8	512

Puis faire un pipe vers awk pour additionner les nombres de blocs utilisés
man stat
Il faudra aussi veiller aux hard lins sur ls système de fichiers exploré, s'il échet....
Tu peux ajouter une option -uid id_utilisateur à find
ou faire apparaître l'id avec stat...
Johan
1
snmelka Messages postés 73 Statut Membre 7
 
Merci pour ton aide, je ne connais pas pithon malheureusement, j'ai déjà du mal avec le shell.
Je viens de réaliser qlq chose en m'appuyant sur les cours shell et les exos corrigés,voilà ce que ca donne,
quelqu'un peut-il me le corriger?,
Merci à vous

#!/bin/sh
cd /repertoires/utilisateurs/
echo rapport_users >> message.txt
if [ -f "$1.txt.n ]
mv $1.txt $1.txt.1
n=1
while [ -f "$1.txt.n" ]
do
n=`expr $n + 1`
done
if [ -f "$1.txt.n" ]
then
mv "$1.txt.n" "$1.txt.n-1"
for i in *
do
if [ -d "$i" ]
then
`du -sm $i` >> stat.txt.n
sort -k 2 -u stat.txt.n >> /var/tmp/statn.txt
sort -k 2 -u stat.txt.n-1 >> /var/tmp/statn-1.txt
join -j 2 -a 1 /var/tmp/statn.txt /var/tmp/statn-1.txt >> message.txt | message $admin@mydomaine.com

exit

Je souhaite également envoyé ce rapport avec un sujet, corps du message, et les statistiques.

Merci
0
snmelka Messages postés 73 Statut Membre 7
 
Bonjour,

quelq'un peut m'aider?

merci
1