logrotate as daemon, logfile 5000
This commit is contained in:
@@ -1,8 +1,21 @@
|
||||
#!/bin/bash
|
||||
# rotateLogs — rotate odoo.log for all UUID containers, keep 4 weeks
|
||||
# Runs as a daemon: waits for midnight, rotates, then waits for next midnight
|
||||
|
||||
RETENTION_DAYS=28
|
||||
|
||||
wait_for_midnight() {
|
||||
NOW=$(date +%s)
|
||||
MIDNIGHT=$(date -d 'tomorrow 00:00' +%s 2>/dev/null || \
|
||||
date -d "$(date -d tomorrow '+%Y-%m-%d') 00:00:00" +%s)
|
||||
SLEEP=$(( MIDNIGHT - NOW ))
|
||||
echo "Waiting ${SLEEP}s until midnight..."
|
||||
sleep "$SLEEP"
|
||||
}
|
||||
|
||||
while true; do
|
||||
wait_for_midnight
|
||||
|
||||
for log in /4server/data/00*/logs/odoo.log; do
|
||||
[[ -f "$log" ]] || continue
|
||||
DIR=$(dirname "$log")
|
||||
@@ -28,3 +41,5 @@ for log in /4server/data/00*/logs/odoo.log; do
|
||||
find "$DIR" -name 'odoo.log.*.gz' -mtime +$RETENTION_DAYS -exec rm -f {} \; \
|
||||
-exec echo "$UUID deleted: {}" \;
|
||||
done
|
||||
|
||||
done
|
||||
|
||||
Reference in New Issue
Block a user