Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#26 Le 11/11/2009, à 21:38

al_boon

Re : script qui test l espace disque disponible

merci cela fonctionne a merveille
me reste plus qu a comprendre o_O


viva ubuntu ^^ et deux personnes converties !!

ps: il est pas beau mon fils ? (cf mon avatar)

Hors ligne

#27 Le 11/11/2009, à 21:50

al_boon

Re : script qui test l espace disque disponible

sputnick a écrit :

De plus, lost+found c'est souvent /lost+found, tu fais quand meme pas des tests sur ta partition / quand même ? Si tu veux forcer l'effacement des repertoires, ajoute le flag r à rm

honte a moi j avais mal renseigné le dossier d application.

sinon il me semble que même sans le break le script se terminais puisque dans webmin il le finissait (il mettait le lien de retour qui en générale ne s affiche qu en fin de script....enfin suis pas pro)


viva ubuntu ^^ et deux personnes converties !!

ps: il est pas beau mon fils ? (cf mon avatar)

Hors ligne

#28 Le 12/11/2009, à 01:44

sputnick

Re : script qui test l espace disque disponible

honte a moi j avais mal renseigné le dossier d application.

Houla, heureusement qu'il n'y avait pas le -r à rm, sinon tu aurais effacé ton systeme ( si tu es en root )

sinon il me semble que même sans le break le script se terminais puisque dans webmin il le finissait (il mettait le lien de retour qui en générale ne s affiche qu en fin de script....enfin suis pas pro)

webmin ? Qé ? Tu n'a jamais parlé de webmin !

merci cela fonctionne a merveille
me reste plus qu a comprendre o_O

Content que ça te soit utile. Dit moi ce que tu ne comprends pas, je t'explique...


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#29 Le 12/11/2009, à 16:21

Biounator

Re : script qui test l espace disque disponible

Une erreur résiduel subsiste dans le scritp au niveau du find :

...
        do
          plusAncien="$(find /media/divx/ -type f -printf '%TY%Tm%Td%TT\t%h/%f\n'|sort -n|tail -1|awk '{print $2}')"
          if [ "${plusAncien}" ]; then
...

le chemin de recherche est /media/divx au lieu de ${unObjet}, le code devrait être :

plusAncien="$(find ${unObjet} -type f -printf '%TY%Tm%Td%TT\t%h/%f\n'|sort -n|tail -1|awk '{print $2}')"

J'ai une question concernant ça :

exec 4<&- 4>&-

et

exec 4<>"${namedPipe}

comment ça fonctionne?

Hors ligne

#30 Le 12/11/2009, à 16:59

Totor

Re : script qui test l espace disque disponible

Biounator a écrit :

Une erreur résiduel subsiste dans le scritp au niveau du find :

...
        do
          plusAncien="$(find /media/divx/ -type f -printf '%TY%Tm%Td%TT\t%h/%f\n'|sort -n|tail -1|awk '{print $2}')"
          if [ "${plusAncien}" ]; then
...

le chemin de recherche est /media/divx au lieu de ${unObjet}, le code devrait être :

plusAncien="$(find ${unObjet} -type f -printf '%TY%Tm%Td%TT\t%h/%f\n'|sort -n|tail -1|awk '{print $2}')"

yikes
oui pardon, c'était pour mes tests !

exec 4<>"${namedPipe}"

permet d'ouvrir le fichier (dans notre cas, un pipe nommé) en lecture / écriture et de lui affecter le fd (file descriptor) 4. > pour l'écriture  et < pour la lecture.

exec 4<&- 4>&-

ferme le fd 4 en lecture puis en écriture (l'équivalent de l'ouverture en une seule fois n'existe pas).


-- Lucid Lynx --

Hors ligne

#31 Le 12/11/2009, à 17:31

sputnick

Re : script qui test l espace disque disponible

Pour les redirections d'E/S : http://abs.traduc.org/abs-fr/ch19.html#id3761386

C'est bien d'utiliser des outils comme find et les redirections, mais c'est encore mieux de n'utiliser ca que quand necessaire. On s'éloigne de la demande initiale, et on a jamais parlé de travailler en recursif.


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#32 Le 12/11/2009, à 17:55

Biounator

Re : script qui test l espace disque disponible

Merci Totor et spoutnik pour le lien.

Le find est parfait(il recherche tout les fichiers du répertoire), si la recherche doit se cantonner à la racine du répertoire, il suffit d'ajouter l'option de profondeur ou -prune.

Je préfère cela à l'utilisation de sed pour tronquer la liste du ls car d'une part j'ai un doute sur la pérénité de cette commande et d'autre part cette commande peut retourner un répertoire ce qui est bloquant dans ce cas.

Dernière modification par Biounator (Le 12/11/2009, à 18:06)

Hors ligne

#33 Le 12/11/2009, à 18:07

sputnick

Re : script qui test l espace disque disponible

Doit y avoir des chasseurs qui utilisent un bazooka pour chasser un oisillon


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#34 Le 12/11/2009, à 21:56

Totor

Re : script qui test l espace disque disponible

Je n'interviens pas pour chipoter et/ou pour épiloguer et/ou pour prouver que j'ai raison/tord mais si je suis ta réflexion :

sputnick a écrit :

C'est bien d'utiliser des outils comme find et les redirections, mais c'est encore mieux de n'utiliser ca que quand necessaire.

le find permet d'éviter un bug de ton script qui bouclera sans fin si la suppression des fichiers se trouvant dans le dossier ne suffisent pas à libérer suffisament de place. Cela me parait donc nécessaire de l'utiliser.

sputnick a écrit :

On s'éloigne de la demande initiale

Où se trouvent ces 2 notions dans ton script car je n'en vois qu'une :

al_boon a écrit :

qui au cas ou il ne reste moins de 5%  supprime dans un dossier spécifique des fichiers en partant du plus vieux jusqu'a ce qu'il reste au moins  20% de libre

?
donc à tes yeux, ma solution ne correspond pas totalement à la demande initiale (probablement)... il me semble que la tienne non plus.
--------------------------------------
autre chose, qui n'a aucun rapport avec le sujet... je te laisse volontier ma place que certains habitués du forum m'attribut. wink tongue

Dernière modification par Totor (Le 12/11/2009, à 21:58)


-- Lucid Lynx --

Hors ligne

#35 Le 12/11/2009, à 22:30

sputnick

Re : script qui test l espace disque disponible

le find permet d'éviter un bug de ton script qui bouclera sans fin si la suppression des fichiers se trouvant dans le dossier ne suffisent pas à libérer suffisament de place. Cela me parait donc nécessaire de l'utiliser.

Tu a mal lu mon script, je t'invite à le relire. http://forum.ubuntu-fr.org/viewtopic.php?pid=3060368#p3060368 Le taux d'occupation d'espace disque est géré par une des variables editables...


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#36 Le 13/11/2009, à 00:00

Totor

Re : script qui test l espace disque disponible

sputnick a écrit :

Tu a mal lu mon script, je t'invite à le relire. http://forum.ubuntu-fr.org/viewtopic.php?pid=3060368#p3060368

Autant pour moi, je n'avais pas vu le break ! Mea-culpa. Cependant, je reste persuadé que le find est plus adapté à l'objectif qui est de parvenir à un taux d'occupation souhaité.

sputnick a écrit :

Le taux d'occupation d'espace disque est géré par une des variables editables...

certe, mais cela ne permet pas de gérer les 2 taux (à moins que je n'ai pas compris la demande). l'un permet de spécifier "le seuil à atteindre pour effectuer de l'espace" et donc de déclencher le traitement de suppression. Quand à l'autre, il permet d'indiquer l'espace disponible que l'on souhaite obtenir après traitement.
Et je ne vois qu'une seule variable (MaxSize) ...

Enfin bon, ce n'est pas bien grave ... et l'on ne va pas polémiquer 107 ans. Nous avons tous les 2 notre vision des choses et c'est très bien ainsi !;)

Dernière modification par Totor (Le 13/11/2009, à 00:01)


-- Lucid Lynx --

Hors ligne

#37 Le 13/11/2009, à 11:08

Biounator

Re : script qui test l espace disque disponible

Je ne veux pas polémiquer du tout mais que se passe-t-il si le fichier qui doit être supprimer est un répertoire?

Hors ligne

#38 Le 13/11/2009, à 13:23

Totor

Re : script qui test l espace disque disponible

Biounator a écrit :

Je ne veux pas polémiquer du tout mais que se passe-t-il si le fichier qui doit être supprimer est un répertoire?

Et bien dans mon cas, ce cas n'est pas possible car je ne filtre que les fichiers. Pour sputnick, il y aura une erreur car sans l'option r, rm ne peut supprimer des dossiers.

Dernière modification par Totor (Le 13/11/2009, à 13:23)


-- Lucid Lynx --

Hors ligne

#39 Le 31/12/2012, à 15:48

al_boon

Re : script qui test l espace disque disponible

sputnick a écrit :

al_boon, tu n'a jamais parlé de dossier dans ton post :

bonjour, j'aimerai créer un script qui test l espace disque disponible et qui au cas ou il ne reste moins de 5%  supprime dans un dossier spécifique des fichiers en partant du plus vieux jusqu'a ce qu'il reste au moins  20% de libre.

De plus, lost+found c'est souvent /lost+found, tu fais quand meme pas des tests sur ta partition / quand meme ? Si tu veux forcer l'effacement des repertoires, ajoute le flag r à rm

Nouvelle version :

#!/bin/bash
# gilles <dot> quenot <at> gmail <dot> com

MyDir="/tmp/mmm/logs/"
PartitionASurveiller="/"
MaxSize=10 # en % d'occupation

shopt -s dotglob # permet de gerer aussi les fichiers cachés

MakeDu()
{
    df -TP | awk -vpartvar=$PartitionASurveiller '($NF == partvar)  {gsub("%", "");print $6}'
}

_du=$(MakeDu)

cd "$MyDir" || exit 1

while((_du > MaxSize)); do
    Fic="$(ls -rt | sed q)"

    if [[ -e "$Fic" ]]; then
        \rm -v -- "$Fic"
    else
        break
    fi

    _du=$(MakeDu)
    sleep .5
done

Le nouveau break est important, sinon le script ne se finit pas quand si il n'y a plus de fichiers.


bonjour, suite à une réinstallation ou j utilise tjs cette version de script j ai en exécutant le script ceci en retour :

/home/alboon/disk_full_clean: 7: shopt: not found
/home/alboon/disk_full_clean: 29: _du: not found

quelqu'un saurait il d'où cela pourrait il provenir ?
merci


viva ubuntu ^^ et deux personnes converties !!

ps: il est pas beau mon fils ? (cf mon avatar)

Hors ligne