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..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 @@ -11,11 +14,16 @@ then systemctl enable log2ram cp log2ram.hourly /etc/cron.hourly/log2ram chmod +x /etc/cron.hourly/log2ram - - if [ -d /var/log.hdd ]; then + + # 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 + echo "##### Reboot to activate log2ram #####" else echo "You need to be ROOT (sudo can be used)" 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/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 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)"