Browse Source

Replaces CRON usages by a proper systemd timer

> Closes #84
> Closes #77
pull/117/head
Samuel FORESTIER 4 years ago
parent
commit
c399b4039e
10 changed files with 38 additions and 18 deletions
  1. +7
    -1
      README.md
  2. +3
    -2
      build-packages.sh
  3. +1
    -1
      debian/postinst
  4. +2
    -1
      debian/preinst
  5. +3
    -3
      debian/prerm
  6. +4
    -3
      install.sh
  7. +6
    -0
      log2ram-daily.service
  8. +9
    -0
      log2ram-daily.timer
  9. +0
    -3
      log2ram.cron
  10. +3
    -4
      uninstall.sh

+ 7
- 1
README.md View File

@@ -47,7 +47,13 @@ In the file `/etc/log2ram.conf`, there are three variables:
- `ZL2R`: Enable zram compatibility (`false` by default). Check the comment on the config file. See https://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 the HardDisk every day. If you think this is too much, you can move `/etc/cron.daily/log2ram` in an other cron folder, or remove it if you prefer writing logs only at stop/reboot.
By default Log2Ram writes to disk every day. If you think this is too much, you can run `systemctl edit log2ram-daily.timer` and add:

```ini
[Timer]
OnCalendar=weekly
```
... or even disable it with `systemctl disable log2ram-daily.timer`, if you prefer writing logs only at stop/reboot.

### It is working?
You can now check the mount folder in ram with (You will see lines with log2ram if working)


+ 3
- 2
build-packages.sh View File

@@ -23,12 +23,13 @@ rm -rf "$DESTDIR" "$OUTDIR"
## log2ram
# Create directory
install -Dm 644 "$STARTDIR/log2ram.service" "$DESTDIR/etc/systemd/system/log2ram.service"
install -Dm 644 "$STARTDIR/log2ram-daily.service" "$DESTDIR/etc/systemd/system/log2ram-daily.service"
install -Dm 644 "$STARTDIR/log2ram-daily.timer" "$DESTDIR/etc/systemd/system/log2ram-daily.timer"
install -Dm 755 "$STARTDIR/log2ram" "$DESTDIR/usr/local/bin/log2ram"
install -Dm 644 "$STARTDIR/log2ram.conf" "$DESTDIR/etc/log2ram.conf"
install -Dm 644 "$STARTDIR/uninstall.sh" "$DESTDIR/usr/local/bin/uninstall-log2ram.sh"

# cron
install -Dm 755 "$STARTDIR/log2ram.cron" "$DESTDIR/etc/cron.daily/log2ram"
# logrotate
install -Dm 644 "$STARTDIR/log2ram.logrotate" "$DESTDIR/etc/logrotate.d/log2ram"

# Build .deb


+ 1
- 1
debian/postinst View File

@@ -2,7 +2,7 @@
set -euo pipefail

systemctl daemon-reload
systemctl enable log2ram
systemctl enable log2ram.service log2ram-daily.timer

if [ "$1" == "configure" ]; then
echo "##### Reboot to activate log2ram #####"


+ 2
- 1
debian/preinst View File

@@ -1,6 +1,7 @@
#!/bin/bash

systemctl -q is-active log2ram && systemctl stop log2ram
systemctl -q is-active log2ram.service && systemctl stop log2ram.service
systemctl -q is-active log2ram-daily.timer && systemctl stop log2ram-daily.timer
rm -rf /var/hdd.log

exit 0

+ 3
- 3
debian/prerm View File

@@ -1,12 +1,12 @@
#!/usr/bin/env bash
case "$1" in
upgrade)
[ -d /run/systemd/system/ ] && systemctl stop log2ram
[ -d /run/systemd/system/ ] && systemctl stop log2ram.service log2ram-daily.timer
exit 0
;;
*)
[ -d /run/systemd/system/ ] && systemctl stop log2ram
[ -d /run/systemd/system/ ] && systemctl disable log2ram
[ -d /run/systemd/system/ ] && systemctl stop log2ram.service log2ram-daily.timer
[ -d /run/systemd/system/ ] && systemctl disable log2ram.service log2ram-daily.timer
exit 0
;;
esac

+ 4
- 3
install.sh View File

@@ -6,13 +6,14 @@ systemctl -q is-active log2ram && { echo "ERROR: log2ram service is still runni
# log2ram
mkdir -p /usr/local/bin/
install -m 644 log2ram.service /etc/systemd/system/log2ram.service
install -m 644 log2ram-daily.service /etc/systemd/system/log2ram-daily.service
install -m 644 log2ram-daily.timer /etc/systemd/system/log2ram-daily.timer
install -m 755 log2ram /usr/local/bin/log2ram
install -m 644 log2ram.conf /etc/log2ram.conf
install -m 644 uninstall.sh /usr/local/bin/uninstall-log2ram.sh
systemctl enable log2ram
systemctl enable log2ram.service log2ram-daily.timer

# cron
install -m 755 log2ram.cron /etc/cron.daily/log2ram
# logrotate
install -m 644 log2ram.logrotate /etc/logrotate.d/log2ram

# Remove a previous log2ram version


+ 6
- 0
log2ram-daily.service View File

@@ -0,0 +1,6 @@
[Unit]
Description=Daily Log2Ram writing activities
After=log2ram.service

[Service]
ExecStart=/usr/bin/systemctl reload log2ram.service

+ 9
- 0
log2ram-daily.timer View File

@@ -0,0 +1,9 @@
[Unit]
Description=Daily Log2Ram writing activities

[Timer]
OnCalendar=daily
Persistent=true

[Install]
WantedBy=timers.target

+ 0
- 3
log2ram.cron View File

@@ -1,3 +0,0 @@
#!/usr/bin/env sh

systemctl reload log2ram

+ 3
- 4
uninstall.sh View File

@@ -2,12 +2,11 @@

if [ "$(id -u)" -eq 0 ]
then
service log2ram stop
systemctl disable log2ram
rm /etc/systemd/system/log2ram.service
systemctl stop log2ram.service log2ram-daily.timer
systemctl disable log2ram.service log2ram-daily.timer
rm -rf /etc/systemd/system/log2ram*
rm /usr/local/bin/log2ram
rm /etc/log2ram.conf
rm /etc/cron.daily/log2ram
rm /etc/logrotate.d/log2ram

if [ -d /var/hdd.log ]; then


Loading…
Cancel
Save