Newsgroup: it.comp.os.linux.software
Titolo: occupazione dir

Ciao ragazzi, vi espongo il mio problema nella speranza che mi possiate
aiutare.
Uso una red hat, e a me servirebbe qualche cosa che, nel momento in cui la
dimensione di una dir ecceda un valore dato, inviasse una e-mail di
notifica; sapete dirmi come fare o dove trovare qualche cosa.....
un saluto a tutti

 writes:
confuso> Ciao ragazzi, vi espongo il mio problema nella speranza che
confuso> mi possiate aiutare.  Uso una red hat, e a me servirebbe
confuso> qualche cosa che, nel momento in cui la dimensione di una dir
confuso> ecceda un valore dato, inviasse una e-mail di notifica;
confuso> sapete dirmi come fare o dove trovare qualche cosa.....
Se hai già escluso quota, potresti accontentarti di bash (o altro
codice). 
Se invece chiarisci quello che ti serve _realmente_, magari si può
anche indirizzarti un po' meglio.
Salutos
Marcos

 anche indirizzarti un po' meglio.
Ti spiego, io vorrei sapere quando un mio utente eccede lo spazio messo lui
a disposizione in una determinata dir.
Per esempio, se ad <amico1> metto a disposizione una dir di 100mb, vorrei
sapere quando <amico1> supera tale limite.
Diciamo che l'email dovrebbe arrivare ad un indirizzo tipo 
no...@dominio.com
o, se più semplice, alla casella di <root>
Non so, a me non sembra una cosa complicata ma come dice il mio nik.....sono
confuso :-))
Ciao

 mail standard che hai precedentemente preparato.
Ok, detto così pare facile ma....non per me :-(
In realtà io cercavo uno script di già fatto.....

In un messaggio del Thu, 28 Mar 2002 17:52:43 GMT confuso scriveva:

Strano ma vero, si chiama disk quota ed esiste su tutti gli UNIX (Linux
incluso): devi includere il supporto nel kernel e ricompilare.
-- 
Pierluigi De Rosa (
tho...@durin.khazad-dum.net
).
<<      LINUX: the choice of a GNU generation     >>
<<   For my real address... ask the Balrog.       >>
* Sostenete la Lega per la Soppressione dei Troll *

 sapere quando <amico1> supera tale limite.
...
Alternativa a quanto gia' detto:
du schedulato da cron
-- 
  Giuseppe "Cowo" Corbelli \/\ My software: 
http://cowo.yoda2000.net
    **ANTI-SPAM** -- **Substitute IHATESPAM with cowo to reply by mail**
  -<! Adding features does not necessarily increase functionality -- it just
		makes the manuals thicker. !>-


Diciamo che tu sei uno che si accontenta di poco , vero ? :-)
Bhe' , se funziona mandami 1000 euro ;-) :
#!/bin/sh
if [ `du -s $1` | cut -f 1` -gt $2 ]
  then
    echo "HA FORATOOOO" | mailto root -s "Attensione, please..." ;
fi
Copialo in un file , rendilo eseguibile , lancialo con due parametri.
Il primo indica la directory su cui fare il controllo  , il secondo
il numero di byte da non sforare .
Non sono del tutto sicuro della sintassi di mailto , fai attenzione
ad usare apici inversi nella riga con l'if ...
Ciao

 il numero di byte da non sforare .
Ok, io ho creato un file (quota.sh ) ed ho impostato chmod 755.
Senza che perdi la pazienza....come si fa a 'lanciarlo con i due parametri'
? Non li devo inserire nello script?
Grazie

Ho provato cosě:
#!/bin/sh
set maxusage = 500
set dir = `cd /home/dir`
if [ `du -s $1` | cut -f 1` -gt $2 ]
  then
    echo "HA FORATOOOO" | mailto root -s "Attensione, please..." ;
fi
E' corretto?
Ricevo questo errore:
unexpected EOF while looking for ``'


eh eh eh , non sei messo tanto bene a script bash , vero ? :-)
comunque , posto che la dir che vuoi monitorare sia /home/pippo/Mail e
che non deve essere piu' grande di 1 k , ovvero 1024 byte :
./quota.sh /home/pippo/Mail 1024
Consiglio spassionato : cerca qualcosa sulla programmazione bash ,
e' semplice e da molte soddisfazioni.
Ordine perentorio : vai su .iniziare che qui' sei OT
Ciao

 Ordine perentorio : vai su .iniziare che qui' sei OT
Roger :-))
Ciao e grazie ancora per la pazienza

 /bin/sh: ./home/quota.sh: No such file or directory
1) hai lanciato lo script indicando l'intero path (o inserendo,
   davanti al nome dello script, ./ )?
2) prova ha lanciare lo script in questo modo: sh -x nomescript
3) molto probabilmente vi e` un errore nello script, in quanto,
   nell'impostazione della condizione, c'e` un apice inverso in
   piu`. Per farti capire, questo e` lo script come ti e` stato
   suggerito:
 
#!/bin/sh
if [ `du -s $1` | cut -f 1` -gt $2 ]
then
 echo "HA FORATOOOO" | mailto root -s "Attensione, please..." ;
fi
mentre dovrebbe essere:
#!/bin/sh
if [ `du -s $1 | cut -f 1` -gt $2 ]
then
 echo "HA FORATOOOO" | mailto root -s "Attensione, please..." ;
fi
Henryx

 E' corretto?
E` inutile. Se non inserisci le variabili nella condizione, non
ci fai niente. Inoltre, nella dichiarazione delle variabili, il
comando set puo` essere omesso (a meno che non usi tcsh)
Henryx

> 3) molto probabilmente vi e` un errore nello script, in quanto,
Si, infatti c'era l'apice in più, ora è perfetto :-)
Ma agendo su questo script, è possibile far eseguire un controllo alle sotto
dir e trovare quella che ha ecceduto la misura massima impostata?

 dir e trovare quella che ha ecceduto la misura massima impostata?
 
Si. man du e info du per i dettagli
Henryx