实验环境的搭建:
需要准备两台主机,确保两台主机之间可以通信。(自己练习时,可以用两台虚拟机)
检测两台主机是否可以通信:ping 对方ip(双方互相)
两台主机ip:172.25.254.137 172.25.254.237
为了确保两台主机在通信过程中不会出现预想之外的问题,可以先禁用,关闭两台主机间的防火墙。
systemctl disable firewalld ##禁用防火墙
systemctl stop firewalld ##关闭防火墙
实验一、scp传输指令
scp 本地文件 远程主机用户@远程主机ip:远程主机目录的绝对路径 ##上传
scp 远程主机用户@远程主机ip:远程主机文件的绝对路径 本地文件 ##下载
测试:
1)上传测试
scp -r 目录 root@172.25.254.137:上传位置绝对路径 ## 上传目录
scp -q 文件 root@172.25.254.137:上传位置绝对路径 ## 上传文件不显示传输进度
2)下载测试
scp root@172.25.254.137:远程用户文件绝对路径 本机下载位置的绝对路径
实验二、rsync另一种传输指令,以及和scp的对比
首先,先在ip为172.25.254.137这台主机生成密钥
ssh-keygen ##生成密钥
ssh-copy-id -i /root/.ssh/id_rsa.pub. root@172.25.254.137
在文件传输时,rsync的用法与scp指令没有区别,套用scp的方式就可以,但rsync的传输速度要比scp指令快
测试(编写脚本测试):
scp测试脚本vim check_scp.sh:
time scp -qr /boot root@172.25.254.137:/root/Desktop
time scp -qr /boot root@172.25.254.137:/root/Desktop
time scp -qr /boot root@172.25.254.137:/root/Desktop
rsycn测试脚本vim check_rsync.sh:
time rsync -raCq /boot root@172.25.254.137:/root/Desktop
time rsync -raCq /boot root@172.25.254.137:/root/Desktop
time rsync -raCq /boot root@172.25.254.137:/root/Desktop
rsync指令的其他参数:
rsync
-r ##复制目录
-l ##复制链接
-p ##复制权限
-t ##复制时间戳
-o ##复制拥有者
-g ##复制拥有组
-D ##复制设备文件
测试这些指令时搭建环境
watch -n 1 ls -lR /root/Desktop ##监控
touch /root/Desktop/file{1..5} ##建立file1-5文件
chmod 777 /root/Desktop/* ##给/root/Desktop/下的所有文件和目录满权限
useradd westos ##添加新用户
chown westos /root/Desktop/* 给目录添加westos用户
ln -s /root/Desktop/file1 /root/Desktop/file ##建立链接
测试:
rsync -r root@172.25.254.137:/root/Desktop /mnt ##同步目录本身其目录中的文件
rsync -r root@172.25.254.137:/root/Desktop/ /mnt ##只同步目录中的文件
rsync -rl root@172.25.254.137:/root/Desktop/ /mnt ##同步链接
rsync -rlp root@172.25.254.137:/root/Desktop/ /mnt ##同步权限
rsync -rlpog root@172.25.254.137:/root/Desktop/ /mnt ##同步用户组
rsync -rlpogt root@172.25.254.137:/root/Desktop/ /mnt ##同步时间
rsync -rD root@172.25.254.137:/dev/pts /mnt ##同步设备文件