Création — Nicolas THOREZ 2020/09/09 16:30
Il peux arriver lors de la suppression d'un fichier, manuellement ou via un process comme logrotate, que l'espace occupé ne soit pas libéré. Pire, il peut arriver, pour les logs notamment, que le flux de données, écrit auparavant dans le fichier supprimé, ne soit pas écrit dans le fichier de remplacement. On parle dans ce cas de fichier fantôme. Le fichier est supprimé de la table des matière mais toujours présent en mémoire et verrouillé par un processus.
(deleted)). Cette commande donne aussi le PID (Processus IDentifier) du processus qui verrouille le fichier et le FD (File Descriptor) du fichier :
lsof +L1
cp /proc/<PID>/fd/<FD> /tmp/recovered_file
kill -9 <PID>
tail -c +0 -f /proc/<PID>/fd/<FD> > /new/path/to/file &
echo > /proc/<PID>/fd/<FD>