snapshot
8
总安装量
5
周安装量
#34229
全站排名
安装命令
npx skills add https://github.com/chaterm/terminal-skills --skill snapshot
Agent 安装分布
claude-code
5
opencode
4
windsurf
3
codex
3
antigravity
3
gemini-cli
3
Skill 文档
å¿«ç §ç®¡ç
æ¦è¿°
LVM å¿«ç §ãæä»¶ç³»ç»å¿«ç §ãäºå¿«ç §ç®¡çæè½ã
LVM å¿«ç §
åå»ºå¿«ç §
# æ¥çé»è¾å·
lvs
lvdisplay
# å建快ç
§
lvcreate -L 10G -s -n snap_data /dev/vg0/data
# å建èå¿«ç
§
lvcreate -s -n snap_data /dev/vg0/thin_data
# æ¥çå¿«ç
§
lvs -a
lvdisplay /dev/vg0/snap_data
æè½½å¿«ç §
# æè½½åªè¯»
mount -o ro /dev/vg0/snap_data /mnt/snapshot
# æè½½è¯»å
mount /dev/vg0/snap_data /mnt/snapshot
æ¢å¤æ°æ®
# ä»å¿«ç
§æ¢å¤
lvconvert --merge /dev/vg0/snap_data
# æ¢å¤åéå¸è½½åå·
umount /dev/vg0/data
lvconvert --merge /dev/vg0/snap_data
mount /dev/vg0/data /data
å é¤å¿«ç §
# å¸è½½å¹¶å é¤
umount /mnt/snapshot
lvremove /dev/vg0/snap_data
Btrfs å¿«ç §
åå»ºå¿«ç §
# å建åªè¯»å¿«ç
§
btrfs subvolume snapshot -r /data /snapshots/data_$(date +%Y%m%d)
# å建å¯åå¿«ç
§
btrfs subvolume snapshot /data /snapshots/data_writable
# æ¥çåå·
btrfs subvolume list /
管çå¿«ç §
# å é¤å¿«ç
§
btrfs subvolume delete /snapshots/data_20240101
# åéå¿«ç
§ï¼å¤ä»½ï¼
btrfs send /snapshots/data_readonly | btrfs receive /backup/
# å¢éåé
btrfs send -p /snapshots/old /snapshots/new | btrfs receive /backup/
ZFS å¿«ç §
åå»ºå¿«ç §
# å建快ç
§
zfs snapshot pool/dataset@snap_$(date +%Y%m%d)
# éå½å建
zfs snapshot -r pool/dataset@snap_name
# æ¥çå¿«ç
§
zfs list -t snapshot
管çå¿«ç §
# åæ»
zfs rollback pool/dataset@snap_name
# å
é
zfs clone pool/dataset@snap_name pool/clone_dataset
# å é¤
zfs destroy pool/dataset@snap_name
# åé/æ¥æ¶
zfs send pool/dataset@snap | zfs receive backup/dataset
äºå¿«ç §
AWS EBS
# å建快ç
§
aws ec2 create-snapshot \
--volume-id vol-1234567890abcdef0 \
--description "Backup $(date +%Y%m%d)"
# æ¥çå¿«ç
§
aws ec2 describe-snapshots --owner-ids self
# ä»å¿«ç
§å建å·
aws ec2 create-volume \
--snapshot-id snap-1234567890abcdef0 \
--availability-zone us-east-1a
# å é¤å¿«ç
§
aws ec2 delete-snapshot --snapshot-id snap-1234567890abcdef0
é¿éäº
# å建快ç
§
aliyun ecs CreateSnapshot --DiskId d-xxx --SnapshotName backup
# æ¥çå¿«ç
§
aliyun ecs DescribeSnapshots
# å é¤å¿«ç
§
aliyun ecs DeleteSnapshot --SnapshotId s-xxx
常è§åºæ¯
åºæ¯ 1ï¼æ°æ®åºä¸è´æ§å¿«ç §
#!/bin/bash
# MySQL + LVM å¿«ç
§
mysql -e "FLUSH TABLES WITH READ LOCK;"
lvcreate -L 10G -s -n db_snap /dev/vg0/mysql_data
mysql -e "UNLOCK TABLES;"
# å¤ä»½å¿«ç
§
mount -o ro /dev/vg0/db_snap /mnt/snap
tar -czvf /backup/mysql_$(date +%Y%m%d).tar.gz /mnt/snap
umount /mnt/snap
lvremove -f /dev/vg0/db_snap
åºæ¯ 2ï¼èªå¨å¿«ç §èæ¬
#!/bin/bash
# Btrfs èªå¨å¿«ç
§
SNAP_DIR="/snapshots"
MAX_SNAPS=7
# å建快ç
§
btrfs subvolume snapshot -r /data ${SNAP_DIR}/data_$(date +%Y%m%d_%H%M)
# æ¸
çæ§å¿«ç
§
ls -1d ${SNAP_DIR}/data_* | head -n -${MAX_SNAPS} | xargs -r btrfs subvolume delete
åºæ¯ 3ï¼å¿«ç §ååé©å
#!/bin/bash
# å¿«ç
§å
systemctl stop application
sync
# å建快ç
§
lvcreate -L 5G -s -n app_snap /dev/vg0/app_data
# å¿«ç
§å
systemctl start application
æ éææ¥
| é®é¢ | ææ¥æ¹æ³ |
|---|---|
| å¿«ç §ç©ºé´æ»¡ | æ©å±å¿«ç §ãåå°åæ´ |
| å¿«ç §å¤±æ | æ£æ¥ COW ç©ºé´ |
| æ¢å¤å¤±è´¥ | æ£æ¥å·ç¶æãä¾èµ |
| æ§è½ä¸é | åå°å¿«ç §æ°é |
# LVM å¿«ç
§ç¶æ
lvs -a -o +snap_percent
# Btrfs 空é´
btrfs filesystem df /
btrfs filesystem usage /
# ZFS 空é´
zfs list -o space