linux

如何用Linux Extract进行数据备份

小樊
37
2025-11-05 06:31:28
栏目: 智能运维

Linux下使用tar命令进行数据备份与提取(还原)指南
tar是Linux系统中最常用的归档与压缩工具,适用于文件/目录级的完整备份或部分恢复,支持gzip、bzip2等多种压缩方式,操作灵活且功能强大。

一、基础备份操作(打包与压缩)

  1. 创建未压缩的tar归档文件
    使用tar -cvf命令将指定目录打包为.tar文件(不压缩,保留原始文件结构):

    tar -cvf backup.tar /path/to/directory
    
    • -c:创建新的归档文件;
    • -v:显示打包过程的详细信息(可选,大型目录建议关闭以提升速度);
    • -f:指定归档文件名(必须紧跟文件名)。
      示例:备份/home/user/Documents目录到docs_backup.tar
    tar -cvf docs_backup.tar /home/user/Documents
    
  2. 创建压缩的tar归档文件
    为节省存储空间,可将归档文件压缩,常用gzip.tar.gz)或bzip2.tar.bz2)格式:

    • gzip压缩(速度快,压缩率中等)
      tar -czvf backup.tar.gz /path/to/directory
      
      -z:调用gzip压缩,归档文件后缀为.tar.gz
    • bzip2压缩(速度慢,压缩率高)
      tar -cjvf backup.tar.bz2 /path/to/directory
      
      -j:调用bzip2压缩,归档文件后缀为.tar.bz2
      示例:压缩备份/var/www/html目录到web_backup.tar.gz
    tar -czvf web_backup.tar.gz /var/www/html
    

二、数据提取(还原)操作

  1. 解压未压缩的tar文件
    使用tar -xvf命令将.tar文件解压到当前目录:

    tar -xvf backup.tar
    
    • -x:解包归档文件;
    • 示例:解压docs_backup.tar到当前目录:
      tar -xvf docs_backup.tar
      
  2. 解压压缩的tar文件
    根据压缩格式选择对应参数,解压到当前目录:

    • 解压gzip格式(.tar.gz)
      tar -xzvf backup.tar.gz
      
      -z:调用gzip解压。
    • 解压bzip2格式(.tar.bz2)
      tar -xjvf backup.tar.bz2
      
      -j:调用bzip2解压。
      示例:解压web_backup.tar.gz到当前目录:
    tar -xzvf web_backup.tar.gz
    
  3. 解压到指定目录
    若需将文件还原到特定目录,使用-C参数指定目标路径(目录需提前存在):

    tar -xzvf backup.tar.gz -C /target/directory
    

    示例:将web_backup.tar.gz解压到/var/www/html目录:

    tar -xzvf web_backup.tar.gz -C /var/www/html
    

三、备份时的常用优化选项

  1. 保留文件权限与属性
    添加-p参数可保留文件的权限、所有者、时间戳等信息,确保恢复后文件与原文件一致:

    tar -czvpf backup.tar.gz /path/to/directory
    

    -p:保留文件权限(重要用于系统文件备份)。

  2. 排除不需要备份的文件/目录
    使用--exclude参数排除特定文件或目录(支持通配符),减少备份体积:

    tar -czvf backup.tar.gz --exclude='./cache' --exclude='*.tmp' /path/to/directory
    

    示例:备份/home/user目录,但排除cache文件夹和所有.tmp文件:

    tar -czvf home_backup.tar.gz --exclude='./cache' --exclude='*.tmp' /home/user
    
  3. 分割大型备份文件
    若备份文件超过存储设备容量(如大于1GB),可使用split命令分割归档文件:

    tar -czvf - /path/to/directory | split -b 1G - backup_part.tar.gz.
    
    • split -b 1G:将输入分割为每部分1GB;
    • 结果文件名为backup_part.tar.gz.aabackup_part.tar.gz.ab等。
      恢复时需合并分割文件再解压:
    cat backup_part.tar.gz.* | tar -xzvf -
    

四、注意事项

0
看了该问题的人还看了