千磨万击还坚劲,任尔东西南北风。这篇文章主要讲述Centos7 Snapper快照备份相关的知识,希望能为你提供帮助。
Centos7 Snapper快照备份
必须是btrfs文件系统
yum install -y snapper
创建配置文件:
创建根目录快照配置文件
snapper -c config_name create-config -f btrfs /
也可以直接复制模版:
cp /etc/snapper/config-templates/default /etc/snapper/configs/config_name
创建快照:
snapper快照默认存储在子卷下面的 .snapshots 目录中
创建独立快照,描述为“初始化”
snapper -c config_name create -d "
初始化"
创建pre和post快照:
pre 修改前的文件系统快照,每一张前快照都有一个对应的post快照。
snapper -c config_name create -t pre
post修改后的文件系统快照
snapper -c config_name create -t post --pre-num 1
显示快照列表:
snapper -c config_name list
查看快照内容变化:
snapper -c config_name status 1..2
恢复快照:
snapper -c config_name undochange 1..2
删除快照:
snapper -c config_name delete 1 2
开启自动快照:
systemctl start snapper-timeline.timer
systemctl enable snapper-timeline.timer
开启自动清理快照:
systemctl start snapper-cleanup.timer
systemctl enable snapper-cleanup.timer
修改快照自动清理的参数
配置文件位置:/etc/snapper/configs/<
配置名称>
字段名功能
BACKGROUND_COMPARISON="
yes"
定义在创建前后快照后是否要在后台对他们进行比较
NUMBER_CLEANUP="
yes"
自动删除旧快照
NUMBER_MIN_AGE="
1800"
快照自动删除前保留最小时限(秒)
NUMBER_LIMIT="
30"
没有标记,保留最新的50个快照
NUMBER_LIMIT_IMPORTANT="
10"
标记的,保留最新的10个快照
TIMELINE_CREATE="
yes"
每小时创建一个快照
TIMELINE_CLEANUP="
yes"
快照超出 TIMELINE_MIN_AGE时限时是否自动删除旧快照
TIMELINE_MIN_AGE="
1800"
自动删除保留的最小时限(秒)
TIMELINE_LIMIT_HOURLY="
3"
每小时:保留最近创建的十张快照
TIMELINE_LIMIT_DAILY="
7"
每天:保留最近十天内每天创建的首张快照
TIMELINE_LIMIT_WEEKLY="
0"
每周:保留最近十个月内每月的最后一天创建的首张快照
TIMELINE_LIMIT_MONTHLY="
0"
每月:保留最近十个月内每月的最后一天创建的首张快照
TIMELINE_LIMIT_YEARLY="
0"
每年:保留最后十年内每年的最后一天创建的首张快照
EMPTY_PRE_POST_CLEANUP="
yes"
系统删除前后快照相同的快照对
EMPTY_PRE_POST_MIN_AGE="
1800"
定义前后快照相同的快照对在自动删除之前必须保留的最短时限(以秒为单位)
通过脚本备份还原快照:
snapperlist.sh list # 显示所有快照
snapperlist.sh create # 创建快照,输入快照名称
snapperlist.sh restart # 重启快照、清理服务
snapperlist.sh status # 查询快照副本之间差异
snapperlist.sh delete # 删除快照,可以多个删除
snapperlist.sh undochange # 恢复最近一次快照
snapperlist.sh help # 帮助信息
【Centos7 Snapper快照备份】sanpperlist.sh
#!/bin/bash
case "
$1"
in
list)
snapper -c config_name list
;
;
create)
read -p "
输入快照名称:"
name
snapper -c config_name create -d $name
;
;
restart)
systemctl stop snapper-timeline.timer
systemctl start snapper-timeline.timer
systemctl start snapper-cleanup.timer
systemctl enable snapper-cleanup.timer
echo "
重启快照、清理服务..."
;
;
status)
snapper -c config_name list|awk -F‘|‘ ‘{print $2,$7}‘
read -p "
输入查询快照编号: (格式1..2)"
num
snapper -c config_name status $num
;
;
delete)
snapper -c config_name list|awk -F‘|‘ ‘{print $2,$7}‘
read -p "
输入删除快照编号:(格式1 2 3)"
num
snapper -c config_name delete $num
;
;
undochange)
snapper -c config_name create -d "
tmp"
num1=snapper -c config_name list|tail -2|awk ‘{print $3}‘|head -1
num2=snapper -c config_name list|tail -1|awk ‘{print $3}‘
str1=snapper -c config_name list|tail -2|awk ‘{print $17‘}|head -1
str2=snapper -c config_name list|tail -1|awk ‘{print $17}‘
echo "
[$num1 $str1] [$num2 $str2]"
if [ $str2 == tmp ];
then
read -n1 -p "
是否恢复$str1快照[Y/N]?"
answer
case $answer in
Y | y)
snapper -c config_name undochange "
$num1"
.."
$num2"
snapper -c config_name delete "
$num2"
;
;
N | n)
echo "
取消"
snapper -c config_name delete "
$num2"
exit 0
;
;
)
echo "
输入错误!"
;
;
esac
exit 0
fi
;
;
help)
snapper --help
;
;
)
echo "
{list|restart|status|delete|undochange|help}"
esac
推荐阅读
- Android学习——setSupportActionbar传入实例报错
- Android 滚动视图(ScollView)
- 微信跳转手机默认浏览器提示 微信h5页面中下载第三方app的方法
- 怎样微信扫描二维码跳转页面,H5页面在微信中下载APP的实现方式
- Android中刷新Invalidate和postInvalidate的区别
- 戴尔原版笔记本win7系统32位经典装机版的下载过程
- 最新下载系统之家windows7 32位稳定体验版的图文详细教程
- 系统之家win7 32位专业旗舰版最新系统下载图文详细教程
- 雨林木风win7旗舰版32位最新装机版系统免费下载