logrotate as daemon, logfile 5000
This commit is contained in:
+1
-1
@@ -501,7 +501,7 @@ async def get_odoo_log_summary(uuid: str):
|
|||||||
# --- Main logic ---
|
# --- Main logic ---
|
||||||
try:
|
try:
|
||||||
# Last 500 lines from Odoo log
|
# Last 500 lines from Odoo log
|
||||||
last_500_lines = read_last_lines(odoo_log_file, 500)
|
last_500_lines = read_last_lines(odoo_log_file, 5000)
|
||||||
important_odoo_lines = [
|
important_odoo_lines = [
|
||||||
line for line in last_500_lines if is_important_line(line)
|
line for line in last_500_lines if is_important_line(line)
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -1,8 +1,21 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# rotateLogs — rotate odoo.log for all UUID containers, keep 4 weeks
|
# 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
|
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
|
for log in /4server/data/00*/logs/odoo.log; do
|
||||||
[[ -f "$log" ]] || continue
|
[[ -f "$log" ]] || continue
|
||||||
DIR=$(dirname "$log")
|
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 {} \; \
|
find "$DIR" -name 'odoo.log.*.gz' -mtime +$RETENTION_DAYS -exec rm -f {} \; \
|
||||||
-exec echo "$UUID deleted: {}" \;
|
-exec echo "$UUID deleted: {}" \;
|
||||||
done
|
done
|
||||||
|
|
||||||
|
done
|
||||||
|
|||||||
@@ -0,0 +1,22 @@
|
|||||||
|
#!/sbin/openrc-run
|
||||||
|
|
||||||
|
name="rotateLogs"
|
||||||
|
description="Daily Odoo log rotation"
|
||||||
|
|
||||||
|
pidfile="/run/${RC_SVCNAME}.pid"
|
||||||
|
output_log="/4server/data/log/rotateLogs.log"
|
||||||
|
error_log="/4server/data/log/rotateLogs.log"
|
||||||
|
|
||||||
|
command="/4server/sbin/rotateLogs"
|
||||||
|
command_background="yes"
|
||||||
|
|
||||||
|
stop() {
|
||||||
|
ebegin "Stopping rotateLogs"
|
||||||
|
start-stop-daemon --stop --pidfile "$pidfile"
|
||||||
|
eend $?
|
||||||
|
}
|
||||||
|
|
||||||
|
depend() {
|
||||||
|
need localmount
|
||||||
|
after bootmisc
|
||||||
|
}
|
||||||
@@ -68,6 +68,13 @@ rex doas chown root:root /etc/init.d/cleanTmp
|
|||||||
rex doas rc-update add cleanTmp default
|
rex doas rc-update add cleanTmp default
|
||||||
rex doas rc-service cleanTmp restart
|
rex doas rc-service cleanTmp restart
|
||||||
|
|
||||||
|
#INSTALL rotateLogs SERVICE
|
||||||
|
template templates/init.d/rotateLogs /etc/init.d/rotateLogs
|
||||||
|
rex doas chmod 0755 /etc/init.d/rotateLogs
|
||||||
|
rex doas chown root:root /etc/init.d/rotateLogs
|
||||||
|
rex doas rc-update add rotateLogs default
|
||||||
|
rex doas rc-service rotateLogs restart
|
||||||
|
|
||||||
#INSTALL cpu service
|
#INSTALL cpu service
|
||||||
template templates/init.d/cpu /etc/init.d/cpu
|
template templates/init.d/cpu /etc/init.d/cpu
|
||||||
rex doas chmod 0755 /etc/init.d/cpu
|
rex doas chmod 0755 /etc/init.d/cpu
|
||||||
|
|||||||
Reference in New Issue
Block a user