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. - `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: #### 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? ### It is working?
You can now check the mount folder in ram with (You will see lines with log2ram if 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 ## log2ram
# Create directory # Create directory
install -Dm 644 "$STARTDIR/log2ram.service" "$DESTDIR/etc/systemd/system/log2ram.service" 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 755 "$STARTDIR/log2ram" "$DESTDIR/usr/local/bin/log2ram"
install -Dm 644 "$STARTDIR/log2ram.conf" "$DESTDIR/etc/log2ram.conf" install -Dm 644 "$STARTDIR/log2ram.conf" "$DESTDIR/etc/log2ram.conf"
install -Dm 644 "$STARTDIR/uninstall.sh" "$DESTDIR/usr/local/bin/uninstall-log2ram.sh" 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" install -Dm 644 "$STARTDIR/log2ram.logrotate" "$DESTDIR/etc/logrotate.d/log2ram"


# Build .deb # Build .deb


+ 1
- 1
debian/postinst View File

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


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


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


+ 2
- 1
debian/preinst View File

@@ -1,6 +1,7 @@
#!/bin/bash #!/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 rm -rf /var/hdd.log


exit 0 exit 0

+ 3
- 3
debian/prerm View File

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

+ 4
- 3
install.sh View File

@@ -6,13 +6,14 @@ systemctl -q is-active log2ram && { echo "ERROR: log2ram service is still runni
# log2ram # log2ram
mkdir -p /usr/local/bin/ mkdir -p /usr/local/bin/
install -m 644 log2ram.service /etc/systemd/system/log2ram.service 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 755 log2ram /usr/local/bin/log2ram
install -m 644 log2ram.conf /etc/log2ram.conf install -m 644 log2ram.conf /etc/log2ram.conf
install -m 644 uninstall.sh /usr/local/bin/uninstall-log2ram.sh 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 install -m 644 log2ram.logrotate /etc/logrotate.d/log2ram


# Remove a previous log2ram version # 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 ] if [ "$(id -u)" -eq 0 ]
then 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 /usr/local/bin/log2ram
rm /etc/log2ram.conf rm /etc/log2ram.conf
rm /etc/cron.daily/log2ram
rm /etc/logrotate.d/log2ram rm /etc/logrotate.d/log2ram


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


Loading…
Cancel
Save