NetBox includes a
housekeeping management command that should be run nightly. This command handles:
- Clearing expired authentication sessions from the database
- Deleting changelog records older than the configured retention time
- Deleting job result records older than the configured retention time
- Check for new NetBox releases (if
This command can be invoked directly, or by using the shell script provided at
This script can be linked from your cron scheduler's daily jobs directory (e.g.
/etc/cron.daily) or referenced directly within the cron configuration file.
sudo ln -s /opt/netbox/contrib/netbox-housekeeping.sh /etc/cron.daily/netbox-housekeeping
On Debian-based systems, be sure to omit the
.sh file extension when linking to the script from within a cron directory. Otherwise, the task may not run.
First, create symbolic links for the systemd service and timer files. Link the existing service and timer files from the
/opt/netbox/contrib/ directory to the
sudo ln -s /opt/netbox/contrib/netbox-housekeeping.service /etc/systemd/system/netbox-housekeeping.service sudo ln -s /opt/netbox/contrib/netbox-housekeeping.timer /etc/systemd/system/netbox-housekeeping.timer
Then, reload the systemd configuration and enable the timer to start automatically at boot:
sudo systemctl daemon-reload sudo systemctl enable --now netbox-housekeeping.timer
Check the status of your timer by running:
sudo systemctl list-timers --all
This command will show a list of all timers, including your
netbox-housekeeping.timer. Make sure the timer is active and properly scheduled.
That's it! Your NetBox housekeeping service is now configured to run daily using systemd.