cap log file size
This commit is contained in:
1 parent
a21993489f
commit
61a92128a6
1 file changed
+22
-1
@@ -1,10 +1,31 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Logfile definieren
|
||||
LOGFILE="$HOME/Library/Logs/backup-recordings.log"
|
||||
MAX_LOG_SIZE=$((3 * 1024 * 1024)) # 3MB in Bytes
|
||||
|
||||
# Funktion zur Überprüfung und Rotation des Logfiles
|
||||
rotate_log() {
|
||||
if [ -f "$LOGFILE" ]; then
|
||||
local size=$(stat -f%z "$LOGFILE" 2>/dev/null || echo 0)
|
||||
if [ "$size" -ge "$MAX_LOG_SIZE" ]; then
|
||||
# Behalte nur die letzten 50% des Logs
|
||||
local keep_lines=$(($(wc -l < "$LOGFILE") / 2))
|
||||
tail -n "$keep_lines" "$LOGFILE" > "${LOGFILE}.tmp"
|
||||
mv "${LOGFILE}.tmp" "$LOGFILE"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
# Funktion für Log-Ausgaben mit Zeitstempel
|
||||
log() {
|
||||
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1"
|
||||
local message="[$(date '+%Y-%m-%d %H:%M:%S')] $1"
|
||||
echo "$message" | tee -a "$LOGFILE"
|
||||
}
|
||||
|
||||
# Log rotieren falls nötig
|
||||
rotate_log
|
||||
|
||||
# Quelle und Ziel definieren
|
||||
SOURCE="/Users/rob/Recordings/Work/"
|
||||
TARGET="/Volumes/rob/recordings/Progress/Work/"
|
||||
|
||||
Reference in new issue
Block a user