File ULG mengambil ruang disk 25 GB

8

Saya ingin tahu file-file ULG di Ubuntu. Setelah mencoba menemukan apa yang menggunakan ruang disk, saya menemukan direktori menggunakan 25 GB dari total 28 GB, dan direktori ini memiliki 785 file ULG.

Perhatikan bahwa saya sedang mengerjakan Intel Aero RTF, menggunakan Ubuntu 16.04, dan dapat menyimpan 28 GB.

Output dari duperintah (bagian penting):

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

Jumlah file:

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

Hasil sebagian dari 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 hasil:

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

Jadi pertanyaannya adalah:

  • Jenis file apa yang merupakan file ULG? Apakah ini save, config, ...?
  • Bisakah saya menghapus sebagian dari mereka (atau semuanya) tanpa masalah nanti?
Damadam
sumber
1
jadi bisakah saya menghapusnya? Saya bahkan tidak dapat mentransfer file 400 kB karena ruang yang terlalu banyak digunakan
damadam
2
mavlink-router - Merutekan paket mavlink antara titik akhir. ULog adalah format file yang digunakan untuk mencatat data sistem. Formatnya menggambarkan diri sendiri, yaitu berisi format dan jenis pesan yang dicatat. Jika file .ulg adalah file log, mungkin Anda dapat membaca bagian dari salah satunya untuk memeriksa apakah itu file log dan karenanya dapat dihapus kecuali untuk file log terbaru. Menurut Format File ULog mavlink-router: C ++, streaming ULog melalui MAVLink.
karel
@PerlDuck Silakan mempostingnya sebagai jawaban.
karel
Saya akan membiarkan Anda melakukannya. Lebih adil karena saya mendapat bagian yang lebih kecil.
karel
3
logrotatetersedia, diinstal pada Ubuntu16.04 secara default, lihat drone ini seperti komputer (ia memiliki Atom x7, hanya sedikit lebih lambat dari komputer: D)
damadam

Jawaban:

11

Menurut pertanyaan serupa di forum Intel, Disk mengisi, file-file ULG besar di / var / lib / mavlink-router , file-file ULG ini adalah file-file log dari router-mavlink .

Hanya ada dua solusi:

  • Nonaktifkan logging:

    Ubah /etc/mavlink-router/main.confdan komentari baris di bawah ini:

    [General]
    #Log=/var/log/mavlink-router
    
  • Atau siapkan cronjob untuk menghapusnya secara rutin sekali sehari:

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

Pada awalnya, saya pikir logrotatedengan cuplikan berikut dapat membantu:

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

Tetapi ini tidak akan berfungsi sebagaimana dimaksud karena nama file sudah memiliki cap waktu dan nomor di dalamnya, sehingga setiap file memiliki nama yang berbeda dan logrotatehanya akan memampatkannya tetapi tidak pernah menghapusnya. Misalnya 00000-2018-05-22_05-14-52.ulgakan menjadi 00000-2018-05-22_05-14-52.ulg.1.gztetapi tidak pernah dihapus karena tidak akan ada file lain dengan nama yang mengklaim tempatnya.

Lihat posting ini untuk solusi yang mungkin dengan logrotatefile dengan cap waktu dalam namanya.

PerlDuck
sumber
5
Alih-alih hanya menghapus semua file log harian, Anda dapat menggunakan finduntuk menghapus file yang lebih tua yang beberapa hari atau minggu, jika Anda perlu menyelidiki beberapa kejadian lama.
Soren A