博客
关于我
linux tar 备份命令
阅读量:805 次
发布时间:2023-02-01

本文共 1491 字,大约阅读时间需要 4 分钟。

Linux tar 备份命令指南

1. tar 命令的基本用法

在 Linux 环境中,tar命令是用于创建和解压压缩文件的强大工具。它可以用来备份文件和目录,将文件压缩到单个存档文件中,或者解压压缩文件以恢复文件和目录。

创建压缩文件:

tar -zcvf backup.tar.gz /path/to/directory
  • -z:使用 gzip 压缩。
  • -c:创建一个新的压缩文件。
  • -v:显示压缩过程中的文件信息(不推荐在自动化脚本中使用)。
  • -f:指定输出文件名,后面紧跟存档名,注意不要再添加其他参数。

查看压缩文件内容:

tar -ztvf backup.tar.gz
  • -z:解压并显示压缩文件内容。

解压压缩文件:

tar -zxvf backup.tar.gz

2. 增量和差异备份(Unix timestamp 方法)

Linux 提供了一个高级选项 -g,可以实现增量和差异备份。这种方法在需要频繁备份但不希望每次都传输整个文件集时非常有用。

创建完整备份:

tar -g snapshot -zcf backup_full.tar.gz test_directory/

添加增量备份:

  • 首先创建第一个增量备份:
tar -g snapshot -zcf backup_incremental_1.tar.gz test_directory/
  • 修改文件内容后,执行第二次增量备份:
tar -g snapshot -zcf backup_incremental_2.tar.gz test_directory/

还原备份文件:恢复增量备份时需要按照时间顺序处理备份文件:

rm -rf test_directory/tar -zxf backup_full.tar.gztar -zxf backup_incremental_1.tar.gztar -zxf backup_incremental_2.tar.gz

3. 常用参数说明

-p 选项

  • 使用 -p 指定原始文件的属性,确保在解压时保留文件和目录的权限信息。

-P 选项

  • 允许使用绝对路径压缩文件,这对于跨文件系统的备份特别有用。

-N 选项

  • 只包括日期新于指定日期的文件在备份中。如果您需要只备份某个月或某个日期的文件,可以使用这个选项。

--exclude FILE

  • 指定要排除在备份之外的文件或目录。

4. 实际应用示例

备份目录并压缩:

tar -zcvf /tmp/etc.tar.gz /etc

解压并恢复文件到指定目录:

mkdir temptar -zxvf /tmp/etc.tar.gz -C temp

只备份特定文件:

tar -zxvf /tmp/etc.tar.gz etc/passwd

保留文件属性:

tar -zcvpf /tmp/etc.tar.gz /etc

增量备份新文件:

mkdir -p /home/newusertouch /home/newuser/testfiletar -g snapshot -zcf home.tar.gz /home

5. 删除和压缩等操作注意事项

创建文件夹:

mkdir directory_name

删除文件夹及子目录:

rm -rf directory_name

删除文件:

rm file_name

过滤文件和目录:可以使用 - exclude 选项指定要排除的文件和目录。

通过管道分割文件并解压:

tar -cvf /etc | tar -xvf -

通过以上命令,您可以灵活地备份和管理文件,适用于不同场景的需求。

转载地址:http://oiwfk.baihongyu.com/

你可能感兴趣的文章
MySQL中interactive_timeout和wait_timeout的区别
查看>>
mysql中int、bigint、smallint 和 tinyint的区别、char和varchar的区别详细介绍
查看>>
mysql中json_extract的使用方法
查看>>
mysql中json_extract的使用方法
查看>>
mysql中kill掉所有锁表的进程
查看>>
mysql中like % %模糊查询
查看>>
MySql中mvcc学习记录
查看>>
mysql中null和空字符串的区别与问题!
查看>>
MySQL中ON DUPLICATE KEY UPDATE的介绍与使用、批量更新、存在即更新不存在则插入
查看>>
MYSQL中TINYINT的取值范围
查看>>
MySQL中UPDATE语句的神奇技巧,让你操作数据库如虎添翼!
查看>>
Mysql中varchar类型数字排序不对踩坑记录
查看>>
MySQL中一条SQL语句到底是如何执行的呢?
查看>>
MySQL中你必须知道的10件事,1.5万字!
查看>>
MySQL中使用IN()查询到底走不走索引?
查看>>
Mysql中使用存储过程插入decimal和时间数据递增的模拟数据
查看>>
MySql中关于geometry类型的数据_空的时候如何插入处理_需用null_空字符串插入会报错_Cannot get geometry object from dat---MySql工作笔记003
查看>>
mysql中出现Incorrect DECIMAL value: '0' for column '' at row -1错误解决方案
查看>>
mysql中出现Unit mysql.service could not be found 的解决方法
查看>>
mysql中出现update-alternatives: 错误: 候选项路径 /etc/mysql/mysql.cnf 不存在 dpkg: 处理软件包 mysql-server-8.0的解决方法(全)
查看>>