From 658161bb04abe3471ecc31e79340232895dc2629 Mon Sep 17 00:00:00 2001 From: Nathan Huizinga Date: Thu, 7 Dec 2017 17:42:40 +0100 Subject: [PATCH 1/6] Fixed consistent naming of /var/hdd.log --- README.md | 2 +- install.sh | 6 +++--- log2ram | 23 ++++++++++++----------- uninstall.sh | 5 +++++ 4 files changed, 21 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index ee9b12b..b7a8bc8 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,7 @@ mount If you have issue with apache2 , you can try to add `apache2.service` next to other services on the `Before` parameter into /etc/systemd/system/log2ram.service it will solve the pb -The log for log2ram will be write here : `/var/log.hdd/log2ram.log` +The log for log2ram will be write here : `/var/hdd.log/log2ram.log` ###### Now, muffins for everyone ! diff --git a/install.sh b/install.sh index 6b8af03..34931c1 100644 --- a/install.sh +++ b/install.sh @@ -11,9 +11,9 @@ then systemctl enable log2ram cp log2ram.hourly /etc/cron.hourly/log2ram chmod +x /etc/cron.hourly/log2ram - - if [ -d /var/log.hdd ]; then - rm -r /var/log.hdd + + if [ -d /var/hdd.log ]; then + rm -r /var/hdd.log fi echo "##### Reboot to activate log2ram #####" diff --git a/log2ram b/log2ram index 2cc9e49..a925062 100755 --- a/log2ram +++ b/log2ram @@ -5,11 +5,12 @@ HDD_LOG=/var/hdd.log RAM_LOG=/var/log -LOG2RAM_LOG="${HDD_LOG}/log2ram.log" +LOG_NAME="log2ram.log" +LOG2RAM_LOG="${HDD_LOG}/${LOG_NAME}" LOG_OUTPUT="tee -a $LOG2RAM_LOG" isSafe () { - [ -d $HDD_LOG/ ] || echo "ERROR: $HDD_LOG/ doesn't exist! Can't sync." + [ -d $HDD_LOG/ ] || echo "ERROR: $HDD_LOG/ doesn't exist! Can't sync." [ -d $HDD_LOG/ ] || exit 1 } @@ -17,7 +18,7 @@ syncToDisk () { isSafe if [ "$USE_RSYNC" = true ]; then - rsync -aXWv --delete --exclude log2ram.log --links $RAM_LOG/ $HDD_LOG/ 2>&1 | $LOG_OUTPUT + rsync -aXWv --delete --exclude $LOG_NAME --links $RAM_LOG/ $HDD_LOG/ 2>&1 | $LOG_OUTPUT else cp -rfup $RAM_LOG/ -T $HDD_LOG/ 2>&1 | $LOG_OUTPUT fi @@ -30,14 +31,14 @@ syncFromDisk () { echo "ERROR: RAM disk too small. Can't sync." umount -l $RAM_LOG/ umount -l $HDD_LOG/ - if [ "$MAIL" = true ]; then - echo "LOG2RAM : No place on RAM anymore, fallback on the disk" | mail -s 'Log2Ram Error' root; - fi + if [ "$MAIL" = true ]; then + echo "LOG2RAM : No place on RAM anymore, fallback on the disk" | mail -s 'Log2Ram Error' root; + fi exit 1 fi if [ "$USE_RSYNC" = true ]; then - rsync -aXWv --delete --exclude log2ram.log --links $HDD_LOG/ $RAM_LOG/ 2>&1 | $LOG_OUTPUT + rsync -aXWv --delete --exclude $LOG_NAME --links $HDD_LOG/ $RAM_LOG/ 2>&1 | $LOG_OUTPUT else cp -rfup $HDD_LOG/ -T $RAM_LOG/ 2>&1 | $LOG_OUTPUT fi @@ -45,17 +46,17 @@ syncFromDisk () { wait_for () { while ! grep -qs $1 /proc/mounts; do - sleep 0.1 - done + sleep 0.1 + done } case "$1" in start) [ -d $HDD_LOG/ ] || mkdir $HDD_LOG/ - rm -f $LOG2RAM_LOG mount --bind $RAM_LOG/ $HDD_LOG/ mount --make-private $HDD_LOG/ wait_for $HDD_LOG + rm -f $LOG2RAM_LOG mount -t tmpfs -o nosuid,noexec,nodev,mode=0755,size=$SIZE log2ram $RAM_LOG/ wait_for $RAM_LOG syncFromDisk @@ -70,7 +71,7 @@ case "$1" in write) syncToDisk ;; - + *) echo "Usage: log2ram {start|stop|write}" >&2 exit 1 diff --git a/uninstall.sh b/uninstall.sh index c32e812..a4d9244 100644 --- a/uninstall.sh +++ b/uninstall.sh @@ -8,6 +8,11 @@ then rm /usr/local/bin/log2ram rm /etc/log2ram.conf rm /etc/cron.hourly/log2ram + + if [ -d /var/hdd.log ]; then + rm -r /var/hdd.log + fi + echo "##### Reboot isn't needed #####" else echo "You need to be ROOT (sudo can be used)" From 4479c11a41744d252b76a994bd71678128ba6c4b Mon Sep 17 00:00:00 2001 From: Nathan Huizinga Date: Thu, 7 Dec 2017 20:56:57 +0100 Subject: [PATCH 2/6] Added start, write and stop logging --- log2ram | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/log2ram b/log2ram index a925062..30177b6 100755 --- a/log2ram +++ b/log2ram @@ -56,20 +56,36 @@ case "$1" in mount --bind $RAM_LOG/ $HDD_LOG/ mount --make-private $HDD_LOG/ wait_for $HDD_LOG + rm -f $LOG2RAM_LOG + mount -t tmpfs -o nosuid,noexec,nodev,mode=0755,size=$SIZE log2ram $RAM_LOG/ wait_for $RAM_LOG + + echo "> Starting..." | $LOG_OUTPUT + syncFromDisk + + echo "> Starting: done." | $LOG_OUTPUT ;; stop) + echo "> Stopping..." | $LOG_OUTPUT + syncToDisk + + echo "> Stopping: done." | $LOG_OUTPUT + umount -l $RAM_LOG/ umount -l $HDD_LOG/ ;; write) + echo "> Writing..." | $LOG_OUTPUT + syncToDisk + + echo "> Writing: done." | $LOG_OUTPUT ;; *) From 8e52dfe231419f126111cbbb6b58ade8938896d7 Mon Sep 17 00:00:00 2001 From: Nathan Huizinga Date: Sun, 10 Dec 2017 22:37:51 +0100 Subject: [PATCH 3/6] Revert "Added start, write and stop logging" This reverts commit 4479c11a41744d252b76a994bd71678128ba6c4b. --- log2ram | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/log2ram b/log2ram index 30177b6..a925062 100755 --- a/log2ram +++ b/log2ram @@ -56,36 +56,20 @@ case "$1" in mount --bind $RAM_LOG/ $HDD_LOG/ mount --make-private $HDD_LOG/ wait_for $HDD_LOG - rm -f $LOG2RAM_LOG - mount -t tmpfs -o nosuid,noexec,nodev,mode=0755,size=$SIZE log2ram $RAM_LOG/ wait_for $RAM_LOG - - echo "> Starting..." | $LOG_OUTPUT - syncFromDisk - - echo "> Starting: done." | $LOG_OUTPUT ;; stop) - echo "> Stopping..." | $LOG_OUTPUT - syncToDisk - - echo "> Stopping: done." | $LOG_OUTPUT - umount -l $RAM_LOG/ umount -l $HDD_LOG/ ;; write) - echo "> Writing..." | $LOG_OUTPUT - syncToDisk - - echo "> Writing: done." | $LOG_OUTPUT ;; *) From 1ffd89c70efc368dca67c5948ac5f6e8908bf228 Mon Sep 17 00:00:00 2001 From: Nathan Huizinga Date: Sun, 10 Dec 2017 22:45:59 +0100 Subject: [PATCH 4/6] Fixed: use systemctl reload to write changes to disk and to the log --- log2ram.hourly | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/log2ram.hourly b/log2ram.hourly index 3e5dd87..d7da285 100644 --- a/log2ram.hourly +++ b/log2ram.hourly @@ -1,3 +1,3 @@ -#! /bin/sh +#!/bin/sh -/usr/local/bin/log2ram write > /dev/null +systemctl reload log2ram From 0e76e8d6551d22e048f4f852ba538135a4ddb166 Mon Sep 17 00:00:00 2001 From: Nathan Huizinga Date: Mon, 11 Dec 2017 08:55:38 +0100 Subject: [PATCH 5/6] Fixed: supporting a previous log2ram version again --- install.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/install.sh b/install.sh index 34931c1..f96164c 100644 --- a/install.sh +++ b/install.sh @@ -12,6 +12,11 @@ then cp log2ram.hourly /etc/cron.hourly/log2ram chmod +x /etc/cron.hourly/log2ram + # Remove a previous log2ram version + if [ -d /var/log.hdd]; then + rm -r /var/log.hdd + fi + if [ -d /var/hdd.log ]; then rm -r /var/hdd.log fi From 4f7c1a33a24434f3db18dc466d9d608dad317c37 Mon Sep 17 00:00:00 2001 From: Nathan Huizinga Date: Sat, 16 Dec 2017 11:42:37 +0100 Subject: [PATCH 6/6] Bug fix: avoid installing when still installed --- install.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/install.sh b/install.sh index f96164c..32ce69d 100644 --- a/install.sh +++ b/install.sh @@ -1,5 +1,8 @@ #!/bin/sh +[ -d /var/hdd.log ] && echo "ERROR: log2ram still installed. Uninstall first!" +[ -d /var/hdd.log ] && exit 1 + if [ `id -u` -eq 0 ] then cp log2ram.service /etc/systemd/system/log2ram.service