shell归档与备份
2017-10-29 15:52
218 查看
将会介绍以下命令:
gzip – 压缩或者展开文件
bzip2 – 块排序文件压缩器
归档程序:
tar – 磁带打包工具
zip – 打包和压缩文件
还有文件同步程序:
rsync – 同步远端文件和目录
hjw.txt文件中是一些目录列表,我们可以看到刚开始它的大小为1054,压缩后原文件被压缩文件替换了,大小也变小了。再解压原文件替换压缩文件,大小恢复原来的大小,文件内容不会变。并且他们的权限与时间戳也不会变化。
可以与管道配合来使用
这里将ls的标准输出内容压缩到了hjw.txt.gz文件中
如果我们只想查看压缩文件的内容而不想解压它可以使用命令:
语法:
-B:设置区块大小;
-c或–create:建立新的备份文件;
-C 目录:这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。
-d:记录文件的差别;
-x或–extract或–get:从备份文件中还原文件;
-t或–list:列出备份文件的内容;
-z或–gzip或–ungzip:通过gzip指令处理备份文件;
-Z或–compress或–uncompress:通过compress指令处理备份文件;
-f备份文件或–file=备份文件:指定备份文件;
-v或–verbose:显示指令执行过程;
-r:添加文件到已经压缩的文件;
-u:添加改变了和现有的文件到已经存在的压缩文件;
-j:支持bzip2解压文件;
-v:显示操作过程;
-l:文件系统边界设置;
-k:保留原有文件不覆盖;
-m:保留文件不被覆盖;
-w:确认压缩文件的正确性;
-p或–same-permissions:用原来的文件权限还原文件;
-P或–absolute-names:文件名使用绝对名称,不移除文件名称前的“/”号;
-N 日期格式 或 –newer=日期时间:只将较指定日期更新的文件保存到备份文件里;
–exclude=范本样式:排除符合范本样式的文件。
解压缩
打包与压缩
语法:
其中源 与 目标是为下列三种选项之一:
一个本地文件或目录
一个远端文件或目录,以[user@]host:path 的形式存在
一个远端 rsync 服务器,由 rsync://[user@]host[:port]/path 指定
gzip – 压缩或者展开文件
bzip2 – 块排序文件压缩器
归档程序:
tar – 磁带打包工具
zip – 打包和压缩文件
还有文件同步程序:
rsync – 同步远端文件和目录
压缩文件
[hjw@localhost ~]$ less hjw.txt [hjw@localhost ~]$ ls -l hjw.txt -rw-rw-r--. 1 hjw hjw 1054 9月 25 19:45 hjw.txt [hjw@localhost ~]$ gzip hjw.txt [hjw@localhost ~]$ ls bin bin.txt hello.txt hjw2.txt hjw_error.txt hjw.txt.gz ls.txt redis-3.2.9 [hjw@localhost ~]$ ls -l hjw.txt* -rw-rw-r--. 1 hjw hjw 349 9月 25 19:45 hjw.txt.gz [hjw@localhost ~]$ gunzip hjw.txt.gz [hjw@localhost ~]$ ls bin bin.txt hello.txt hjw2.txt hjw_error.txt hjw.txt ls.txt redis-3.2.9 [hjw@localhost ~]$ less hjw.txt [hjw@localhost ~]$ ls -l hjw.txt -rw-rw-r--. 1 hjw hjw 1054 9月 25 19:45 hjw.txt
hjw.txt文件中是一些目录列表,我们可以看到刚开始它的大小为1054,压缩后原文件被压缩文件替换了,大小也变小了。再解压原文件替换压缩文件,大小恢复原来的大小,文件内容不会变。并且他们的权限与时间戳也不会变化。
gzip
还有一些可选参数:-c 把输出写入到标准输出,并且保留原始文件。也有可能用--stdout 和--to-stdout 选项来指定。 -d 解压缩。正如 gunzip 命令一样。也可以用--decompress 或者--uncompress 选项来指定. -f 强制压缩,即使原始文件的压缩文件已经存在了,也要执行。也可以用--force 选项来指定。 -h 显示用法信息。也可用--help 选项来指定。 -l 列出每个被压缩文件的压缩数据。也可用--list 选项。 -r 若命令的一个或多个参数是目录,则递归地压缩目录中的文件。也可用--recursive 选项来指定。 -t 测试压缩文件的完整性。也可用--test 选项来指定。 -v 显示压缩过程中的信息。也可用--verbose 选项来指定。 -number 设置压缩指数。number 是一个在1(最快,最小压缩)到9(最慢,最大压缩)之间的整数。 数值1和9也可以各自用--fast 和--best 选项来表示。默认值是整数6。
可以与管道配合来使用
[hjw@localhost ~]$ ls -l | gzip > hjw.txt.gz
这里将ls的标准输出内容压缩到了hjw.txt.gz文件中
如果我们只想查看压缩文件的内容而不想解压它可以使用命令:
[hjw@localhost ~]$ gunzip -c hjw.txt.gz | less 或者是 [hjw@localhost ~]$ zcat hjw.txt.gz | less
归档文件
tar
我们经常看到扩展名为 .tar 或者 .tgz 的文件,它们各自表示“普通” 的 tar 包和被 gzip 程序压缩过的 tar 包。一个 tar 包可以由一组独立的文件,一个或者多个目录,或者 两者混合体组成。语法:
tar mode[options] pathname... mode是它的模式,首先需要指定模式再加选项
模式
c 为文件和/或目录列表创建归档文件。 x 抽取归档文件。 r 追加具体的路径到归档文件的末尾。 t 列出归档文件的内容。
选项
-A或–catenate:新增文件到以存在的备份文件;-B:设置区块大小;
-c或–create:建立新的备份文件;
-C 目录:这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。
-d:记录文件的差别;
-x或–extract或–get:从备份文件中还原文件;
-t或–list:列出备份文件的内容;
-z或–gzip或–ungzip:通过gzip指令处理备份文件;
-Z或–compress或–uncompress:通过compress指令处理备份文件;
-f备份文件或–file=备份文件:指定备份文件;
-v或–verbose:显示指令执行过程;
-r:添加文件到已经压缩的文件;
-u:添加改变了和现有的文件到已经存在的压缩文件;
-j:支持bzip2解压文件;
-v:显示操作过程;
-l:文件系统边界设置;
-k:保留原有文件不覆盖;
-m:保留文件不被覆盖;
-w:确认压缩文件的正确性;
-p或–same-permissions:用原来的文件权限还原文件;
-P或–absolute-names:文件名使用绝对名称,不移除文件名称前的“/”号;
-N 日期格式 或 –newer=日期时间:只将较指定日期更新的文件保存到备份文件里;
–exclude=范本样式:排除符合范本样式的文件。
解压缩
tar -xvf /tmp/mdm_installer/apache-tomcat-9.0.0.M26.tar.gz -C /usr/local/
打包与压缩
仅打包,不压缩 [hjw@localhost ~]$ tar -cvf hjw.tar hjw2.txt hjw_error.txt 打包后,以gzip压缩 [hjw@localhost ~]$ tar -zcvf hjw.tar.gz hjw2.txt hjw_error.txt 查看打包压缩的内容 [hjw@localhost ~]$ tar -ztvf hjw.tar.gz 从打包压缩的文件中解压单个文件出来 [hjw@localhost ~]$ tar -zxvf hjw.tar.gz hjw2.txt
同步文件和目录
rsync 程序能同步本地与远端的目录,通过使用 rsync 远端更新协议,此协议 允许 rsync 快速地检测两个目录的差异,执行最小量的复制来达到目录间的同步。比起其它种类的复制程序, 这就使 rsync 命令非常快速和高效。语法:
rsync 选项 源 目标
其中源 与 目标是为下列三种选项之一:
一个本地文件或目录
一个远端文件或目录,以[user@]host:path 的形式存在
一个远端 rsync 服务器,由 rsync://[user@]host[:port]/path 指定
相关文章推荐
- RMAN 非归档模式 备份shell脚本
- 使用RMAN和控制文件备份删除归档日志的SHELL脚本--RED HAT 5 LINUX 64
- Shell命令——归档备份
- 使用RMAN和控制文件备份删除归档日志的SHELL脚本--RED HAT 5 LINUX 64
- 使用RMAN和控制文件备份删除归档日志的SHELL脚本--RED HAT 5 LINUX 64
- shell脚本实现定时备份某文件
- ORACLE基础学习-RMAN应用之(归档模式无备份,丢失数据文件的恢复)
- 利用shell脚本来简化备份mysql数据库步骤
- DG丢失归档,使用增量备份恢复一例 ,基于scn恢复备库
- 一个备份MySQL数据库的简单Shell脚本
- Linux主机shell脚本一步备份笔记至手机,并实现轮转
- 在linux中常用的shell备份脚本(波大帅哥)
- 非归档数据库备份实践
- 非归档模式备份练习
- shell 备份指定目录下的增量文件
- Oracle-->数据库备份与恢复-->数据库归档模式设置
- postgresql归档备份
- ORACLE自动备份并且自动FTP到备份机的SHELL脚本(http://doc.linuxpk.com/456.html)
- Linux下自动备份并上传备份服务器-SHELL