#26 Le 11/11/2009, à 20: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, à 20:50
- al_boon
Re : script qui test l espace disque disponible
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, à 00: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...
Qui veut faire quelque chose trouve un moyen, qui ne veut rien faire trouve une excuse. Proverbe arabe
https://sputnick.fr
Hors ligne
#29 Le 12/11/2009, à 15: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, à 15:59
- Totor
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}')"
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, à 16: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.
Qui veut faire quelque chose trouve un moyen, qui ne veut rien faire trouve une excuse. Proverbe arabe
https://sputnick.fr
Hors ligne
#32 Le 12/11/2009, à 16: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, à 17:06)
Hors ligne
#33 Le 12/11/2009, à 17:07
- sputnick
Re : script qui test l espace disque disponible
Doit y avoir des chasseurs qui utilisent un bazooka pour chasser un oisillon
Qui veut faire quelque chose trouve un moyen, qui ne veut rien faire trouve une excuse. Proverbe arabe
https://sputnick.fr
Hors ligne
#34 Le 12/11/2009, à 20: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 :
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.
On s'éloigne de la demande initiale
Où se trouvent ces 2 notions dans ton script car je n'en vois qu'une :
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.
Dernière modification par Totor (Le 12/11/2009, à 20:58)
-- Lucid Lynx --
Hors ligne
#35 Le 12/11/2009, à 21: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...
Qui veut faire quelque chose trouve un moyen, qui ne veut rien faire trouve une excuse. Proverbe arabe
https://sputnick.fr
Hors ligne
#36 Le 12/11/2009, à 23:00
- Totor
Re : script qui test l espace disque disponible
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é.
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 12/11/2009, à 23:01)
-- Lucid Lynx --
Hors ligne
#37 Le 13/11/2009, à 10: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, à 12:23
- Totor
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?
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, à 12:23)
-- Lucid Lynx --
Hors ligne
#39 Le 31/12/2012, à 14:48
- al_boon
Re : script qui test l espace disque disponible
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