Loading search index…
No recent searches
No results for "Query here"
Prepare restic:
restic
# create config folder > umask 022 > mkdir /etc/restic
> vi /etc/restic/s3.env RESTIC_PASSWORD='<repo_password>' RESTIC_REPOSITORY="s3:https://s3.example.com/restic-backup-bucket" AWS_ACCESS_KEY_ID="<access_id>" AWS_SECRET_ACCESS_KEY="<access_key>" RETENTION_DAYS=7 RETENTION_WEEKS=4 RETENTION_MONTHS=6 RETENTION_YEARS=3 DG_CACHE_HOME=/mnt/datastore HOME=/mnt/datastore/files
> vi /etc/restic/s3.files # include paths to backup /mnt/datastore/files /var/opt /etc
> vi /etc/restic/s3.exclude # exclude paths from backup /mnt/datastore/files/foo /mnt/datastore/files/bar
> vi /usr/local/bin//restic_d.sh #!/bin/bash source /etc/restic/s3.env export $(cut -d= -f1 /etc/restic/s3.env) exec restic "$@"
> chown -R root:root /etc/restic > chmod -R 0600 /etc/restic > chmod 0700 /usr/local/bin/restic_d.sh
Backup files:
# initialize backup repository > /usr/local/bin/restic_d.sh init # backup files > /usr/local/bin/restic_d.sh backup
Create unit files:
[Unit] Description=Restic backup on %I After=network-online.target [Service] Type=oneshot ExecStart=/usr/bin/restic backup \ --files-from /etc/restic/%I.files \ --exclude-file /etc/restic/%I.exclude \ --exclude-caches \ --tag systemd.timer ExecStartPost=restic forget \ --verbose \ --tag systemd.timer \ --group-by "paths,tags" \ --keep-daily $RETENTION_DAYS \ --keep-weekly $RETENTION_WEEKS \ --keep-monthly $RETENTION_MONTHS \ --keep-yearly $RETENTION_YEARS EnvironmentFile=/etc/restic/%I.env AmbientCapabilities=CAP_DAC_READ_SEARCH WorkingDirectory=/mnt/datastore [Install] WantedBy=multi-user.target ssh-agent.service
[Unit] Description=Run Restic every hour [Timer] OnCalendar=*-*-* *:35:00 [Install] WantedBy=timers.target
# enable timer > systemctl enable restic@s3.timer # test backup via systemd > systemctl start restic@s3.service