自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

使用restic和systemd自動備份

系統(tǒng) Linux
及時備份很重要。即使在 Fedora Magazine 中,備份軟件 也是一個常見的討論話題。本文演示了如何僅使用 systemd 以及 restic 來自動備份。

[[265671]]

及時備份很重要。即使在 Fedora Magazine 中,備份軟件 也是一個常見的討論話題。本文演示了如何僅使用 systemd 以及 restic 來自動備份。

有關(guān) restic 的介紹,請查看我們的文章在 Fedora 上使用 restic 進行加密備份。然后繼續(xù)閱讀以了解更多詳情。

為了自動創(chuàng)建快照以及清理數(shù)據(jù),需要運行兩個 systemd 服務(wù)。運行備份命令的服務(wù)需要以常規(guī)頻率運行。第二個服務(wù)負(fù)責(zé)數(shù)據(jù)清理。

如果你根本不熟悉 systemd,那么這是個很好的學(xué)習(xí)機會。查看 Magazine 上關(guān)于 systemd 的系列文章,從單元文件的這個入門開始:

如果你還沒有安裝 restic,請注意它在官方的 Fedora 倉庫中。要安裝它,請帶上 sudo 運行此命令:

  1. $ sudo dnf install restic

備份

首先,創(chuàng)建 ~/.config/systemd/user/restic-backup.service。將下面的文本復(fù)制并粘貼到文件中以獲得更好的效果。

  1. [Unit]
  2. Description=Restic backup service
  3. [Service]
  4. Type=oneshot
  5. ExecStart=restic backup --verbose --one-file-system --tag systemd.timer $BACKUP_EXCLUDES $BACKUP_PATHS
  6. 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
  7. EnvironmentFile=%h/.config/restic-backup.conf

此服務(wù)引用環(huán)境文件來加載密鑰(例如 RESTIC_PASSWORD)。創(chuàng)建 ~/.config/restic-backup.conf。復(fù)制并粘貼以下內(nèi)容以獲更好效果。此示例使用 BackBlaze B2 存儲。請相應(yīng)地調(diào)整 ID、密鑰、倉庫和密碼值。

  1. BACKUP_PATHS="/home/rupert"
  2. BACKUP_EXCLUDES="--exclude-file /home/rupert/.restic_excludes --exclude-if-present .exclude_from_backup"
  3. RETENTION_DAYS=7
  4. RETENTION_WEEKS=4
  5. RETENTION_MONTHS=6
  6. RETENTION_YEARS=3
  7. B2_ACCOUNT_ID=XXXXXXXXXXXXXXXXXXXXXXXXX
  8. B2_ACCOUNT_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  9. RESTIC_REPOSITORY=b2:XXXXXXXXXXXXXXXXXX:/
  10. RESTIC_PASSWORD=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

現(xiàn)在已安裝該服務(wù),請重新加載 systemd:systemctl -user daemon-reload。嘗試手動運行該服務(wù)以創(chuàng)建備份:systemctl -user start restic-backup。

因為該服務(wù)類型是一次性,它將運行一次并退出。驗證服務(wù)運行并根據(jù)需要創(chuàng)建快照后,設(shè)置計時器以定期運行此服務(wù)。例如,要每天運行 restic-backup.service,請按如下所示創(chuàng)建 ~/.config/systemd/user/restic-backup.timer。再次復(fù)制并粘貼此文本:

  1. [Unit]
  2. Description=Backup with restic daily
  3. [Timer]
  4. OnCalendar=daily
  5. Persistent=true
  6. [Install]
  7. WantedBy=timers.target

運行以下命令啟用:

  1. $ systemctl --user enable --now restic-backup.timer

清理

雖然主服務(wù)運行 forget 命令僅保留保留策略中的快照,但實際上并未從 restic 倉庫中刪除數(shù)據(jù)。 prune 命令檢查倉庫和當(dāng)前快照,并刪除與快照無關(guān)的所有數(shù)據(jù)。由于 prune 可能是一個耗時的過程,因此無需在每次運行備份時運行。這是第二個服務(wù)和計時器的場景。首先,通過復(fù)制和粘貼此文本來創(chuàng)建文件 ~/.config/systemd/user/restic-prune.service

  1. [Unit]
  2. Description=Restic backup service (data pruning)
  3. [Service]
  4. Type=oneshot
  5. ExecStart=restic prune
  6. EnvironmentFile=%h/.config/restic-backup.conf

與主 restic-backup.service 服務(wù)類似,restic-prune 可以手動運行。設(shè)置完服務(wù)后,創(chuàng)建 ~/.config/systemd/user/restic-prune.timer 并啟用相應(yīng)的計時器:

  1. [Unit]
  2. Description=Prune data from the restic repository monthly
  3. [Timer]
  4. OnCalendar=monthly
  5. Persistent=true
  6. [Install]
  7. WantedBy=timers.target

就是這些了!restic 將會每日運行并按月清理數(shù)據(jù)。 

 

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2019-04-17 08:00:00

Linuxrestic目錄

2023-02-16 09:52:46

journalctlsystemdLinux

2009-09-29 10:52:34

Linux自動備份操作系統(tǒng)

2021-06-04 06:20:47

systemd定位工具系統(tǒng)運維

2021-05-18 16:25:44

systemd啟動項系統(tǒng)運維

2010-12-31 14:42:51

ExchangeSer

2011-03-28 16:12:55

mysql自動遠(yuǎn)程備份

2019-11-28 10:15:35

TimeShiftUbuntuLinux

2021-11-26 05:57:12

開源備份Restic

2021-06-16 11:25:59

備份命令開源

2021-04-18 12:12:29

systemd定時器系統(tǒng)運維

2022-07-20 07:13:45

Linuxsystemd

2014-07-14 09:24:51

Debiansystemd

2022-05-27 10:59:22

LinuxSystemd

2011-08-08 10:10:21

Linux備份

2009-12-15 14:36:24

2013-09-09 17:17:18

MYSQL自動備份

2011-05-16 11:29:00

MySQL自動備份

2012-09-28 13:39:40

Windows備份

2023-05-11 08:46:28

MySQL
點贊
收藏

51CTO技術(shù)棧公眾號