Algunos ficheros no deben modificarse mientras están en uso porque comprometen la “estabilidad” del sistema. Son poco y uno de ellos es /var/log/lastlog donde se registra información en formato binario sobre los accesos al sistema.
Un ejemplo sería encontrar un fichero con este tamaño:
root@hostname:[~]$ ls -shl /var/log/lastlog 48K -rw-rw-r--. 1 root utmp 523G jul 11 08:04 /var/log/lastlog
Para reducir el tamaño mientras está en uso sin comprometer las esstabilidad del sistema operativo se utiliza el comando truncate.
Por ejemplo, específicando el tamaño (size) en bytes al que queremos reducir el fichero. Conservará las entradas más recientes.
$ truncate -s 104857600 /var/log/lastlog
El resultado es la esperada reducción de tamaño (en el ejemplo sobre un fichero de 523G) sin que haya afectado a la escritura en él
root@hostname:[~]$ ls -shl /var/log/lastlog
44K -rw-rw-r--. 1 root utmp 100M jul 11 14:20 /var/log/lastlog