小编给大家分享一下linux如何使用restic和systemd自动备份,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
如果你还没有安装 restic
,请注意它在官方的 Fedora 仓库中。要安装它,请带上 sudo 运行此命令:
$ sudo dnf install restic
首先,创建 ~/.config/systemd/user/restic-backup.service
。将下面的文本复制并粘贴到文件中以获得更好的效果。
[Unit]Description=Restic backup service[Service]Type=oneshotExecStart=restic backup --verbose --one-file-system --tag systemd.timer $BACKUP_EXCLUDES $BACKUP_PATHSExecStartPost=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_YEARSEnvironmentFile=%h/.config/restic-backup.conf
此服务引用环境文件来加载密钥(例如 RESTIC_PASSWORD
)。创建 ~/.config/restic-backup.conf
。复制并粘贴以下内容以获更好效果。此示例使用 BackBlaze B2 存储。请相应地调整 ID、密钥、仓库和密码值。
BACKUP_PATHS="/home/rupert"BACKUP_EXCLUDES="--exclude-file /home/rupert/.restic_excludes --exclude-if-present .exclude_from_backup"RETENTION_DAYS=7RETENTION_WEEKS=4RETENTION_MONTHS=6RETENTION_YEARS=3B2_ACCOUNT_ID=XXXXXXXXXXXXXXXXXXXXXXXXXB2_ACCOUNT_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXRESTIC_REPOSITORY=b2:XXXXXXXXXXXXXXXXXX:/RESTIC_PASSWORD=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
现在已安装该服务,请重新加载 systemd:systemctl -user daemon-reload
。尝试手动运行该服务以创建备份:systemctl -user start restic-backup
。
因为该服务类型是一次性,它将运行一次并退出。验证服务运行并根据需要创建快照后,设置计时器以定期运行此服务。例如,要每天运行 restic-backup.service
,请按如下所示创建 ~/.config/systemd/user/restic-backup.timer
。再次复制并粘贴此文本:
[Unit]Description=Backup with restic daily[Timer]OnCalendar=dailyPersistent=true[Install]WantedBy=timers.target
运行以下命令启用:
$ systemctl --user enable --now restic-backup.timer
虽然主服务运行 forget
命令仅保留保留策略中的快照,但实际上并未从 restic
仓库中删除数据。 prune
命令检查仓库和当前快照,并删除与快照无关的所有数据。由于 prune
可能是一个耗时的过程,因此无需在每次运行备份时运行。这是第二个服务和计时器的场景。首先,通过复制和粘贴此文本来创建文件 ~/.config/systemd/user/restic-prune.service
:
[Unit]Description=Restic backup service (data pruning)[Service]Type=oneshotExecStart=restic pruneEnvironmentFile=%h/.config/restic-backup.conf
与主 restic-backup.service
服务类似,restic-prune
可以手动运行。设置完服务后,创建 ~/.config/systemd/user/restic-prune.timer
并启用相应的计时器:
[Unit]Description=Prune data from the restic repository monthly[Timer]OnCalendar=monthlyPersistent=true[Install]WantedBy=timers.target
以上是“linux如何使用restic和systemd自动备份”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。