ソースを参照

[FEATURE] Replaces CRON usages by a proper systemd timer

Merge pull request #117 from HorlogeSkynet/feature/systemd_timer
tags/1.6.0
azlux 3年前
committed by GitHub
コミット
ef291999ba
この署名に対応する既知のキーがデータベースに存在しません GPGキーID: 4AEE18F83AFDEB23
10個のファイルの変更46行の追加21行の削除
  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. +10
    -4
      install.sh
  7. +6
    -0
      log2ram-daily.service
  8. +9
    -0
      log2ram-daily.timer
  9. +0
    -3
      log2ram.cron
  10. +5
    -6
      uninstall.sh

+ 7
- 1
README.md ファイルの表示

@@ -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 ファイルの表示

@@ -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 ファイルの表示

@@ -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 ファイルの表示

@@ -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 ファイルの表示

@@ -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

+ 10
- 4
install.sh ファイルの表示

@@ -6,14 +6,20 @@ 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
install -m 644 log2ram.logrotate /etc/logrotate.d/log2ram
# logrotate
if [ -d /etc/logrotate.d ]; then
install -m 644 log2ram.logrotate /etc/logrotate.d/log2ram
else
echo "##### Directory /etc/logrotate.d does not exist. #####"
echo "##### Skipping log2ram.logrotate installation. #####"
fi

# Remove a previous log2ram version
rm -rf /var/log.hdd


+ 6
- 0
log2ram-daily.service ファイルの表示

@@ -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 ファイルの表示

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

[Timer]
OnCalendar=daily
Persistent=true

[Install]
WantedBy=timers.target

+ 0
- 3
log2ram.cron ファイルの表示

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

systemctl reload log2ram

+ 5
- 6
uninstall.sh ファイルの表示

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

if dpkg -l log2ram ; then
if dpkg -l log2ram 2> /dev/null; then
echo "Please run : apt remove log2ram"
exit 1
fi
@@ -8,13 +8,12 @@ fi
if [ "$(id -u)" -eq 0 ]
then
echo "Not apt installed. Remove will continue with this script..."
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
rm -f /etc/logrotate.d/log2ram

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


読み込み中…
キャンセル
保存