及时备份很重要。即使在FedoraMagazine中,备份软件也是一个常见的讨论话题。本文演示了如何仅使用systemd和restic自动备份。有关restic的介绍,请查看我们的文章在Fedora上使用restic进行加密备份。然后继续阅读以了解更多详细信息。为了自动创建快照和清理数据,需要运行两个systemd服务。运行备份命令的服务需要定期运行。第二个服务负责数据清理。如果您根本不熟悉systemd,这是一个很好的学习机会。查看Magazine关于systemd的系列文章,从单元文件入门开始:systemd单元文件基础如果您还没有安装restic,请注意它在官方Fedora存储库中。要安装它,请使用sudo运行此命令:$sudodnfinstallrestic-backup首先,创建~/.config/systemd/user/restic-backup.service。将下面的文本复制并粘贴到文件中以获得更好的效果。[Unit]Description=Restic备份服务[Service]Type=oneshotExecStart=resticbackup--verbose--one-file-system--tagsystemd.timer$BACKUP_EXCLUDES$BACKUP_PATHSExecStartPost=resticforget--verbose--tagsystemd.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。复制并粘贴以下内容以获得更好的结果。此示例使用BackBlazeB2存储。请相应地调整ID、Secret、Repository和Password值。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=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX服务已安装,请重新加载systemd:systemctl-userdaemon-reload。尝试手动运行该服务以创建备份:systemctl-userstartrestic-backup。由于服务类型是一次性的,所以会运行一次就退出。在验证服务正在运行并根据需要拍摄快照后,设置计时器以定期运行服务。例如,要每天运行restic-backup.service,创建~/.config/systemd/user/restic-backup.timer如下。再次复制并粘贴此文本:[Unit]Description=Backupwithresticdaily[Timer]OnCalendar=dailyPersistent=true[Install]WantedBy=timers.target运行以下命令以启用:$systemctl--userenable--nowrestic-备份。timercleanup虽然master服务运行forget命令只保留了retentionpolicy中的快照,但实际上并没有从restic仓库中删除数据。prune命令检查存储库和当前快照,并删除与快照无关的所有数据。由于修剪可能是一个耗时的过程,因此不需要在每次运行备份时都运行它。这是第二种服务和定时器场景。首先,通过复制和粘贴以下文本创建文件~/.config/systemd/user/restic-prune.service:[Unit]Description=Resticbackupservice(datapruning)[Service]Type=oneshotExecStart=resticpruneEnvironmentFile=%h/.config/restic-backup.conf与主要的restic-backup.service服务类似,restic-prune可以手动运行。设置服务后,创建~/.config/systemd/user/restic-prune.timer并启用相应的定时器:[Unit]Description=Prunedatafromtheresticrepositorymonthly[Timer]OnCalendar=monthlyPersistent=true[Install]WantedBy=timers.target就是这样!restic将每天运行并每月清理数据。
