據(jù)備份)
restic 備份教程5 步搭好第一套自動化數(shù)據(jù)備份【免費下載鏈接】resticFast, secure, efficient backup program項目地址: https://gitcode.com/GitHub_Trending/re/restic你剛用 ShiftDelete 刪掉了一個項目目錄發(fā)現(xiàn)機器上沒有第二份拷貝。這種時候第一步不是慌張而是問一句數(shù)據(jù)最近的完好版本在哪里。restic 是一款用 Go 編寫的開源備份程序快速、安全它按內(nèi)容定址存儲以數(shù)據(jù)哈希為索引去重保存數(shù)據(jù)每次備份只上傳真正發(fā)生變化的部分。這份 restic 備份教程的目標(biāo)是帶你搭出一套能長期跑的 restic 備份流程選好存放位置、完成第一次備份、掛上定時任務(wù)并在需要時一條命令取回數(shù)據(jù)。? 先確定備份數(shù)據(jù)放哪順手把 restic 裝上restic 把存放備份數(shù)據(jù)的地方稱為倉庫repository。它可以是本地磁盤上的一個目錄也可以是某個遠(yuǎn)端服務(wù)的 URL。最常用的四類后端本地磁盤形如/srv/restic-repo的路徑零配置適合先跑通流程SFTPsftp:userhost:/srv/restic-repo通過 SSH 寫入遠(yuǎn)端服務(wù)器需先配好免密登錄RESTrest:http://host:8000/需要對接兼容的對象存儲服務(wù)AWS S3s3:s3.us-east-1.amazonaws.com/bucket_name把數(shù)據(jù)放進云端。如果你在評估 S3 后端先在 AWS 控制臺建好桶并創(chuàng)建專用訪問密鑰確認(rèn)頁面大致如下restic 安裝這一步很輕任選其一即可# Debian / Ubuntu apt-get install restic # macOSHomebrew brew install restic # WindowsWinGet winget install --id restic.restic其他平臺或官方二進制下載方式見官方安裝文檔doc/020_installation.rst。? 跑通第一次 restic 備份并驗證閉環(huán)先設(shè)置兩個環(huán)境變量后面的命令就不用重復(fù)交代倉庫和密碼export RESTIC_REPOSITORY/srv/restic-repo export RESTIC_PASSWORDyour-strong-password restic initRESTIC_REPOSITORY指向倉庫位置RESTIC_PASSWORD是倉庫密碼。要特別注意密碼丟失后倉庫內(nèi)數(shù)據(jù)將不可恢復(fù)請單獨妥善保存。init成功后會打印一個類似085b3c76b9的短 ID說明倉庫已經(jīng)就緒。接著執(zhí)行第一次備份并立刻用快照列表驗證結(jié)果restic backup ~/work restic snapshots每次成功備份都會生成一個快照snapshot——該時刻文件狀態(tài)的完整記錄以短 ID 標(biāo)識。restic snapshots會列出快照 ID、時間與所備份的目錄看到~/work對應(yīng)的條目閉環(huán)就跑通了。? 配置 restic 定時備份與保留策略手動備份不算真正的保護讓 restic 定時跑起來才是。這件事由兩部分組成cron 定時任務(wù) 快照保留策略??煺諘椒e越多靠forget決定留誰--keep-daily 7表示最近 7 天每天各留一份--keep-weekly 4留 4 周--keep-monthly 6留 6 個月。--prune會刪除不再被任何快照引用的數(shù)據(jù)真正騰出倉庫空間restic forget \ --keep-daily 7 \ --keep-weekly 4 \ --keep-monthly 6 \ --prune把備份和清理放進同一個腳本交給 cron 每天執(zhí)行# /path/to/backup.sh export RESTIC_REPOSITORY/srv/restic-repo export RESTIC_PASSWORD_FILE/path/to/password.txt restic backup ~/work restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --prune # 再用 crontab -e 加入一行每天凌晨 3 點執(zhí)行 # 0 3 * * * /path/to/backup.sh /var/log/restic-backup.log 21 真出問題時如何用 restic 數(shù)據(jù)恢復(fù)把文件取回restic 數(shù)據(jù)恢復(fù)其實只有兩件事選一個快照指定目標(biāo)目錄。restic restore latest --target /tmp/restore-worklatest指最新快照數(shù)據(jù)會按原目錄結(jié)構(gòu)寫進/tmp/restore-work。只需要單個文件時加--include /work/important.txtrestic 就只恢復(fù)它。完整的恢復(fù)參數(shù)說明見官方文檔doc/050_restore.rst。平時可以順手做完整性校驗restic check檢查倉庫結(jié)構(gòu)加--read-data會把所有數(shù)據(jù)讀出來做全面驗證發(fā)現(xiàn)索引或快照損壞時分別用restic repair index、restic repair snapshots修復(fù)。加密方面不用額外操心倉庫內(nèi)數(shù)據(jù)默認(rèn)全程加密。若要給另一臺機器訪問同一倉庫在那臺機器上執(zhí)行restic key add添加密鑰想更換密碼用restic key passwd。性能上網(wǎng)絡(luò)緊張時可先用--limit-upload/--limit-download限制吞吐、用--compression調(diào)整壓縮級別默認(rèn)值通常夠用。 收工前的檢查清單倉庫密碼或密碼文件已備份在安全位置且與備份數(shù)據(jù)分離存放第一次備份已生成restic snapshots能看到快照條目cron 任務(wù)已掛載并能看到前一天的執(zhí)行日志forget的保留策略與你實際能接受的恢復(fù)粒度匹配至少做過一次真實恢復(fù)到臨時目錄的演練。更多備份參數(shù)細(xì)節(jié)可參閱官方備份文檔doc/040_backup.rst?!久赓M下載鏈接】resticFast, secure, efficient backup program項目地址: https://gitcode.com/GitHub_Trending/re/restic創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考