上一篇
Linux如何快速备份文件夹
- Linux
- 2025-07-06
- 2316
使用
cp -r
命令复制文件夹;或用
tar
命令打包压缩, ,
cp -r /源文件夹 /备份路径
或
tar -czvf 备份名.tar.gz /源文件夹
方法1:使用 cp
命令(简单复制)
适用场景:快速小文件备份
步骤:
cp -r /源文件夹路径 /备份目录路径
示例:
cp -r ~/Documents /backup/Documents_backup
参数说明:
-r
:递归复制子目录和文件-v
:显示复制进度(可选)
注意:cp
会覆盖同名文件,不适合增量备份。
方法2:使用 rsync
命令(增量备份推荐)
适用场景:高效同步/增量备份,支持本地和远程
步骤:
rsync -av --delete /源文件夹路径/ /备份目录路径
示例:
rsync -av --delete ~/Photos/ /backup/Photos/
参数解析:
-a
:归档模式(保留权限、时间戳等)-v
:显示详细过程--delete
:删除备份端多余文件(保持严格同步)- 末尾的 表示复制文件夹内容(不加 会创建子目录)
远程备份示例(备份到另一台服务器):
rsync -avz -e ssh ~/Data/ user@remote-server:/backup/
方法3:使用 tar
命令(打包压缩)
适用场景:长期归档或节省空间
步骤:
tar -czvf 备份名.tar.gz /源文件夹路径
示例:
tar -czvf project_backup_$(date +%F).tar.gz ~/project/
参数说明:
-c
:创建压缩包-z
:用gzip压缩-v
:显示过程-f
:指定文件名$(date +%F)
:自动添加日期(如project_backup_2025-10-05.tar.gz
)
解压命令:
tar -xzvf 备份名.tar.gz -C /解压目录
方法4:使用 dd
命令(磁盘级备份)
适用场景:完整分区/磁盘备份(需谨慎操作)
步骤:
dd if=/源分区路径 of=/备份文件路径/备份名.img bs=4M status=progress
示例:
dd if=/dev/sdb1 of=/backup/disk_backup.img bs=4M status=progress
警告:
if
(输入文件)和of
(输出文件)参数勿颠倒,否则可能覆盖数据!- 仅适用于块设备(如
/dev/sdb1
),普通文件夹需先挂载为分区。
方法5:自动化备份脚本(cron定时任务)
步骤:
- 创建备份脚本
/backup_script.sh
:#!/bin/bash rsync -av --delete ~/重要文件/ /backup/每日备份/ tar -czvf /backup/周备份/备份_$(date +%U).tar.gz ~/项目数据/
- 添加执行权限:
chmod +x /backup_script.sh
- 设置cron任务(每天凌晨备份):
crontab -e
添加行:
0 2 * * * /path/to/backup_script.sh
最佳实践建议
- 3-2-1原则:
- 保留3份备份
- 使用2种不同介质(如硬盘+云存储)
- 1份离线保存(防勒索软件)
- 验证备份:
- 定期检查备份文件完整性(
tar -tf 备份名.tar.gz
查看内容)
- 定期检查备份文件完整性(
- 云存储方案:
- 使用
rclone
同步到Google Drive、AWS S3等:rclone sync /本地文件夹 remote:云存储路径
- 使用
为什么这些方法可靠?
rsync
:通过校验和避免数据损坏,增量备份节省时间空间tar
:保留文件元数据(权限、所有者),压缩减少存储成本- 自动化脚本:避免人为遗漏,cron日志可审计
引用说明:
- Linux man 手册(命令详情:
man cp
,man rsync
,man tar
,man dd
)- 开源工具文档:rsync, rclone
- 备份策略参考:NIST SP 800-34(联邦机构容灾指南)