Browse Source

Added logrotate support

pull/39/head
Nathan Huizinga 7 years ago
parent
commit
dc8c788e05
4 changed files with 29 additions and 4 deletions
  1. +2
    -0
      install.sh
  2. +13
    -4
      log2ram
  3. +13
    -0
      log2ram.logrotate
  4. +1
    -0
      uninstall.sh

+ 2
- 0
install.sh View File

@@ -14,6 +14,8 @@ then
systemctl enable log2ram systemctl enable log2ram
cp log2ram.hourly /etc/cron.hourly/log2ram cp log2ram.hourly /etc/cron.hourly/log2ram
chmod +x /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 # Remove a previous log2ram version
if [ -d /var/log.hdd]; then if [ -d /var/log.hdd]; then


+ 13
- 4
log2ram View File

@@ -6,6 +6,7 @@ HDD_LOG=/var/hdd.log
RAM_LOG=/var/log RAM_LOG=/var/log


LOG_NAME="log2ram.log" LOG_NAME="log2ram.log"
LOGROTATE_PATTERN="${LOG_NAME}*"
LOG2RAM_LOG="${HDD_LOG}/${LOG_NAME}" LOG2RAM_LOG="${HDD_LOG}/${LOG_NAME}"
LOG_OUTPUT="tee -a $LOG2RAM_LOG" LOG_OUTPUT="tee -a $LOG2RAM_LOG"


@@ -18,7 +19,7 @@ syncToDisk () {
isSafe isSafe


if [ "$USE_RSYNC" = true ]; then 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 else
cp -rfup $RAM_LOG/ -T $HDD_LOG/ 2>&1 | $LOG_OUTPUT cp -rfup $RAM_LOG/ -T $HDD_LOG/ 2>&1 | $LOG_OUTPUT
fi fi
@@ -38,7 +39,7 @@ syncFromDisk () {
fi fi


if [ "$USE_RSYNC" = true ]; then 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 else
cp -rfup $HDD_LOG/ -T $RAM_LOG/ 2>&1 | $LOG_OUTPUT cp -rfup $HDD_LOG/ -T $RAM_LOG/ 2>&1 | $LOG_OUTPUT
fi fi
@@ -51,12 +52,20 @@ wait_for () {
} }


case "$1" in case "$1" in
clean-rotate)
rm -f $HDD_LOG/$LOGROTATE_PATTERN
rm -f $RAM_LOG/$LOGROTATE_PATTERN
;;

rotate)
rm -f $LOG2RAM_LOG
;;

start) start)
[ -d $HDD_LOG/ ] || mkdir $HDD_LOG/ [ -d $HDD_LOG/ ] || mkdir $HDD_LOG/
mount --bind $RAM_LOG/ $HDD_LOG/ mount --bind $RAM_LOG/ $HDD_LOG/
mount --make-private $HDD_LOG/ mount --make-private $HDD_LOG/
wait_for $HDD_LOG wait_for $HDD_LOG
rm -f $LOG2RAM_LOG
mount -t tmpfs -o nosuid,noexec,nodev,mode=0755,size=$SIZE log2ram $RAM_LOG/ mount -t tmpfs -o nosuid,noexec,nodev,mode=0755,size=$SIZE log2ram $RAM_LOG/
wait_for $RAM_LOG wait_for $RAM_LOG
syncFromDisk 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 exit 1
;; ;;
esac esac

+ 13
- 0
log2ram.logrotate View File

@@ -0,0 +1,13 @@
/var/hdd.log/log2ram.log
{
rotate 7
daily
missingok
notifempty
delaycompress
compress
postrotate
log2ram rotate > /dev/null
endscript
}


+ 1
- 0
uninstall.sh View File

@@ -8,6 +8,7 @@ then
rm /usr/local/bin/log2ram rm /usr/local/bin/log2ram
rm /etc/log2ram.conf rm /etc/log2ram.conf
rm /etc/cron.hourly/log2ram rm /etc/cron.hourly/log2ram
rm /etc/logrotate.d/log2ram


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


Loading…
Cancel
Save