Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

effacer des gros fichiers sous ext3

9 réponses
Avatar
Fred Kap
Bonjour,
Sur un appareil de mesure sous linux on a un disque ext3 de 100Go,
un client enregistre à la volée des données binaire sur le disque , au
bout de quelques jours il a créé un fichier de 80Go , après traitement
il l'efface pour en faire un autre.
Le problème est que sur le disque on n'a accès plus qu'à 20Go. On a
perdu 60 Go.
Le seul moyen pour récupérer ces 60 Go , c'est de redémarrer l'appareil
et de plus au lieu de démarrer en 1 minute , il démarre en 15 minutes (
comme l'appareil est chez le client j'ai pas vu) c'est quand même très
ennuyeux pour le client.


Avant de faire l'essai qui est très long ( plusieurs jours ) j'aimerai
savoir :
* Est ce qu'on peut effacer le fichier d'une autre manière que celle que
j'utilise (unlink)
* est ce qu'il y a un utilitaire qui récupérerai facilement le disque.
* est ce que c'est dû a ext3 et est ce que peut passer à ext2

9 réponses

Avatar
Nicolas George
Fred Kap wrote in message :
Le problème est que sur le disque on n'a accès plus qu'à 20Go. On a
perdu 60 Go.
Le seul moyen pour récupérer ces 60 Go , c'est de redémarrer l'appareil
et de plus au lieu de démarrer en 1 minute , il démarre en 15 minutes



De toute évidence, le fichier n'est pas vraiment supprimé, probablement
parce que le processus d'enregistrement le maintient toujours ouvert.
Avatar
Luc.Habert.00__arjf
Fred Kap :

* Est ce qu'on peut effacer le fichier d'une autre manière que celle que
j'utilise (unlink)



Il faut aussi fermer le canal ouvert sur le fichier. L'OS n'efface pas
vraiment le fichier tant qu'un programme a un canal ouvert dessus (il peut
toujours lire et écrire dedans).
Avatar
Thierry B.
--{ Fred Kap a plopé ceci: }--

bout de quelques jours il a créé un fichier de 80Go , après traitement
il l'efface pour en faire un autre.
Le problème est que sur le disque on n'a accès plus qu'à 20Go. On a
perdu 60 Go.



C'est peut-être parce que le fichier est effacé (par un rm ?)
alors qu'il est encore ouvert pas l'application qui l'utilise.
Les données du fichier sont encore là, et seule l'entrée dans
le répertoire a disparue: donc la place est encore occupée.



--
( La devise du LL c'est faite se que je dis, mais se que je fais ...)
--{ Ptilou, équivoque dans fcol.debats }--
Avatar
Fred Kap
Oui , c'est ça
j'avais un processus qui avait le Fichier ouvert.
Je pensais qu'on n pouvait pas détruire un fichier si il était ouvert.

Le Wed, 09 Jul 2008 10:22:13 +0200, Fred Kap a écrit :

Bonjour,
Sur un appareil de mesure sous linux on a un disque ext3 de 100Go, un
client enregistre à la volée des données binaire sur le disque , au
bout de quelques jours il a créé un fichier de 80Go , après traitement
il l'efface pour en faire un autre.
Le problème est que sur le disque on n'a accès plus qu'à 20Go. On a
perdu 60 Go.
Le seul moyen pour récupérer ces 60 Go , c'est de redémarrer l'appareil
et de plus au lieu de démarrer en 1 minute , il démarre en 15 minutes (
comme l'appareil est chez le client j'ai pas vu) c'est quand même très
ennuyeux pour le client.


Avant de faire l'essai qui est très long ( plusieurs jours ) j'aimerai
savoir :
* Est ce qu'on peut effacer le fichier d'une autre manière que celle que
j'utilise (unlink)
* est ce qu'il y a un utilitaire qui récupérerai facilement le disque. *
est ce que c'est dû a ext3 et est ce que peut passer à ext2


Avatar
Pascal Hambourg
Fred Kap a écrit :
j'avais un processus qui avait le Fichier ouvert.
Je pensais qu'on n pouvait pas détruire un fichier si il était ouvert.



On ne peut pas, comme tout le monde te l'a répondu.
unlink, rm... ne font que supprimer la liaison entre un nom de fichier
dans l'arborescence et l'inode (le vrai fichier). Il peut rester des
liaisons avec d'autres noms de fichiers ou avec des processus qui l'ont
ouvert. L'inode n'est effectivement libéré que lorsque toutes ses
liaisons ont été supprimées, y compris les liaisons avec les processus
qui l'ont ouvert.
Avatar
Thierry B.
--{ Fred Kap a plopé ceci: }--

Oui , c'est ça
j'avais un processus qui avait le Fichier ouvert.
Je pensais qu'on n pouvait pas détruire un fichier si il était ouvert.



Le fichier n'est PAS détruit: le processus qui le tient ouvert
peut parfaitement continuer à l'utiliser; mais l'entrée dans
le répertoire désignant ce fichier est effacée. Si c'est la seule
pour ce fichier, il est automagiquement effacé quand le processus
le ferme.


--
MS a plutôt pour devise : nous voulons votre bien et nous l'aurons.
Avatar
Nicolas George
Pascal Hambourg wrote in message <g52ims$2fbc$:
On ne peut pas, comme tout le monde te l'a répondu.



Mais si, on peut :

ssecem /tmp $ echo 'Ceci est un gros fichier qui occupe plein de place.' >
fic
ssecem /tmp $ (sleep 5; cat) < fic &
[1] 6155
ssecem /tmp $ echo Blast. >| fic
ssecem /tmp $ fg
[1] + running (; sleep 5; cat; ) < fic
Blast.
Avatar
Fabien LE LEZ
On 09 Jul 2008 16:06:00 GMT, Nicolas George
<nicolas$:

Mais si, on peut :



?
J'ai dû rater quelque chose. En quoi ce code montre-t-il qu'on peut
_supprimer_ un fichier en cours d'utilisation ?
Avatar
Nicolas George
Fabien LE LEZ wrote in message
:
J'ai dû rater quelque chose. En quoi ce code montre-t-il qu'on peut
_supprimer_ un fichier en cours d'utilisation ?



Relis le message, il n'a pas été dit « supprimer », il a été dit
« détruire ». Ce n'est pas pareil du tout.