Bonjour,
Concernant ton problème d'espace disque et d'inodes, outre d'éventuels fichiers cachés (temporaires, de caches, de travail...) non purgés, il faut voir si n'a pas des fichiers en cours d'utilisation par des processus actifs. Si tu as un bug dans un des programmes, il se peut qu'il tourne en boucle, ou qu'il soit en attente, ou autre et qu'il occupe des ressources de façon anormal.
Avec la commande find, tu peux lister les fichiers cachés.
find $HOME -type f -name ".*" -ls
Avec la commande lsof, tu peux lister les fichiers en cours d'utilisation. En filtrant avec le chemin de ton dossier, tu peux voir quel process ID l'utilise.
Par rapport à ta demande, voici un petit script en shell Bash, qui peut éventuellement d'aider:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| #!/bin/bash
# list all file in a folder, with size and inodes number for each file
# Get the list of all file in the folder named "dir1" (example)
varDIR_NAME_PATH="$HOME"
varDIR_NAME_FULLPATH=$(readlink -f $varDIR_NAME_PATH)
varDIR_NAME=$(basename ${varDIR_NAME_PATH})
# Display format = <Size of the file> <Number of inodes of the file> <Path of the file>
find $varDIR_NAME_FULLPATH -type f -exec stat --format='%s %i %n' {} \; > ./find_stat_files_list.tmp
# Sort the list by Size
sort -rn ./find_stat_files_list.tmp > ./${varDIR_NAME}_files_size_inode_$(date +%F).list
# Calculate the global size, by additionnal all the sizes of each files
varGLOBAL_SIZE_DIR1=$(cut -d ' ' -f 1 ./${varDIR_NAME}_files_size_inode_$(date +%F).list | paste -sd+ - | bc)
# Calculate the number of files in the folder dir1
varGLOBAL_NUMBER_FILES_DIR1=$(wc -l ./${varDIR_NAME}_files_size_inode_$(date +%F).list|cut -d' ' -f1)
# register the datas, to have an history
echo "${varDIR_NAME};$varGLOBAL_SIZE_DIR1;$varGLOBAL_NUMBER_FILES_DIR1;$(date +%F)" >> ${varDIR_NAME}_datas_history.csv |
sil
Partager