Automation and Scheduling

ProxSave can be run manually, via cron, or via systemd. The installer also offers a “cron time” field and can create/update a root crontab entry.

Example 1 — Use the installer to create/update the cron entry

Run the installer and set the “Cron time (HH:MM)” field:

cd /opt/proxsave
/opt/proxsave/build/proxsave --install

Then verify:

crontab -l

Example 2 — Manual crontab entry (simple)

Edit root’s crontab:

crontab -e

Example: run every day at 02:00:

0 2 * * * /usr/local/bin/proxsave

If you don’t have the global entrypoint, use the full binary path:

0 2 * * * /opt/proxsave/build/proxsave

Example 3 — Cron with a custom config file

Use when you maintain multiple environments (e.g., “production” vs “lab”):

0 2 * * * /usr/local/bin/proxsave --config /etc/proxsave/production.env
30 2 * * * /usr/local/bin/proxsave --config /etc/proxsave/lab.env

Example 4 — Cron with debug logging during investigation

Keep this only temporarily (debug logs can be large):

0 2 * * * /usr/local/bin/proxsave --log-level debug

Example 5 — systemd timer (optional alternative to cron)

If you prefer systemd timers, a minimal setup could look like:

/etc/systemd/system/proxsave.service:

[Unit]
Description=ProxSave backup

[Service]
Type=oneshot
ExecStart=/usr/local/bin/proxsave

/etc/systemd/system/proxsave.timer:

[Unit]
Description=Run ProxSave daily

[Timer]
OnCalendar=*-*-* 02:00:00
Persistent=true

[Install]
WantedBy=timers.target

Enable it:

systemctl daemon-reload
systemctl enable --now proxsave.timer
systemctl list-timers | grep proxsave