Vamos a crear un script sencillo para esos casos en que no podemos eliminar contenido de un directorio y que constantemente crecen.
Lo ideal en estos casos es realizar una monitorización y controlar el crecimiento por lo que en este caso vamos a crear una tarea para que cada domingo haga una revisión del espacio y haga un incremento de espacio (+5GB)
El script es el siguiente donde va a controlar los filesystems /app01, /app02 y /app03. En el caso de que alguno de ellos (por separado) esté por encima del 85%, entonces se aplicará una ampliación (hay que tener espacio en el Volume Group antes, claro)
FILESYSTEMS=('/app01' '/app02' '/app03')
WARN='85'
for FILESYSTEM in "${FILESYSTEMS[@]}"; do
if [[ -d "${FILESYSTEM}" ]]; then
echo "${FILESYSTEM}"
VG=$(df -H | grep -E ${FILESYSTEM}$ | awk '{print $1}' | awk -F'/' '{print $NF}' | awk -F '-' '{print $1}')
LV=$(df -H | grep -E ${FILESYSTEM}$ | awk '{print $1}' | awk -F'/' '{print $NF}' | awk -F '-' '{print $2}')
SZ=$(df -H | grep -E ${FILESYSTEM}$ | awk '{print $5}' | cut -d'%' -f1)
FORMAT=$(df -T | grep -E ${FILESYSTEM}$ | awk '{print $2}')
FS=$FILESYSTEM
echo "RESULT: ${SZ} | ${FS} | ${VG} | ${LV} | ${FORMAT}"
if [ ${SZ} -ge ${WARN} ]; then
echo "INCREASE: /${VG}/${LV} -> ${FS}"
lvresize -L +5g /dev/${VG}/${LV}
if [ ${FORMAT} = 'ext4' ]; then
resize2fs /dev/${VG}/${LV}
fi
if [ ${FORMAT} = 'xfs' ]; then
xfs_growfs /dev/${VG}/${LV}
fi
echo "------------------------"
fi
fi
done
y lo añadiremos en un crontab:
0 0 * * SUN sh /scripts/filesystem_size_update.sh