一.实验环境
需要2台主机并且保证这两台主机是可以通信的
westos_linux : 172.25.254.10
westos_node1 : 172.25.254.20
westos_linux&westos_node1:
systemctl disable firewalld
systemctl stop firewalld
1.scp命令
scp 本地文件 远程主机用户@远程主机ip:远程主机目录的绝对路径
scp 远程主机用户@远程主机ip:远程主机文件的绝对路径 本地文件
实验步步骤:
(1).在rhel7建立实验素材
touch westos
mkdir westosdir
(2).测试
a)把本地文件复制到远程主机 (上传) (直接覆盖)
scp westos root@172.25.254.20:/root/Desktop
scp -r westosdir root@172.25.254.20:/root/Desktop -r 表示复制目录
scp -q westos root@172.25.254.20:/root/Desktop -q 传输文件时不显示进度
b)把远程文件复制到本地(下载)
scp root@172.25.254.20:/root/Desktop/westos_rhel8 /root/Desktop
2.rsync
(1) rsync(对照复制,对比.增量复制)和scp命令的对比
实验素材:
a)172.25.254.10:
dd if=/dev/zero of=/root/Desktop/westosfile1 bs=1M count=10 dd=截取,if=inputfile,of=outputfile,bs=blocksize,count=块的个数
dd if=/dev/zero of=/root/Desktop/westosfile2 bs=1M count=20
dd if=/dev/zero of=/root/Desktop/westosfile3 bs=1M count=30
b)在主机之间建立免密登陆使远程文件传输可以直接执行
rhel7中:
ssh-keygen 生成密钥
ssh-copy-id -i /root/.ssh/id_rsa.pub. root@172.25.254.20
c)创建测试脚本
vim check_scp.sh 检测scp传输时间
time scp -qr /root/Desktop root@172.25.254.20:/root/Desktop
time scp -qr /root/Desktop root@172.25.254.20:/root/Desktop
time scp -qr /root/Desktop root@172.25.254.20:/root/Desktop
vim check_rsync.sh 检测rsync的传输时间
time rsync -raCq /root/Desktop root@172.25.254.20:/root/Desktop
time rsync -raCq /root/Desktop root@172.25.254.20:/root/Desktop
time rsync -raCq /root/Desktop root@172.25.254.20:/root/Desktop
d)first:执行scp
sh check_scp.sh
real 0m1.334s
user 0m0.210s
sys 0m0.490s 第一次系统执行时间
real 0m1.642s
user 0m0.412s
sys 0m0.383s 第二次系统执行时间
real 0m1.586s
user 0m0.309s
sys 0m0.497s 第三次系统执行时间
以上执行效果我们可以看出scp三次执行时间几乎一致
second:rsync执行
sh check_rsync.sh
real 0m1.603s
user 0m0.399s
sys 0m0.557s 第一次系统执行时间
real 0m0.329s
user 0m0.012s
sys 0m0.010s 第二次系统执行时间
real 0m0.348s
user 0m0.014s
sys 0m0.022s 第三次系统执行时间
以上执行效果我们可以看出rsync三次执行时间后两次远远小与第一次
(2)rsync用法
rsync 文件 远程用户@远程主机ip:远程主机目录
rsync 远程用户@远程主机ip:远程主机目录 文件路径
远程文件
rsync
-r 复制目录
-l 复制链接
-p 复制权限
-t 复制时间戳
-o 复制拥有者
-g 复制拥有组
-D 复制设备文件
等于-a
二.实验环境
在westos_node1中watch -n 1 ls -lR /root/Desktop中
在westos_linux中
touch /root/Desktop/file{1..5}
mkdir dir1
chmod 777 /root/Desktop/dir1
useradd westos
chown westos /root/Desktop/dir1
ln -s /root/Desktop/dir1/file1 /root/Desktop/dir1/file 链接
westos_linux执行:
执行命令看效果:
rsync -r root@172.25.254.20:/root/Desktop/ dir1 同步目录本身其目录中的文件
rsync -r root@172.25.254.20:/root/Desktop/ dir1/ 只同步目录中的文件
rsync -rl root@172.25.254.20:/root/Desktop/ dir 同步链接
rsync -rlp root@172.25.254.20:/root/Desktop/ dir1 同步权限
rsync -rlpog dir1 root@172.25.254.20:/root/Desktop/ 同步用户组
rsync -rlpogt root@172.25.254.20:/root/Desktop/ 同步时间
rsync -rD root@172.25.254.20:/dev/pts 同步设备文件
三.文件的归档压缩
1.文件归档
tar
c创建 t查看 f 指定文件名称 r 向归档文件中添加文件
x 解档
v 现实过程
--get 解档指定文件
--delete 删除指定文件
-C 指定解档路径
2.文件的压缩
zip
zip -r mnt.tar.zip mnt.tar zip格式压缩
unzip mnt.tar.zip zip格式解压缩
gzip
gzip mnt.tar gzip格式压缩
gunzip mnt.tar.gz gzip格式解压缩
bzip2 mnt.tar bzip2格式压缩
bunzip2 etc.tar.bz2 bzip2格式解压缩
xz mnt.tar xz格式压缩
unxz mnt.tar.xz xz格式解压缩
3.tar+压缩 (xz>bz>gz压缩比)
gzip
tar zcf etc.tar.gz /etc = tar cf etc.tar /etc + gzip etc.tar
tar zxf etc.tar.gz
bzip2
tar jcf etc.tar.bz2 /etc
tar jxf etc.tar.bz2
xz
tar Jcf etc.tar.xz /etc
tar Jxf etc.tar.xz