Файлы ULG занимают 25 ГБ дискового пространства

8

Я хотел бы знать, какие файлы ULG находятся в Ubuntu. После попытки найти то, что использовало дисковое пространство, я нашел каталог, использующий 25 ГБ общим объемом 28 ГБ, и этот каталог имел 785 файлов ULG.

Обратите внимание, что я работаю над Intel Aero RTF, используя Ubuntu 16.04, и он может хранить 28 ГБ.

Вывод duкоманды (существенная часть):

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

Количество файлов:

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

Частичные результаты 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 результат:

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

Итак, вопросы:

  • Какой тип файла является файлом ULG? Это сохранение, конфиг, ...?
  • Могу ли я удалить некоторые из них (или все) без проблем позже?
damadam
источник
1
так я могу их удалить? Я даже не могу передать файл размером 400 КБ из-за этого
слишком занятого
2
mavlink-router - маршрутизирует пакеты mavlink между конечными точками. ULog - это формат файла, используемый для регистрации системных данных. Формат является самоописываемым, то есть содержит формат и типы сообщений, которые регистрируются. Если файлы .ulg - это файлы журнала, возможно, вы можете прочитать часть одного из них, чтобы проверить, является ли это файл журнала, и, следовательно, его можно удалить, кроме самых последних файлов журнала. В соответствии с форматом файла ULog mavlink-router: C ++, потоковая передача ULog через MAVLink.
Карел
@ PerlDuck Пожалуйста, отправьте это как ответ.
Карел
Я позволю тебе сделать это. Это справедливее, потому что я получил меньшую половину.
Карел
3
logrotateдоступен, он установлен на Ubuntu16.04 по умолчанию, этот дрон можно увидеть как компьютер (у него Atom x7, чуть медленнее, чем компьютер: D)
damadam

Ответы:

11

Согласно аналогичному вопросу на форуме Intel: « Заполняется диск», большие файлы ULG в / var / lib / mavlink-router , эти файлы ULG являются лог- файлами mavlink-router .

Есть только два обходных пути:

  • Либо отключите ведение журнала:

    Измените /etc/mavlink-router/main.confи закомментируйте строку ниже:

    [General]
    #Log=/var/log/mavlink-router
    
  • Или установите cronjob, чтобы регулярно удалять их раз в день:

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

Сначала я подумал, logrotateчто следующий фрагмент может помочь:

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

Но это не будет работать так, как задумано, поскольку в именах файлов уже есть отметка времени и номер, поэтому каждый файл имеет свое имя и logrotateпросто сжимает их, но никогда не удаляет их. Например, 00000-2018-05-22_05-14-52.ulgон станет, 00000-2018-05-22_05-14-52.ulg.1.gzно никогда не будет удален, потому что не будет другого файла с таким именем, который претендует на его место.

См. Этот пост для возможного решения logrotateдля файлов с отметками времени в их имени.

PerlDuck
источник
5
Вместо того, чтобы просто удалять все журнальные файлы ежедневно, вы можете использовать findдля удаления файлы старше, чем несколько дней или недель, если вам когда-нибудь понадобится расследовать какой-то старый инцидент.
Сорен А