effacer des gros fichiers sous ext3

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Nicolas George
Le #12882181
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.
Luc.Habert.00__arjf
Le #12882171
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).
Thierry B.
Le #12882831
--{ 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 }--
Fred Kap
Le #14493561
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


Pascal Hambourg
Le #14493551
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.
Thierry B.
Le #14493541
--{ 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.
Nicolas George
Le #14493521
Pascal Hambourg wrote in message
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.
Fabien LE LEZ
Le #14492681
On 09 Jul 2008 16:06:00 GMT, Nicolas George

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 ?
Nicolas George
Le #14492671
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.
Publicité
Poster une réponse
Anonyme