Los archivos ULG están ocupando 25 GB de espacio en disco

8

Me gustaría saber qué archivos ULG hay en Ubuntu. Después de tratar de encontrar qué estaba usando el espacio en disco, encontré un directorio con 25 GB de 28 GB en total, y este directorio tenía 785 archivos ULG.

Tenga en cuenta que estoy trabajando en un Intel Aero RTF, usando Ubuntu 16.04, y puede almacenar 28 GB.

Salida de ducomando (la parte esencial):

root@intel-aero:/var/lib/mavlink-router# du -h /var/lib/mavlink-router/
25G /var/lib/mavlink-router/

Número de archivos:

root@intel-aero:/var/lib/mavlink-router# find /var/lib/mavlink-router/ -type f | wc -l
785

Resultados parciales de ls:

root@intel-aero:/var/lib/mavlink-router# ls -lh
total 25G
-rw-r--r-- 1 root root   73M May 22 05:45 00000-2018-05-22_05-14-52.ulg
-rw-r--r-- 1 root root   36M May 22 06:00 00001-2018-05-22_05-45-23.ulg
-rw-r--r-- 1 root root  9.0M May 22 05:00 00002-2018-05-22_04-57-05.ulg
-rw-r--r-- 1 root root   11M May 22 05:01 00003-2018-05-22_04-57-05.ulg
-rw-r--r-- 1 root root  117M May 22 05:46 00004-2018-05-22_04-57-05.ulg
-rw-r--r-- 1 root root  220M May 22  2018 00005-2018-05-22_04-57-05.ulg
-rw-r--r-- 1 root root     0 May 22  2018 00006-2018-05-22_06-31-13.ulg
-rw-r--r-- 1 root root     0 May 22  2018 00007-2018-05-22_06-31-14.ulg

df resultado:

root@intel-aero:/var/lib/mavlink-router# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        28G   28G     0 100% /
devtmpfs        1.9G     0  1.9G   0% /dev
tmpfs           1.9G     0  1.9G   0% /dev/shm
tmpfs           1.9G   76M  1.8G   4% /run
tmpfs           1.9G     0  1.9G   0% /sys/fs/cgroup
tmpfs           1.9G   48K  1.9G   1% /var/volatile
tmpfs           1.9G  4.0K  1.9G   1% /tmp
/dev/mmcblk0p1   28M  7.7M   21M  28% /boot
tmpfs           382M     0  382M   0% /run/user/0

Entonces las preguntas son:

  • ¿Qué tipo de archivo es un archivo ULG? ¿Es un save, config, ...?
  • ¿Puedo eliminar algunos de ellos (o todos) sin ningún problema más adelante?
damadam
fuente
1
Entonces, ¿puedo eliminarlos? Ni siquiera puedo transferir un archivo de 400 kB debido a ese espacio sobreutilizado
damadam
2
mavlink-router : enruta paquetes mavlink entre puntos finales. ULog es el formato de archivo utilizado para registrar datos del sistema. El formato es autodescriptivo, es decir, contiene el formato y los tipos de mensajes que se registran. Si los archivos .ulg son archivos de registro, tal vez pueda leer parte de uno de ellos para verificar si es un archivo de registro y, por lo tanto, puede eliminarse, excepto los archivos de registro más recientes. De acuerdo con el formato de archivo ULog mavlink-router: C ++, transmisión ULog a través de MAVLink.
karel
@PerlDuck Por favor publíquelo como respuesta.
karel
Te dejaré hacerlo. Es más justo de esa manera porque obtuve la mitad más pequeña.
karel
3
logrotateestá disponible, está instalado en Ubuntu16.04 de forma predeterminada, vea este dron como una computadora (tiene un Atom x7, solo un poco más lento que una computadora: D)
damadam

Respuestas:

11

De acuerdo con una pregunta similar en un foro de Intel, el disco se llena, grandes archivos ULG en / var / lib / mavlink-router , estos archivos ULG son archivos de registro del mavlink-router .

Solo hay dos soluciones:

  • Deshabilite el registro:

    Modifique /etc/mavlink-router/main.confy comente la línea a continuación:

    [General]
    #Log=/var/log/mavlink-router
    
  • O configure un cronjob para eliminarlos regularmente una vez al día:

    0 2 * * * rm /var/lib/mavlink-router/*.ulg && systemctl restart mavlink-router.service
    

Al principio, pensé que logrotatecon el siguiente fragmento podría ser de ayuda:

/var/lib/mavlink-router/*.ulg {
    rotate 2
    daily
    missingok
    notifempty
    compress
    sharedscripts
    postrotate
        systemctl restart mavlink-router.service
    endscript
}

Pero esto no funcionará según lo previsto porque los nombres de archivo ya tienen una marca de tiempo y un número, por lo que cada archivo tiene un nombre diferente y logrotatesimplemente los comprimiría pero nunca los eliminaría. Por ejemplo, 00000-2018-05-22_05-14-52.ulgse 00000-2018-05-22_05-14-52.ulg.1.gzeliminaría pero nunca se eliminaría porque no habrá otro archivo con ese nombre que reclame su lugar.

Vea esta publicación para una posible solución con logrotatearchivos con marcas de tiempo en su nombre.

PerlDuck
fuente
55
En lugar de simplemente eliminar todos los archivos de registro a diario, puede usar findpara eliminar archivos anteriores de algunos días o semanas, en caso de que necesite investigar algún incidente antiguo.
Soren A