这一节学习了压缩,归档以及如何利用scp和rsync的传送文件。
归档(archive)和压缩(compress)是两个不同的概念,尽管我们经常放在一起使用。归档类似打包的概念,把一堆内容放入一个文件;而压缩则是把归档好的文件进行压缩以便节约空间。
先看看归档,tar命令,最常用的是 tar -cvf, c=create(创建),v=verbose(详细),f=file(文件名)这样会创建一个归档的tar文件
可以通过-t 来查看已经创建的归档文件的内容
取消归档很简单,把 c(创建)替换成 x (extract,解压)就行了
接下来看看压缩,RHEL常用的压缩方式有 gzip,bzip2,zip
做个试验,首先创建一个100M的数据块
看看大小
用gzip进行压缩
压缩之后变成100K了,注意压缩文件的后缀变成gz了
看看gzip的语法,如果希望解压 用-d就行了
类似的,我们可以用bzip2来压缩和解压,后缀变成了bz2
或者zip和unzip来压缩和解压,注意zip是windows和linux都通用的格式
如何把归档和压缩命令放在一起使用呢?
例如,可以用z代表gzip,j代表bzip2 生成的文件后缀使用.tar.gz 或者 tar.bz2
利用tar和gzip进行归档压缩和解压
利用tar和bzip2进行归档压缩和解压
接下来看看本节的第二个部分,如何进行文件的传递。这里学习了scp和rsync命令,这两个命令都是基于SSH的,因此如果熟悉前面的SSH,这里学习很容易。
首先传递一个之前的归档压缩文件到远程服务器,因为我之前已经配置过root账户的密钥了,所以这里确认了指纹信息之后直接就传送过去了
查看确认一下
类似的,我也可以指定用户来传递,比如我用beanxyz来传递,这个账户没有配置密钥,那么就通过密码来进行验证。
确认一下
注意,使用上面的命令之前,必须确认openssh已经在双方服务器安装,如果是最小化界面安装,这个包是没有的,需要手动安装
上面的例子是拷贝一个文件,如果拷贝一个目录呢?
直接拷贝会报错,这个和cp命令差不多,需要-r 进行递归的操作
最后我们看看另外一个命令 rsync,这个命令在备份文件的时候很常见。这个命令的最大好处是可以进行同步文件。
比如 -a 可以直接归档了,简单的说是保持文件所有的权限,时间戳和快捷方式
豆子个人习惯喜欢加vv参数, 这样可以超详细的列出拷贝的内容是否最新,有的时候拷贝几个T的文件,还需要根据需要重定向正确结果和错误的结果,以便查询
喜欢图像界面的话,还可以下载安装rsync,这个软件我曾经试过在Windows 下面也是可以运行的。
Rsync+inotify实现Git数据实时同步备份
Rsync实现文件备份同步详解
Rsync同步两台服务器
6.5下Rsync远程同步
Linux下用Rsync进行数据备份和同步配制
Linux使用Rsync客户端与服务端同步目录进行备份
本文永久更新链接地址: