当前位置:首页 > Linux > 正文

Linux如何快速备份文件夹

使用 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 /源文件夹路径/ /备份目录路径

示例

Linux如何快速备份文件夹  第1张

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定时任务)

步骤

  1. 创建备份脚本 /backup_script.sh
    #!/bin/bash
    rsync -av --delete ~/重要文件/ /backup/每日备份/
    tar -czvf /backup/周备份/备份_$(date +%U).tar.gz ~/项目数据/
  2. 添加执行权限:
    chmod +x /backup_script.sh
  3. 设置cron任务(每天凌晨备份):
    crontab -e

    添加行:

    0 2 * * * /path/to/backup_script.sh

最佳实践建议

  1. 3-2-1原则
    • 保留3份备份
    • 使用2种不同介质(如硬盘+云存储)
    • 1份离线保存(防勒索软件)
  2. 验证备份
    • 定期检查备份文件完整性(tar -tf 备份名.tar.gz 查看内容)
  3. 云存储方案
    • 使用 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(联邦机构容灾指南)
0