Skip to content
Snippets Groups Projects
Select Git revision
  • 7ca3770b95f32cbf2e2b25ce65561138f646aecc
  • master default protected
  • 7771-harden-postgres-backup
  • pgsql-dump-with-snapshots
  • update-colors
  • update-docs-css
  • usb-repair-stick
  • desktop-notification
  • 7000-corrections
  • db-detector
10 results

40_Cronjob.md

Blame
  • Hahn Axel (hahn)'s avatar
    Hahn Axel (hahn) authored
    5c841e09
    History

    Backup

    To start a daily backup at 23:03:

    $ cat /etc/cron.d/client-backup 
    3 23 * * * root /opt/imlbackup/client/backup.sh >/dev/null 2>&1

    ... or with using the cronwrapper

    see 📗 https://www.axel-hahn.de/docs/cronwrapper/ 🧾 https://github.com/axelhahn/cronwrapper

    TTL is 1440 for 1440 min = 1d

    $ cat /etc/cron.d/client-backup 
    3 23 * * * root /usr/local/bin/cronwrapper.sh 1440 /opt/imlbackup/client/backup.sh 'iml-backup'

    Prune and verify

    By default prune and verify are executed on each backup run. This is a safe way. A very safe way.

    BUT: By doing this the backup with Restic is running for a few seconds and prune + verify take a much-much longer time. In many cases it is a good idea to split backup and prune + verify.

    Example:

    You want to start a daily (or hourly) backup. Pruning and verify shall run on Saturday and Sunday.

    In jobs/transfer.job set a limit greater 7 days:

    prune-after = 14
    verify-after = 14

    Then define your weekly yobs on Saturday and Sunday.

    $ cat /etc/cron.d/client-backup 
    3 23 * * * root /usr/local/bin/cronwrapper.sh 1440 /opt/imlbackup/client/backup.sh 'iml-backup'
    7 18 * * 6 root /usr/local/bin/cronwrapper.sh 1440 /opt/imlbackup/client/prune.sh 'iml-backup-prune'
    7 18 * * 0 root /usr/local/bin/cronwrapper.sh 1440 /opt/imlbackup/client/verify.sh 'iml-backup-verify'

    Desktop notification

    If you don't run the backup on a server but on a client you can activate the desktop notification for a user that is logged in. Set a variable SUPER_USER=<USERNAME> in your cron file.

    Example:

    $ cat /etc/cron.d/client-backup 
    
    SUPER_USER=axel
    
    */17 * * * root /usr/local/bin/cronwrapper.sh 1440 /opt/imlbackup/client/backup.sh 'iml-backup'