Indice del forum Emilia Romagna Linux Users Group
i forum di ERLUG
torna alla home page di ERLUG
 
 Forum SubscriptionsForum Subscriptions   FAQFAQ   CercaCerca   Lista utentiLista utenti   GruppiGruppi   RegistratiRegistrati 
 ProfiloProfilo   Messaggi privatiMessaggi privati   Log inLog in 

/var quasi saturo
Vai a Precedente  1, 2
 
Nuovo argomento   Rispondi    Indice del forum -> ERLUG
Precedente :: Successivo  
Autore Messaggio
Fabio Muzzi
Ospite





MessaggioInviato: Ven 30 Set 2016 03:14    Oggetto: /var quasi saturo Rispondi citando

On 2016-09-29 21:53, Ulisse Monari wrote:

Citazione:
...a proposito, se find sta li ore e ore potrebbe essere una dir piena
di decine di migliaia di files minuscoli e tutto lo spazio fregato
dagli inodes di directory?

Potrebbe. in questo caso un df -i dovrebbe dirti qualcosa sul numero
eccessivo di inode in uso, direi.


_________________
Fabio "Kurgan" Muzzi

- IZ4UFQ -

La diagnosi del tecnico: E' stata inserita una password blasfema
Top
vic@erlug.linux.it
Ospite





MessaggioInviato: Ven 30 Set 2016 05:35    Oggetto: /var quasi saturo Rispondi citando

Il 29/09/2016 22:45, Fabio Muzzi ha scritto:

Citazione:
Potrebbe. in questo caso un df -i dovrebbe dirti qualcosa sul numero
eccessivo di inode in uso, direi.

non so se centrino gli inode o meno, anche perche'
df -i |grep var
mi dice
/dev/mapper/newserver-var 0 0 0 - /var

pero' ho scoperto che /var/lib/php5 e' pieno zeppo di sessions files, al
punto di non riuscire nemmeno a fare un ls -lh ne tanto meno cancellarli
con find . -name "sess_*" -print | xargs rm -v che resta appeso
all'infinito.

Adesso ho stoppato apache, rilanciato il find . -name "sess_*" -print |
xargs rm -v e domattina vedo cosa e' successo.

Strano pero' che lo script php5 in cron.d non abbia fatto il suo lavoro...

_________________
vic
Top
Fabio Muzzi
Ospite





MessaggioInviato: Ven 30 Set 2016 13:59    Oggetto: /var quasi saturo Rispondi citando

On 2016-09-30 01:05, vic@xxxxxx.xyz wrote:


Citazione:
non so se centrino gli inode o meno, anche perche'
df -i |grep var
mi dice
/dev/mapper/newserver-var 0 0 0 - /var

Ok, che file system usi?


Citazione:
pero' ho scoperto che /var/lib/php5 e' pieno zeppo di sessions files, al
punto di non riuscire nemmeno a fare un ls -lh ne tanto meno cancellarli
con find . -name "sess_*" -print | xargs rm -v che resta appeso
all'infinito.


Ok, il problema e` ovviamente quello.


Citazione:
Strano pero' che lo script php5 in cron.d non abbia fatto il suo lavoro...

Infatti, occorre capire perche`.




_________________
Fabio "Kurgan" Muzzi

- IZ4UFQ -

La diagnosi del tecnico: 56Kbps? Certo che non funziona, le linee
telefoniche al massimo possono andare a 1200 bps.
Top
vic
Ospite





MessaggioInviato: Ven 30 Set 2016 15:38    Oggetto: /var quasi saturo Rispondi citando

Il 30/09/2016 09:30, Fabio Muzzi ha scritto:
Citazione:
Citazione:
pero' ho scoperto che /var/lib/php5 e' pieno zeppo di sessions files, al
punto di non riuscire nemmeno a fare un ls -lh ne tanto meno cancellarli
con find . -name "sess_*" -print | xargs rm -v che resta appeso
all'infinito.


Ok, il problema e` ovviamente quello.

sta ancora cancellando... dall'una di ieri notte ci ha messo un'ora e
mezza prima di cominciare e da allora sfilano file sessions al ritmo di
uno al secondo.

Citazione:
Citazione:
Strano pero' che lo script php5 in cron.d non abbia fatto il suo lavoro...

Infatti, occorre capire perche`.

mah, io ho guardato il file in cron.d e gli script a cui fa riferimento
e mi paiono a posto... ma non e' che io riesca a capirci piu' di tanto.


_________________
Vic
Top
Gianluca Baù
Ospite





MessaggioInviato: Ven 30 Set 2016 15:46    Oggetto: /var quasi saturo Rispondi citando

Scusate una cosa, ma qual'è il vantaggio di usare xargs rispetto a

find ... -exec rm -v {} \;

non è che xargs bufferizza e quindi ci vuole tanto a iniziare a eliminare
una (grossa) lista di files?

-exec rm -v {} \; non iniziaerebbe subito?

Saluti

Il giorno 30 settembre 2016 11:09, vic <vic@xxxxxx.xyz> ha scritto:

Citazione:
Il 30/09/2016 09:30, Fabio Muzzi ha scritto:
Citazione:
Citazione:
pero' ho scoperto che /var/lib/php5 e' pieno zeppo di sessions files, al
punto di non riuscire nemmeno a fare un ls -lh ne tanto meno cancellarli
con find . -name "sess_*" -print | xargs rm -v che resta appeso
all'infinito.


Ok, il problema e` ovviamente quello.

sta ancora cancellando... dall'una di ieri notte ci ha messo un'ora e
mezza prima di cominciare e da allora sfilano file sessions al ritmo di
uno al secondo.

Citazione:
Citazione:
Strano pero' che lo script php5 in cron.d non abbia fatto il suo
lavoro...
Citazione:

Infatti, occorre capire perche`.

mah, io ho guardato il file in cron.d e gli script a cui fa riferimento
e mi paiono a posto... ma non e' che io riesca a capirci piu' di tanto.


--
Vic
_______________________________________________
Erlug mailing list
Erlug@xxxxxx.xyz
http://erlug.linux.it/cgi-bin/mailman/listinfo/erlug
-----------------------------------------------------------
ErLUG webzine: http://erlug.linux.it
Manuali FDL:
LinuxFacile - http://linuxfacile.medri.org/
Linux Da Zero - http://erlug.linux.it/linuxdazero/
Connettivita' offerta da Ehiweb.it - http://www.ehiweb.it/
-----------------------------------------------------------

Top
vic
Ospite





MessaggioInviato: Ven 30 Set 2016 17:21    Oggetto: /var quasi saturo Rispondi citando

Il 30/09/2016 11:16, Gianluca Baù ha scritto:
Citazione:
Scusate una cosa, ma qual'è il vantaggio di usare xargs rispetto a

find ... -exec rm -v {} \;

Parti dal presupposto che io faccio tutt'altro mestiere e che sono un
ignorante informatico, quindi non rispondo ne di quello che faccio ne di
quello che scrivo :-)

Se non ricordo male l'utilità di xargs riguarda la formattazione dei
nomi file, nel senso che anche se contengono spazi o altre cose strane
vengono passati a rm in modo che questi possa "interpretarli" correttamente.

Ma ripeto, non prenderla per buona perche' e' solo quello che io PENSO
di RICORDARE.

Per quanto riguarda il comando specifico, l'ho trovato in un thread che
parlava del metodo miglioro epr cancellare direttamente una grande mole
di file con nome simile e l'ho usata cosi' com'era.

_________________
Vic
Top
Fernando Santagata
Ospite





MessaggioInviato: Dom 02 Ott 2016 01:18    Oggetto: /var quasi saturo Rispondi citando

On Fri, Sep 30, 2016 at 12:52:53PM +0200, vic wrote:
Citazione:
Il 30/09/2016 11:16, Gianluca Baù ha scritto:
Citazione:
Scusate una cosa, ma qual'è il vantaggio di usare xargs rispetto a

find ... -exec rm -v {} \;
Se non ricordo male l'utilità di xargs riguarda la formattazione dei
nomi file, nel senso che anche se contengono spazi o altre cose strane
vengono passati a rm in modo che questi possa "interpretarli" correttamente.

Non proprio. Il --exec del find lancia una shell per ogni file trovato;
va bene quando sono pochi, ma se sono tanti, il tutto diventa lento e
pesante.

xargs invece viene lanciato una sola volta, prende i nomi dei file a
blocchi di 64K e li passa al programma.

Per evitare problemi con nomi di file strani e` meglio farli separare
con un carattere 0:

find dir -name qualcosa -print0|xargs -0 comando

A questo punto i nomi dei file possono contenere qualsiasi metacarattere
della shell, ma tanto vengono passati come flusso binario tra i due
processi.

_________________
Fernando Santagata
Jesus saves, but Buddha makes incremental backups.
Top
Massimiliano Masserelli
Ospite





MessaggioInviato: Dom 02 Ott 2016 06:36    Oggetto: /var quasi saturo Rispondi citando

Il 01/10/2016 20:47, Fernando Santagata ha scritto:
Citazione:
find dir -name qualcosa -print0|xargs -0 comando

A questo punto i nomi dei file possono contenere qualsiasi metacarattere
della shell, ma tanto vengono passati come flusso binario tra i due
processi.

Corretto ma in questo caso torni nella situazione "un processo rm
eseguito per ogni file da cancellare" che è marginalmente meglio di "una
shell che lancia rm per ogni file da cancellare" ma non poi tantissimo.
Se ragionevolmente non ci sono file cattivi (i cui nomi contengano
spazi), viene lanciato un rm per ogni "manciata" di file (quelli che ci
stanno nella command line massima eseguibile).
_________________
Massimiliano "Max Negro" Masserelli
Top
Nicola Canepa
Ospite





MessaggioInviato: Dom 02 Ott 2016 13:53    Oggetto: /var quasi saturo Rispondi citando

Alla fine, ti conviene creare una nuova dir, spostarci dentro i file rimanenti, riportare i permessi ed eliminare quella originale.
Senno' lo spazio allocato x la dir ed i tempi di accesso alla dir stessa non sono ottimali.

Nicola



Il giorno 2 Ott 2016 01:05, alle ore 01:05, Massimiliano Masserelli <negro@xxxxxx.xyz> ha scritto:
Citazione:
Il 01/10/2016 20:47, Fernando Santagata ha scritto:
Citazione:
find dir -name qualcosa -print0|xargs -0 comando

A questo punto i nomi dei file possono contenere qualsiasi
metacarattere
Citazione:
della shell, ma tanto vengono passati come flusso binario tra i due
processi.

Corretto ma in questo caso torni nella situazione "un processo rm
eseguito per ogni file da cancellare" che è marginalmente meglio di
"una
shell che lancia rm per ogni file da cancellare" ma non poi tantissimo.

Se ragionevolmente non ci sono file cattivi (i cui nomi contengano
spazi), viene lanciato un rm per ogni "manciata" di file (quelli che ci

stanno nella command line massima eseguibile).
--
Massimiliano "Max Negro" Masserelli
_______________________________________________
Erlug mailing list
Erlug@xxxxxx.xyz
http://erlug.linux.it/cgi-bin/mailman/listinfo/erlug
-----------------------------------------------------------
ErLUG webzine: http://erlug.linux.it
Manuali FDL:
LinuxFacile - http://linuxfacile.medri.org/
Linux Da Zero - http://erlug.linux.it/linuxdazero/
Connettivita' offerta da Ehiweb.it - http://www.ehiweb.it/
-----------------------------------------------------------
Top
Fernando Santagata
Ospite





MessaggioInviato: Dom 02 Ott 2016 15:54    Oggetto: /var quasi saturo Rispondi citando

On Sun, Oct 02, 2016 at 02:05:22AM +0200, Massimiliano Masserelli wrote:
Citazione:
Il 01/10/2016 20:47, Fernando Santagata ha scritto:
Citazione:
find dir -name qualcosa -print0|xargs -0 comando

A questo punto i nomi dei file possono contenere qualsiasi metacarattere
della shell, ma tanto vengono passati come flusso binario tra i due
processi.

Corretto ma in questo caso torni nella situazione "un processo rm
eseguito per ogni file da cancellare" che è marginalmente meglio di "una
shell che lancia rm per ogni file da cancellare" ma non poi tantissimo.
Se ragionevolmente non ci sono file cattivi (i cui nomi contengano
spazi), viene lanciato un rm per ogni "manciata" di file (quelli che ci
stanno nella command line massima eseguibile).

Dipende dalla "manciata": xargs ha un buffer di 64K, in cui possono
starci tranquillamente un migliaio di nomi di file.
In quel caso basta una sola invocazione della shell, contro 1000 di un
find/--exec. Su una macchina lenta fa tanta differenza.

_________________
Fernando Santagata
Jesus saves, but Buddha makes incremental backups.
Top
Massimiliano Masserelli
Ospite





MessaggioInviato: Dom 02 Ott 2016 18:45    Oggetto: /var quasi saturo Rispondi citando

Il 02/10/2016 11:22, Fernando Santagata ha scritto:
Citazione:
Dipende dalla "manciata": xargs ha un buffer di 64K, in cui possono
starci tranquillamente un migliaio di nomi di file.
In quel caso basta una sola invocazione della shell, contro 1000 di un
find/--exec. Su una macchina lenta fa tanta differenza.

Vero, se non usi -0. Altrimenti un rm per ogni filename. O sto facendo
confusione con -i?
_________________
Massimiliano "Max Negro" Masserelli
Top
Fernando Santagata
Ospite





MessaggioInviato: Dom 02 Ott 2016 21:23    Oggetto: /var quasi saturo Rispondi citando

On Sun, Oct 02, 2016 at 02:12:40PM +0200, Massimiliano Masserelli wrote:
Citazione:
Il 02/10/2016 11:22, Fernando Santagata ha scritto:
Citazione:
Dipende dalla "manciata": xargs ha un buffer di 64K, in cui possono
starci tranquillamente un migliaio di nomi di file.
In quel caso basta una sola invocazione della shell, contro 1000 di un
find/--exec. Su una macchina lenta fa tanta differenza.

Vero, se non usi -0. Altrimenti un rm per ogni filename. O sto facendo
confusione con -i?

La man page dice questo:

-0, --null
Input items are terminated by a null character instead of by
whitespace, and the quotes and backslash are not special (every
character is taken literally). Disables the end of file string,
which is treated like any other argument. Useful when input
items might contain white space, quote marks, or backslashes.
The GNU find -print0 option produces input suitable for this
mode.

Non sembra indicare che in questo caso usi un processo per file, ma non ho
guardato i sorgenti.

_________________
Fernando Santagata
Jesus saves, but Buddha makes incremental backups.
Top
Davide Brini
Ospite





MessaggioInviato: Dom 02 Ott 2016 21:35    Oggetto: /var quasi saturo Rispondi citando

On Sun, 2 Oct 2016 02:05:22 +0200, Massimiliano Masserelli
<negro@xxxxxx.xyz> wrote:

Citazione:
Il 01/10/2016 20:47, Fernando Santagata ha scritto:
Citazione:
find dir -name qualcosa -print0|xargs -0 comando

A questo punto i nomi dei file possono contenere qualsiasi metacarattere
della shell, ma tanto vengono passati come flusso binario tra i due
processi.

Corretto ma in questo caso torni nella situazione "un processo rm
eseguito per ogni file da cancellare" che è marginalmente meglio di "una
shell che lancia rm per ogni file da cancellare" ma non poi tantissimo.

Se el problema è "non voglio lanciare un processo per ogni file" (che
effettivamente è "brutto", almeno per me) non è necessario usare xargs con
relativi trucchi (-0 etc) per proteggersi da nomi di file strani; si può
ottenere lo stesso effetto con

find .... -exec comando {} +

(notare il + invece del ; alla fine)

In questo modo si esegue "comando" poche volte (al limite una sola) con il
massimo numero di argomenti per ogni invocazione. Ovviamente, xargs da più
controllo con altre opzioni, pero molto spesso find -exec ... + è
sufficiente.
Top
Mostra prima i messaggi di:   
Nuovo argomento   Rispondi    Indice del forum -> ERLUG Tutti i fusi orari sono GMT + 1 ora
Vai a Precedente  1, 2
Pagina 2 di 2

 
Vai a:  
Non puoi inserire nuovi argomenti
Non puoi rispondere a nessun argomento
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi votare nei sondaggi


Powered by phpBB © 2001, 2005 phpBB Group
phpbb.it

torna alla home page di ERLUG
Per informazioni o problemi, contattare info@erlug.linux.it.
La connettività per questo sito e per gli altri nostri servizi è offerta da Ehiweb.it