归档文件并在系统间复制文件
1、管理压缩的tar存档
创建备份和通过网络传输数据时,归档和压缩文件非常有用。用来创建和使用备份归档的其中一个最常见的命令是tar命令。
通过他人命令,用户可以将大型文件集汇为一个文件(存档)。该存档可以使用gzip、bzip2或xz压缩方式压缩。
操作tar命令
c 创建文档
t 列出文档内容
x 提取档案
f filename 指定要操作的存档文件名
v 详细信息用于查看添加到存档中或从中提取的文件有哪些
p 保留文件权限
注意:tar选项前可以不用 -
创建新存档时要使用的第一个选项是 c ,后跟 f ,接着是要创建的存档的文件名,最后是应当添加到该存档中的文件和目录列表。存档会创建在当前目录中,除非另外指定。
tar cf archive.tar file1 file2 file3
列出tar存档内容
tar tf archive.tar
提取tar创建的存档
tar xf /home/lvyang/archive.tar
2、创建压缩的tar存档
tar命令支持三种不同的压缩方式。
z 用于gzip压缩(后缀.tar.gz或者.tgz) 压缩速度最快,使用最广泛
j 用于bzip2压缩(后缀.tar.bz2) 生成文件较小
J 用于xz压缩(后缀.tar.xz) 比较新,通常提供可用方式中最佳压缩率
示例:
tar czf /etc/etcbackup.tar.gz /etc 压缩
tar xzf /etc/etcbackup.tar.gz 解压缩
gzip、bzip2、xz 也可以单独用于压缩单个文件
gzip /path/filename.tar.gz /path/filename
对应解压命令 gunzip、bunzip2、unxz
gunzip /path/filename.tar.gz
3、在系统间安全地复制文件
scp命令可将文件从远程主机传输到本地,或者反之。它利用的是SSH服务器进行身份验证和加密数据传输。在启动传输之前,用户必须通过验证。
scp file1 file2 username@hostname:/path 将文件复制到远程主机
scp username@hostname:/path/file /path 从远程主机复制文件到本地
要递归方式复制,可使用 -r 选项
scp -f /home/lvyang lvyang@192.168.10.3:/home/james
使用sftp远程传输文件
交互式工具,会话与典型的ftp会话相似,但也是使用SSH服务器的安全身份验证和加密数据传输功能
建立sftp会话
sftp username@hostname
提示符 sftp>
sftp会话接受各种命令,运行方式基本与本地系统相同。使用put和get命令供上传和下载文件使用,使用exit可退出sftp会话。
示例:拷贝本地/etc/hosts 到 192.168.10.3的/home/lvyang目录下,然后再下载到本地当前目录下
sftp lvyang@192.168.10.3
sftp>mkdir /home/lvyang
sftp> cd /home/lvyang
sftp>put /etc/hosts
sftp>get /home/lvyang/hosts
4、在系统间安全的同步文件
rsync工具是另一种在系统之间安全复制文件的方式。它与scp的区别在于,如果两个系统间的两个文件或目录相似,rsync仅需复制系统间的差异部分,而scp复制所有内容
rsync的一个最重要选项是 -n 选项,它用于执行空运行。空运行是对真正执行命令时所发生情况的模拟,建议在任何rsync操作前先执行空运行,以确保重要的文件不会被覆盖或删除。
-r 以递归方式同步整个目录
-l 同步符号链接
-p 保留权限
-t 保留时间戳
-g 保留组所有权
-o 保留文件所有者
-D 同步设备文件
-v 同步进行时向输出中添加详细信息
-a 代表 存档模式
示例
rsync -av /var/log username@hostname:/tmp 将本地log目录同步到异地/tmp
raync -av username@hostname:/var/log /tmp 将远程log目录通道本地/tmp