mirror of
https://github.com/Fishwaldo/build.git
synced 2025-07-23 21:39:02 +00:00
Formatting fixes and log creation only when needed
This commit is contained in:
parent
94abeef059
commit
5bd6ab4b0d
1 changed files with 53 additions and 46 deletions
|
@ -1,4 +1,4 @@
|
|||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
#
|
||||
# Copyright (c) Authors: http://www.armbian.com/authors
|
||||
#
|
||||
|
@ -22,68 +22,75 @@ LOG2RAM_LOG="${HDD_LOG}armbian-ramlog.log"
|
|||
LOG_OUTPUT="tee -a $LOG2RAM_LOG"
|
||||
|
||||
isSafe () {
|
||||
[ -d $HDD_LOG ] || echo "ERROR: $HDD_LOG doesn't exist! Can't sync."
|
||||
[ -d $HDD_LOG ] || exit 1
|
||||
[ -d $HDD_LOG ] || echo "ERROR: $HDD_LOG doesn't exist! Can't sync."
|
||||
[ -d $HDD_LOG ] || exit 1
|
||||
}
|
||||
|
||||
RecreateLogs (){
|
||||
# in case of crash those services doesn't start if there are no dirs & logs
|
||||
[ ! -d /var/log/proftpd ] && mkdir -p /var/log/proftpd
|
||||
[ ! -d /var/log/nginx ] && mkdir -p /var/log/nginx
|
||||
[ ! -f /var/log/proftpd/controls.log ] && touch /var/log/proftpd/controls.log
|
||||
[ ! -f /var/log/nginx/access.log ] && touch /var/log/nginx/access.log
|
||||
[ ! -f /var/log/nginx/error.log ] && touch /var/log/nginx/error.log
|
||||
check_if_installed apache2 && [ ! -d /var/log/apache2 ] && mkdir -p /var/log/apache2
|
||||
check_if_installed proftpd-basic && [ ! -d /var/log/proftpd ] && \
|
||||
(mkdir -p /var/log/proftpd ; touch /var/log/proftpd/controls.log)
|
||||
check_if_installed nginx && [ ! -d /var/log/nginx ] && \
|
||||
(mkdir -p /var/log/nginx ; touch /var/log/nginx/access.log ; touch /var/log/nginx/error.log)
|
||||
check_if_installed samba && [ ! -d /var/log/samba ] && mkdir -p /var/log/samba
|
||||
}
|
||||
|
||||
syncToDisk () {
|
||||
isSafe
|
||||
isSafe
|
||||
|
||||
if [ "$USE_RSYNC" = true ]; then
|
||||
rsync -aXWv --exclude armbian-ramlog.log --links $RAM_LOG $HDD_LOG 2>&1 | $LOG_OUTPUT
|
||||
else
|
||||
cp -rfup $RAM_LOG -T $HDD_LOG 2>&1 | $LOG_OUTPUT
|
||||
fi
|
||||
if [ "$USE_RSYNC" = true ]; then
|
||||
rsync -aXWv --exclude armbian-ramlog.log --links $RAM_LOG $HDD_LOG 2>&1 | $LOG_OUTPUT
|
||||
else
|
||||
cp -rfup $RAM_LOG -T $HDD_LOG 2>&1 | $LOG_OUTPUT
|
||||
fi
|
||||
}
|
||||
|
||||
syncFromDisk () {
|
||||
isSafe
|
||||
isSafe
|
||||
|
||||
if [ "$USE_RSYNC" = true ]; then
|
||||
if [ "$USE_RSYNC" = true ]; then
|
||||
rsync -aXWv --delete --exclude armbian-ramlog.log --exclude *.gz --exclude='*.[0-9]' --links $HDD_LOG $RAM_LOG 2>&1 | $LOG_OUTPUT
|
||||
else
|
||||
else
|
||||
#find $RAM_LOG* -maxdepth 1 -type f -not \( -name '*.[0-9]' -or -name '*.xz*' -or -name '*.gz' \) | awk -v var="$RAM_LOG" '{print var $1}' | xargs cp -t $RAM_LOG
|
||||
find $HDD_LOG* -maxdepth 1 -type f -not \( -name '*.[0-9]' -or -name '*.xz*' -or -name '*.gz' \) | xargs cp -ut $RAM_LOG
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
check_if_installed () {
|
||||
local DPKG_Status="$(dpkg -s "$1" 2>/dev/null | awk -F": " '/^Status/ {print $2}')"
|
||||
if [[ "X${DPKG_Status}" = "X" || "${DPKG_Status}" = *deinstall* ]]; then
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
fi
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
[ -d $HDD_LOG ] || mkdir $HDD_LOG
|
||||
mount --bind $RAM_LOG $HDD_LOG
|
||||
mount --make-private $HDD_LOG
|
||||
rm -f $LOG2RAM_LOG
|
||||
# zram type
|
||||
if [ "$(blkid -s TYPE /dev/zram0 | awk ' { print $2 } ' | grep ext4)" ]; then
|
||||
mount /dev/zram0 $RAM_LOG | $LOG_OUTPUT
|
||||
else
|
||||
mount -t tmpfs -o nosuid,noexec,nodev,mode=0755,size=$SIZE armbian-ramlog $RAM_LOG | $LOG_OUTPUT
|
||||
fi
|
||||
syncFromDisk
|
||||
RecreateLogs
|
||||
;;
|
||||
|
||||
stop)
|
||||
syncToDisk
|
||||
umount -l $RAM_LOG
|
||||
umount -l $HDD_LOG
|
||||
;;
|
||||
|
||||
write)
|
||||
syncToDisk
|
||||
;;
|
||||
*)
|
||||
echo "Usage: log2ram {start|stop|write}" >&2
|
||||
exit 1
|
||||
;;
|
||||
start)
|
||||
[ -d $HDD_LOG ] || mkdir -p $HDD_LOG
|
||||
mount --bind $RAM_LOG $HDD_LOG
|
||||
mount --make-private $HDD_LOG
|
||||
rm -f $LOG2RAM_LOG
|
||||
# zram type
|
||||
if [ "$(blkid -s TYPE /dev/zram0 | awk ' { print $2 } ' | grep ext4)" ]; then
|
||||
mount /dev/zram0 $RAM_LOG | $LOG_OUTPUT
|
||||
else
|
||||
mount -t tmpfs -o nosuid,noexec,nodev,mode=0755,size=$SIZE armbian-ramlog $RAM_LOG | $LOG_OUTPUT
|
||||
fi
|
||||
syncFromDisk
|
||||
RecreateLogs
|
||||
;;
|
||||
stop)
|
||||
syncToDisk
|
||||
umount -l $RAM_LOG
|
||||
umount -l $HDD_LOG
|
||||
;;
|
||||
write)
|
||||
syncToDisk
|
||||
;;
|
||||
*)
|
||||
echo "Usage: log2ram {start|stop|write}" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue