linux:rpi:log_to_ram

Raspberry Pi: перенос журналов в TMPFS/RAM

При активной записи на SD карточку срок её службы быстро (наверное?) сокращается. Поэтому логи и/или swap лучше держать в оперативной памяти.

Установка простая - подключить репозиторий и сделать apt install.

echo "deb [signed-by=/usr/share/keyrings/azlux-archive-keyring.gpg] http://packages.azlux.fr/debian/ bookworm main" | sudo tee /etc/apt/sources.list.d/azlux.list
sudo wget -O /usr/share/keyrings/azlux-archive-keyring.gpg  https://azlux.fr/repo.gpg
sudo apt update
sudo apt install log2ram

При первом запуске появилась ошибка т.к. размер log2ram (tmpfs) меньше системных логов 832 МБ.

dx@rpi:~ $ sudo systemctl status log2ram
× log2ram.service - Log2Ram
     Loaded: loaded (/etc/systemd/system/log2ram.service; enabled; preset: enabled)
     Active: failed (Result: exit-code) since Fri 2025-01-10 14:39:30 MSK; 24s ago
    Process: 477 ExecStart=/usr/local/bin/log2ram start (code=exited, status=1/FAILURE)
   Main PID: 477 (code=exited, status=1/FAILURE)
        CPU: 102ms
 
Jan 10 14:39:30 rpi log2ram[477]: ERROR: RAM disk for "/var/hdd.log/" too small. Can't sync.
Jan 10 14:39:30 rpi log2ram[477]: File(s) causing issues
Jan 10 14:39:30 rpi log2ram[477]: : 832M        /var/hdd.log/journal
Jan 10 14:39:30 rpi log2ram[515]: /usr/local/bin/log2ram: line 72: mail -s Log2Ram Error on rpi root: command not found
Notice: journal has been rotated since unit was started, output may be incomplete.

Удаляем старые логи

sudo journalctl --vacuum-size=16M

Перезапускаем log2ram. Всё работает.

dx@rpi:~ $ df -hT | grep log2ram | awk '{print " Name: " $1 "\nMount: " $7 "\n Type: " $2 "\nUsage: " $6 "\n Size: " $3 "\n Used: " $4 "\n Free: " $5}'
 Name: log2ram
Mount: /var/log
 Type: tmpfs
Usage: 3%
 Size: 256M
 Used: 7.3M
 Free: 249M

Ёщё одно интересное решение это вынести /var/log на USB накопитель - Reduce or eliminate SD card corruption on Raspberry Pi.

Ссылки

EOM

Discussion

Enter your comment. Wiki syntax is allowed:
 
linux/rpi/log_to_ram.txt · Last modified: by dx