From dc8c788e058c06151e42c0db27b1a5110a5db605 Mon Sep 17 00:00:00 2001 From: Nathan Huizinga Date: Sat, 16 Dec 2017 18:25:58 +0100 Subject: [PATCH 1/3] Added logrotate support --- install.sh | 2 ++ log2ram | 17 +++++++++++++---- log2ram.logrotate | 13 +++++++++++++ uninstall.sh | 1 + 4 files changed, 29 insertions(+), 4 deletions(-) create mode 100644 log2ram.logrotate diff --git a/install.sh b/install.sh index 32ce69d..fa7de75 100644 --- a/install.sh +++ b/install.sh @@ -14,6 +14,8 @@ then systemctl enable log2ram cp log2ram.hourly /etc/cron.hourly/log2ram chmod +x /etc/cron.hourly/log2ram + cp log2ram.logrotate /etc/logrotate.d/log2ram + chmod 644 /etc/logrotate.d/log2ram # Remove a previous log2ram version if [ -d /var/log.hdd]; then diff --git a/log2ram b/log2ram index a925062..a793311 100755 --- a/log2ram +++ b/log2ram @@ -6,6 +6,7 @@ HDD_LOG=/var/hdd.log RAM_LOG=/var/log LOG_NAME="log2ram.log" +LOGROTATE_PATTERN="${LOG_NAME}*" LOG2RAM_LOG="${HDD_LOG}/${LOG_NAME}" LOG_OUTPUT="tee -a $LOG2RAM_LOG" @@ -18,7 +19,7 @@ syncToDisk () { isSafe if [ "$USE_RSYNC" = true ]; then - rsync -aXWv --delete --exclude $LOG_NAME --links $RAM_LOG/ $HDD_LOG/ 2>&1 | $LOG_OUTPUT + rsync -aXWv --delete --exclude $LOGROTATE_PATTERN --links $RAM_LOG/ $HDD_LOG/ 2>&1 | $LOG_OUTPUT else cp -rfup $RAM_LOG/ -T $HDD_LOG/ 2>&1 | $LOG_OUTPUT fi @@ -38,7 +39,7 @@ syncFromDisk () { fi if [ "$USE_RSYNC" = true ]; then - rsync -aXWv --delete --exclude $LOG_NAME --links $HDD_LOG/ $RAM_LOG/ 2>&1 | $LOG_OUTPUT + rsync -aXWv --delete --exclude $LOGROTATE_PATTERN --links $HDD_LOG/ $RAM_LOG/ 2>&1 | $LOG_OUTPUT else cp -rfup $HDD_LOG/ -T $RAM_LOG/ 2>&1 | $LOG_OUTPUT fi @@ -51,12 +52,20 @@ wait_for () { } case "$1" in + clean-rotate) + rm -f $HDD_LOG/$LOGROTATE_PATTERN + rm -f $RAM_LOG/$LOGROTATE_PATTERN + ;; + + rotate) + rm -f $LOG2RAM_LOG + ;; + start) [ -d $HDD_LOG/ ] || mkdir $HDD_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 @@ -73,7 +82,7 @@ case "$1" in ;; *) - echo "Usage: log2ram {start|stop|write}" >&2 + echo "Usage: log2ram {clean-rotate|rotate|start|stop|write}" >&2 exit 1 ;; esac diff --git a/log2ram.logrotate b/log2ram.logrotate new file mode 100644 index 0000000..9cb844d --- /dev/null +++ b/log2ram.logrotate @@ -0,0 +1,13 @@ +/var/hdd.log/log2ram.log +{ + rotate 7 + daily + missingok + notifempty + delaycompress + compress + postrotate + log2ram rotate > /dev/null + endscript +} + diff --git a/uninstall.sh b/uninstall.sh index a4d9244..791bf91 100644 --- a/uninstall.sh +++ b/uninstall.sh @@ -8,6 +8,7 @@ then rm /usr/local/bin/log2ram rm /etc/log2ram.conf rm /etc/cron.hourly/log2ram + rm /etc/logrotate.d/log2ram if [ -d /var/hdd.log ]; then rm -r /var/hdd.log From 8a16abbd760884d7c662a79e9d4cc9cdab51bd94 Mon Sep 17 00:00:00 2001 From: Nathan Huizinga Date: Wed, 20 Dec 2017 10:56:05 +0100 Subject: [PATCH 2/3] Fixed: /var/log/log2ram.log handled like all other files. --- README.md | 2 +- log2ram | 12 +++--------- log2ram.logrotate | 2 +- 3 files changed, 5 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index b7a8bc8..ca00c0c 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/hdd.log/log2ram.log` +The log for log2ram will be write here : `/var/log/log2ram.log` ###### Now, muffins for everyone ! diff --git a/log2ram b/log2ram index a793311..dc56e2c 100755 --- a/log2ram +++ b/log2ram @@ -6,8 +6,7 @@ HDD_LOG=/var/hdd.log RAM_LOG=/var/log LOG_NAME="log2ram.log" -LOGROTATE_PATTERN="${LOG_NAME}*" -LOG2RAM_LOG="${HDD_LOG}/${LOG_NAME}" +LOG2RAM_LOG="${RAM_LOG}/${LOG_NAME}" LOG_OUTPUT="tee -a $LOG2RAM_LOG" isSafe () { @@ -19,7 +18,7 @@ syncToDisk () { isSafe if [ "$USE_RSYNC" = true ]; then - rsync -aXWv --delete --exclude $LOGROTATE_PATTERN --links $RAM_LOG/ $HDD_LOG/ 2>&1 | $LOG_OUTPUT + rsync -aXWv --delete --links $RAM_LOG/ $HDD_LOG/ 2>&1 | $LOG_OUTPUT else cp -rfup $RAM_LOG/ -T $HDD_LOG/ 2>&1 | $LOG_OUTPUT fi @@ -39,7 +38,7 @@ syncFromDisk () { fi if [ "$USE_RSYNC" = true ]; then - rsync -aXWv --delete --exclude $LOGROTATE_PATTERN --links $HDD_LOG/ $RAM_LOG/ 2>&1 | $LOG_OUTPUT + rsync -aXWv --delete --links $HDD_LOG/ $RAM_LOG/ 2>&1 | $LOG_OUTPUT else cp -rfup $HDD_LOG/ -T $RAM_LOG/ 2>&1 | $LOG_OUTPUT fi @@ -52,11 +51,6 @@ wait_for () { } case "$1" in - clean-rotate) - rm -f $HDD_LOG/$LOGROTATE_PATTERN - rm -f $RAM_LOG/$LOGROTATE_PATTERN - ;; - rotate) rm -f $LOG2RAM_LOG ;; diff --git a/log2ram.logrotate b/log2ram.logrotate index 9cb844d..3db6498 100644 --- a/log2ram.logrotate +++ b/log2ram.logrotate @@ -1,4 +1,4 @@ -/var/hdd.log/log2ram.log +/var/log/log2ram.log { rotate 7 daily From e6d71736c84aec12f599f40017b5ccc8d4405041 Mon Sep 17 00:00:00 2001 From: Nathan Huizinga Date: Fri, 29 Dec 2017 10:15:43 +0100 Subject: [PATCH 3/3] Removed unneeded postrotate support --- log2ram | 6 +----- log2ram.logrotate | 3 --- 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/log2ram b/log2ram index dc56e2c..0e51f3d 100755 --- a/log2ram +++ b/log2ram @@ -51,10 +51,6 @@ wait_for () { } case "$1" in - rotate) - rm -f $LOG2RAM_LOG - ;; - start) [ -d $HDD_LOG/ ] || mkdir $HDD_LOG/ mount --bind $RAM_LOG/ $HDD_LOG/ @@ -76,7 +72,7 @@ case "$1" in ;; *) - echo "Usage: log2ram {clean-rotate|rotate|start|stop|write}" >&2 + echo "Usage: log2ram {start|stop|write}" >&2 exit 1 ;; esac diff --git a/log2ram.logrotate b/log2ram.logrotate index 3db6498..dbe9914 100644 --- a/log2ram.logrotate +++ b/log2ram.logrotate @@ -6,8 +6,5 @@ notifempty delaycompress compress - postrotate - log2ram rotate > /dev/null - endscript }