#log #manager #disk #sync #ram #memory #directory

app ram-journal

Efficiently in-memory log manager

3 releases

0.1.3 Nov 7, 2022
0.1.2 Oct 22, 2022
0.1.1 Oct 22, 2022

#1571 in Filesystem

Custom license

23KB
153 lines

ram-journal

Efficiently in-memory log manager

Ram journal is a system that considerably reduces disk read and write operations by keeping logs from the /var/log directory in memory. It works in two ways:

Sync mode(default)

In this mode, logs are kept in memory and are synced to disk every 24 hours. The sync interval can be changed by setting the sync_interval in /etc/ram-journal/ram-journal.conf:

# Sync to disk every 12 hours.  
sync_interval=12

/etc/ram-journal/ram-journal.conf

Ephemeral mode(default)

In this mode, logs are kept only in memory and are lost after a system reboot.

To disable the sync, set sync_interval to 0 in /etc/ram-journal/ram-journal.conf:

# Disable sync.
sync_interval=0

Installation

APT Repository

Debian

curl -fsSL https://neutrine.com/deb/public.gpg | sudo tee /etc/apt/trusted.gpg.d/neutrine.com.gpg >/dev/null
sudo sh -c 'echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/trusted.gpg.d/neutrine.com.gpg] https://deb.neutrine.com bullseye main" > /etc/apt/sources.list.d/neutrine.com.list'
sudo apt update
sudo apt install ram-journal
# reboot the system

Manually

x86_64

curl -fOL https://github.com/lpicanco/ram-journal/releases/download/v0.1.3/ram-journal-0.1.3-x86_64-unknown-linux-gnu.deb
sudo dpkg -i ram-journal-0.1.3-x86_64-unknown-linux-gnu.deb
# reboot the system

Raspberry 2-4(32 bits)

curl -fOL https://github.com/lpicanco/ram-journal/releases/download/v0.1.3/ram-journal-0.1.3-armv7-unknown-linux-gnueabihf.deb
sudo dpkg -i ram-journal-0.1.3-armv7-unknown-linux-gnueabihf.deb
# reboot the system

Raspberry 4(64 bits)

curl -fOL https://github.com/lpicanco/ram-journal/releases/download/v0.1.3/ram-journal-0.1.3-aarch64-unknown-linux-gnu.deb
sudo dpkg -i ram-journal-0.1.3-aarch64-unknown-linux-gnu.deb
# reboot the system

Configuration

Configuration are kept in the /etc/ram-journal/ram-journal.conf file:

# Log max size in megabytes.
#max_size=50

# Sync interval in hours. Zero to disable sync.
#sync_interval=24

# Directory sync the log.
#sync_dir=/var/lib/ram-journal/log

# Directory where the logs are saved.
#log_dir=/var/log

# Temporary device type.
#device=tmpfs

Dependencies

~5–16MB
~156K SLoC