linux服务器自动生成本地快照

简介: 【8月更文挑战第28天】本文介绍了在Linux服务器上通过两种常见方式创建本地快照的方法:Btrfs文件系统与LVM。Btrfs原生支持快照功能,操作简单快捷;LVM则提供了灵活的逻辑卷管理,可在不影响原始数据的情况下创建快照。文章详细列出了创建、查看、挂载及清理快照的具体步骤,并提供了一个自动化的Shell脚本示例,便于用户根据需求定期创建快照并清理过期快照。

在Linux服务器上创建本地快照通常涉及到文件系统的快照功能,如Btrfs或LVM(Logical Volume Manager)。这里我将给出两种常见的方法来创建快照:一种是使用Btrfs文件系统,另一种是使用LVM。

Btrfs 文件系统快照
Btrfs 是一种先进的文件系统,它原生支持快照功能。如果你的服务器使用了Btrfs文件系统,你可以非常容易地创建快照。

创建 Btrfs 快照的步骤:
检查文件系统:
bash

df -T /path/to/your/mountpoint
确认你的目标目录使用的是Btrfs文件系统。
创建快照:
bash

btrfs subvolume snapshot /path/to/source /path/to/destination
这里 /path/to/source 是你想快照的源目录,而 /path/to/destination 是存放快照的地方。注意这个路径不能与源路径相同。
查看快照:
bash

btrfs subvolume list /path/to/destination
LVM 快照
LVM 提供了逻辑卷管理器的功能,可以用于创建快照。LVM 的快照机制允许你在不影响原始数据的情况下对数据进行读取和修改。

创建 LVM 快照的步骤:
检查逻辑卷:
bash

lvdisplay
查看已有的逻辑卷。
创建快照:
bash

lvcreate --size --snapshot /dev// /dev//
其中 是快照的大小, 是卷组名, 是逻辑卷名, 是新快照的名称。
挂载快照:
bash

mkdir /mnt/snapshot
mount /dev// /mnt/snapshot
卸载并清除快照:
bash

umount /mnt/snapshot
rmdir /mnt/snapshot
lvremove /dev//
自动化脚本
为了自动化这些过程,你可以编写一个Shell脚本来定期创建快照,并利用cron定时任务来定期执行。

示例 Shell 脚本 (对于 Btrfs 或 LVM):
bash

!/bin/bash

设置源路径和目标路径

SOURCE=/path/to/source
DESTINATION=/path/to/destination

创建快照

if [[ $(df -T $SOURCE | tail -n 1 | awk '{print $2}') == "btrfs" ]]; then

# Btrfs 快照
btrfs subvolume snapshot $SOURCE $DESTINATION

elif [[ $(vgdisplay | grep "Volume group name" | awk '{print $4}') ]]; then

# LVM 快照
VG=$(vgdisplay | grep "Volume group name" | awk '{print $4}')
LV=$(lvdisplay | grep $VG | grep $SOURCE | awk '{print $3}')
SNAPSHOT=$DESTINATION
lvcreate --size 1G --snapshot /dev/$VG/$LV /dev/$VG/$SNAPSHOT
mkdir -p /mnt/snapshot
mount /dev/$VG/$SNAPSHOT /mnt/snapshot

fi

清理旧快照

find $DESTINATION -mtime +7 -exec rm -rf {} \;

exit 0
添加到 cron
将上述脚本保存为可执行文件,例如 create_snapshot.sh,然后添加到 cron 定时任务中。

bash

crontab -e
在编辑器中添加一行,例如每晚午夜执行:

crontab

0 0 * /path/to/create_snapshot.sh
这将每天午夜执行 create_snapshot.sh 脚本,创建新的快照并清理一周前的老快照。

目录
相关文章
|
2月前
|
弹性计算 安全 Linux
阿里云服务器ECS安装宝塔Linux面板、安装网站(新手图文教程)
本教程详解如何在阿里云服务器上安装宝塔Linux面板,涵盖ECS服务器手动安装步骤,包括系统准备、远程连接、安装命令执行、端口开放及LNMP环境部署,手把手引导用户快速搭建网站环境。
|
4月前
|
Linux 网络安全 数据安全/隐私保护
使用Linux系统的mount命令挂载远程服务器的文件夹。
如此一来,你就完成了一次从你的Linux发车站到远程服务器文件夹的有趣旅行。在这个技术之旅中,你既探索了新地方,也学到了如何桥接不同系统之间的距离。
539 21
|
2月前
|
存储 弹性计算 运维
阿里云服务器快照是什么?快照详细介绍
阿里云ECS快照服务是对云盘数据在某一时刻的完整备份,支持定时自动备份,防范数据丢失风险。快照按存储空间收费,可用OSS存储包抵扣。适用于日常备份、高危操作恢复、快速数据恢复、业务批量部署等场景,保障业务连续性与数据安全。
|
3月前
|
Java Linux 网络安全
Linux云端服务器上部署Spring Boot应用的教程。
此流程涉及Linux命令行操作、系统服务管理及网络安全知识,需要管理员权限以进行配置和服务管理。务必在一个测试环境中验证所有步骤,确保一切配置正确无误后,再将应用部署到生产环境中。也可以使用如Ansible、Chef等配置管理工具来自动化部署过程,提升效率和可靠性。
334 13
|
7月前
|
安全 Java Linux
Websoft9:为开发者打造的高效 Linux 服务器面板
Websoft9 是一款以开源应用部署与管理为核心的服务器面板,采用“环境即服务”模式。它通过运行环境标准化、自动化配置、安全融合和资源管理四个方面实现平台与环境的深度协同。支持多语言框架预集成、云原生组件整合,提供 200+ 应用模板一键部署,并具备全流程安全防护和统一资源监控能力,助力开发者高效管理和扩展应用环境。
188 0
|
3月前
|
监控 Linux 网络安全
FinalShell SSH工具下载,服务器管理,远程桌面加速软件,支持Windows,macOS,Linux
FinalShell是一款国人开发的多平台SSH客户端工具,支持Windows、Mac OS X和Linux系统。它提供一体化服务器管理功能,支持shell和sftp同屏显示,命令自动提示,操作便捷。软件还具备加速功能,提升访问服务器速度,适合普通用户和专业人士使用。
235 0
|
3月前
|
存储 安全 Linux
Linux服务器上安装配置GitLab的步骤。
按照以上步骤,一个基础的GitLab服务应该运行并可以使用。记得定期检查GitLab官方文档,因为GitLab的安装和配置步骤可能随着新版本而变化。
245 0
|
5月前
|
存储 安全 Ubuntu
从Linux到Windows:阿里云服务器系统镜像适配场景与选择参考
阿里云为用户提供了丰富多样的服务器操作系统选择,以满足不同场景下的应用需求。目前,云服务器的操作系统镜像主要分为公共镜像、自定义镜像、共享镜像、镜像市场和社区镜像五大类。以下是对这些镜像类型的详细介绍及选择云服务器系统时需要考虑的因素,以供参考。
|
5月前
|
Ubuntu Linux 网络安全
在Linux云服务器上限制特定IP进行SSH远程连接的设置
温馨提示,修改iptables规则时要格外小心,否则可能导致无法远程访问你的服务器。最好在掌握足够技术知识和理解清楚操作含义之后再进行。另外,在已经配置了防火墙的情况下,例如ufw(Ubuntu Firewall)或firewalld,需要按照相应的防火墙的规则来设置。
202 24
|
4月前
|
Linux
Linux下版本控制器(SVN) -服务器端环境搭建步骤
Linux下版本控制器(SVN) -服务器端环境搭建步骤
202 0
Linux下版本控制器(SVN) -服务器端环境搭建步骤