Clean up old logs

Hi uroni
i just want to clean up old logging. when i open up the webserver:55414 and then logs i see old (errors) from jan 2014.
can you please tell me hou to cleanup old logging ???

many many thanks

Currently only through hackery with the sqlite3 shell.

# sqlite3 backup_server.db

Sorry for bringing this old thread back to life, but I think this is genuinely useful!

However, just executing the command above will leave you with a broken logging function, as logs are incorrectly referenced (so you might see logs for old clients, or different clients than the log is actually aimed at).

To really clean the logs, I had to do this:

# sqlite3 backup_server.db
DELETE FROM log_data;

This is with urbackup 2.4.13 running in docker. I am by no means a database expert, but I have not seen anything break so far.

1 Like

Can you help a noob out with how to do this within unraid?

Hi @uroni do I need everytime delete all logs or can I delete only selected logs?

Here are a short shell script to delete old logs with some filter options

sorry some changes because of timezone, now this should work.


# Name of SQLite-file

# Define varibles
export client_name="PC01"    # Client Name
export is_image=0            # 0 = file backup logs 1 = image backup logs

# Set the time at sytem timezone
older_then="2023-10-24 00:00:00"

# Convert the time to UTC using the date command
utc_offset=$(date +"%z")
older_then_utc=$(date -d "$older_then $utc_offset" -u +"%Y-%m-%d %H:%M:%S")

# SQL part
sqlite3 $db_file <<EOF

DELETE FROM log_data
WHERE logid IN (
  FROM logs
  JOIN clients ON logs.clientid =
  WHERE = '$client_name' 
    AND logs.image = '$is_image' 
    AND logs.created < '$older_then_utc'

WHERE clientid IN ( 
  SELECT id 
  FROM clients 
  WHERE name = '$client_name' 
AND image = '$is_image' 
AND created < '$older_then_utc';
1 Like