Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
forked fromazlux/log2ram

ramlog like for systemd (Put log into a ram folder)

License

NotificationsYou must be signed in to change notification settings

p6ril/log2ram

 
 

Repository files navigation

Log2Ram works just like ramlog for systemd (on Debian 8 Jessie for example).

Useful forRaspberryPi for not writing on the SD card all the time. You need it because your SD card doesn't want to suffer anymore!

Explanations: The script creates a/var/log mount point in RAM. So any writing of the log to the/var/log folder will not actually be written to disk (in this case to the SD card on a Raspberry Pi) but directly to RAM. By default, every day the CRON will synchronize the contents in RAM with the folder located on the physical disk. The script will also make this copy of RAM to disk in case of machine shutdowns (but, of course, it still won't do it in case of power failures). This way you can avoid excessive writing on the SD card and extend its life.

Log2Ram's script works on every Linux system. If you don't have Systemd, you can still use Log2Ram with your own daemon manager.

Log2Ram is based on transient /var/log for Systemd. For more information, checkhere.


Table of Contents

  1. Installation
  2. Is it working?
  3. Upgrading
  4. Customization
  5. Troubleshooting
  6. Uninstallation

Installation

Via APT (recommended)

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.listsudo wget -O /usr/share/keyrings/azlux-archive-keyring.gpg  https://azlux.fr/repo.gpgsudo apt updatesudo apt install log2ram

Manually

curl -L https://github.com/azlux/log2ram/archive/master.tar.gz| tar zxf -cd log2ram-masterchmod +x install.sh&& sudo ./install.shcd ..rm -r log2ram-master

For better performances,RSYNC is a recommended package.

REBOOT before installing anything else (for exampleapache2)

Is it working?

After installing and rebooting, use systemctl to check if Log2Ram started successfully:

systemctl status log2ram

This will show a color-coded status (green: active/red: failed), as well as the last few log lines. To show the full log (scrolled to the end), run:

journalctl -u log2ram -e

The log is also written to/var/log/log2ram.log.

You can also inspect the mount folder in RAM with:

# df -h | grep log2ramlog2ram          40M  532K   40M   2% /var/log

or also:

# mount | grep log2ramlog2ram on /var/logtype tmpfs (rw,nosuid,nodev,noexec,relatime,size=40960k,mode=755)

If you do not get any line as response of these commands, something is not working. Refer tothis section.

Upgrading

You need to stop Log2Ram (systemctl stop log2ram) and execute theinstallation process. If you used APT, this will be done automatically.

Customization

Variables

In the file/etc/log2ram.conf, there are five variables:

  • SIZE: defines the size the log folder will reserve into the RAM (default is 40M).
  • USE_RSYNC: (commented out by default =true) usecp instead ofrsync (if set tofalse).
  • MAIL: disables the error system mail if there is not enough place on RAM (if set tofalse).
  • PATH_DISK: activate log2ram for other path than default one. Paths should be separated with a;.
  • ZL2R: enable zram compatibility (false by default). Check the comment on the config file. Seehttps://github.com/StuartIanNaylor/zram-swap-config to configure a zram space on your raspberry before enable this option.

Refresh time

By default, Log2Ram writes to disk every day. If you think this is too much, you can runsystemctl edit log2ram-daily.timer and for example add:

[Timer]OnCalendar=OnCalendar=Mon *-*-* 23:55:00

Note:TheOnCalendar= is important because it disables all existing times (e.g. the default one) for log2ram.

... Or even disable it altogether withsystemctl disable log2ram-daily.timer, if you instead prefer Log2Ram to be writing logs only on system stops/reboots.

Compressor

Compressor for ZRAM. Useful for theCOMP_ALG of ZRAM on the config file.

Compressor nameRatioCompressionDecompress.
zstd 1.3.4 -12.877470 MB/s1380 MB/s
zlib 1.2.11 -12.743110 MB/s400 MB/s
brotli 1.0.2 -02.701410 MB/s430 MB/s
quicklz 1.5.0 -12.238550 MB/s710 MB/s
lzo1x 2.09 -12.108650 MB/s830 MB/s
lz4 1.8.12.101750 MB/s3700 MB/s
snappy 1.1.42.091530 MB/s1800 MB/s
lzf 3.6 -12.077400 MB/s860 MB/s
Now, muffins for everyone!

Troubleshooting

Existing content in/var/log too large for RAM

One thing that stops Log2Ram from functioning is if/var/log is too large before starting Log2Ram the first time. This can happen if logs had been collected for a long time before installing Log2Ram itself. Find the largest directories in/var/log (this example command only shows the 3 largest):

sudo du -hs /var/log/*| sort -h| tail -n 3

If the/var/log/journal is very large, then there are a lot of system logs. Deletion of old "archived" logs can be fixed by adjusting a setting. Edit the/etc/systemd/journald.conf file and add the following option:

SystemMaxUse=20M

Or the more radical version of directly flushing the journal to a size that matches log2ram size imediately(Be aware that this flish flush the systemd journal logs imediately to the given size!)

journalctl --vacuum-size=32M

This should be set to a value smaller than the size of the RAM volume; for example, half of it could be fine. Then, apply the new setting:

sudo systemctl restart systemd-journald

This should shrink the size of "archived" logs to be below the newly imposed limit. Reboot and check that Log2Ram now works properly:

sudo reboot

Wait until system reboots...

systemctl status log2ram

Uninstallation :(

(Because sometimes we need it)

Via APT

sudo apt remove log2ram

You can add the--purge argument to remove Log2Ram config files as well.

Manually

chmod +x /usr/local/bin/uninstall-log2ram.sh&& sudo /usr/local/bin/uninstall-log2ram.sh

About

ramlog like for systemd (Put log into a ram folder)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell100.0%

[8]ページ先頭

©2009-2025 Movatter.jp