七乐彩往期中奖金额|金七乐奖金查询表

高效備份神器restic推薦!

Tue Sep 10, 2019

500 Words|Read in about 3 Min
Tags: Devops  

作為一個DevOps、SaOPS、NetOps、系統運維、網絡運維、DBA人員來說,資料數據的備份是必不可少的。我們經常在各個軟件產品維護過程備份各類數據庫、程序文件、配置文件等。經常使用的工具有 cp、scp、rsync、ssh、tar、git等等。然鵝,Restic是集大成于一身的超級備份神器!

Restic是為何物?

介紹

restic 是一個 Go 語言編寫的備份工具,特點是快速、高效而且安全。

支持備份介質

本地磁盤
Sftp-異地SSH主機磁盤
HTTP rest文件存儲
AWS S3
B2
Azure BS
Google CloudStorage等

特點

1.按版本備份  
2.多版本存儲  
3.差異化對比備份  
4.老舊版本可以清理

簡單

備份操作,應該非常容易操作。如果太過于復雜,可能運維人員就想跳過備份的情況。所以restic的備份操作非常簡單,恢復也是一樣的簡單。只需要一個backup或者restore的關鍵字即可。比如:

備份
restic -r /srv/restic-repo backup /www 
restic -r /srv/restic-repo backup /conf 
恢復
restic -r /srv/restic-repo restore 79766175 --target /tmp/restore-work

速度

備份數據的速度,取決于你的磁盤IO性能或者網絡吞吐性能,可以隨時激活備份機制進行備份。還原備份也盡可能快速,并快速得到需要還原所需要的數據。否則就沒有人去做還原或者備份了。

安全

Restic使用加密技術來保證數據的機密性和完整性。假設存儲備份數據的位置不是可信環境,restic的備份是加密的。其他人獲取到備份文件也無濟于事。

可校驗

比備份還要重要的是恢復,如果備份都不能恢復,再高效、再安全的備份都無濟于事。所以restic支持快速、簡單地檢測備份是否完整。

高效

隨著數據的增長,各個版本的快照備份只是增量數據的容量實際空間增長。重復數據的管理以保證寶貴的存儲空間得以高效利用。

操作演練

代碼獲取或安裝

倉庫 https://github.com/restic/restic
初始化倉庫
restic -r /backup/ init
備份
restic -r /backup backup /wwww
restic -r /backup backup /opt/nginx/conf
檢查快照
#restic -r /backup/ check
using temporary cache in /tmp/restic-check-cache-137737689
enter password for repository:
repository 6db5d370 opened successfully, password is correct
created new cache in /tmp/restic-check-cache-137737689
create exclusive lock for repository
load indexes
check all packs
check snapshots, trees and blobs
no errors were found

#檢查快照備份情況
# restic -r /backup/ snapshots
enter password for repository:
repository 6db5d370 opened successfully, password is correct
ID        Time                 Host           Tags        Paths
-------------------------------------------------------------------------
1b9f9482  2019-09-10 06:03:32  ip-10-10-1-91              /data/wwwroot
492a4515  2019-09-10 06:08:48  ip-10-10-1-91              /opt/nginx/conf
ad58caaa  2019-09-10 06:25:17  ip-10-10-1-91              /data/wwwroot
5c166686  2019-09-10 06:28:52  ip-10-10-1-91              /data/wwwroot
ad2490ad  2019-09-10 06:29:02  ip-10-10-1-91              /opt/nginx/conf
-------------------------------------------------------------------------
5 snapshots
掛載備份
restic -r /backup mount /r
enter password for repository:
repository 6db5d370 opened successfully, password is correct
Now serving the repository at /r
When finished, quit with Ctrl-c or umount the mountpoint.
清理快照,只保留最新的2個
# restic -r /backup/ forget --keep-last 2 --prune
repository 6db5d370 opened successfully, password is correct
Applying Policy: keep the last 2 snapshots snapshots
keep 2 snapshots:
ID        Time                 Host           Tags        Reasons        Paths
----------------------------------------------------------------------------------------
492a4515  2019-09-10 06:08:48  ip-10-10-1-91              last snapshot  /opt/nginx/conf
ad2490ad  2019-09-10 06:29:02  ip-10-10-1-91              last snapshot  /opt/nginx/conf
----------------------------------------------------------------------------------------
2 snapshots

keep 2 snapshots:
ID        Time                 Host           Tags        Reasons        Paths
--------------------------------------------------------------------------------------
ad58caaa  2019-09-10 06:25:17  ip-10-10-1-91              last snapshot  /data/wwwroot
5c166686  2019-09-10 06:28:52  ip-10-10-1-91              last snapshot  /data/wwwroot
--------------------------------------------------------------------------------------
2 snapshots

remove 1 snapshots:
ID        Time                 Host           Tags        Paths
-----------------------------------------------------------------------
1b9f9482  2019-09-10 06:03:32  ip-10-10-1-91              /data/wwwroot
-----------------------------------------------------------------------
1 snapshots

1 snapshots have been removed, running prune
counting files in repo
building new index for repo
[0:04] 100.00%  5075 / 5075 packs
repository contains 5075 packs (74841 blobs) with 21.764 GiB
processed 74841 blobs: 0 duplicate blobs, 0 B duplicate
load all snapshots
find data that is still in use for 4 snapshots
[0:02] 100.00%  4 / 4 snapshots
found 74813 of 74841 data blobs still in use, removing 28 blobs
will remove 0 invalid files
will delete 2 packs and rewrite 1 packs, this frees 4.516 MiB
[0:00] 100.00%  1 / 1 packs rewritten
counting files in repo
[0:05] 100.00%  5073 / 5073 packs
finding old index files
saved new indexes as [f0e9bfae 41f4180c]
remove 3 old index files
[0:00] 100.00%  3 / 3 packs deleted
done
刪除某個快照
restic -r /srv/restic-repo forget bdbd3439
清理磁盤文件
restic -r /srv/restic-repo prune
指定密碼文件或者密碼,自動化備份過程通過自定義環境變量或者密碼文件進行無聲備份
RESTIC_PASSWORD or RESTIC_PASSWORD_FILE
export RESTIC_PASSWORD="xxxpass"

See Also

Tue Sep 10, 2019

500 Words|Read in about 3 Min
Tags: Devops  
七乐彩往期中奖金额 广东36选7 正规理财平台 江苏十一选五 最安全的理财平台推荐 日本av碟片 天津快乐十分 关于防范期货配资业务风险的通知 配资骗局 118比分网 日本AV奶水喷出在线观看 山东11选5 北京11选5 江苏十一选五 小赢理财 上海期货配资公司 3月27上证指数