实验环境:
我们需要两台主机,要保证两台主机是可以互相通信的。
scp(全备份)
scp 本地文件 远程主机用户@远程主机ip:远程主机目录的绝对路径
scp 远程主机用户@远程主机ip:远程主机文件的绝对路径 本地文件
1. 把本地文件复制到远程主机 (上传)
scp file root@172.25.254.200:/root/Desktop
scp -r dir root@172.25.254.200:/root/Desktop ## -r 表示复制目录
scp -q file root@172.25.254.200:/root/Desktop ## -q 传输文件时不显示进度
2. 把远程文件复制到本地(下载)
scp root@172.25.254.200:/root/Desktop/file* .
##最后的.
表示下载到当前目录
先在lucky2这台主机建立三个文件
在lucky1这台主机执行命令成功!
rsync和scp命令的对比
用下图命令创建一个较大的文件
用du -sh /mnt/lucky
可以看到文件大小
写一个脚本,多执行几次方便我们看效果
用scp可以看出时间都差不多
我们换用rsync看下效果
因为后边只做增量检测,没有增加所以不做重复传输
rsync(支持增量备份)
rsync用法:
rsync 文件 远程用户@远程主机ip:远程主机目录
rsync 远程用户@远程主机ip:远程主机目录 文件路径
为了看出命令效果,我们先做点准备工作:
先创建文件和文件夹
然后chmod 777 *
提权,再更改下用户和组:
再做个链接
下面开始执行命令,可看到效果:
上图可以看到执行命令后给的提示意思是跳过了链接文件,而且仔细观察可以发现,时间戳,用户用户组权限这些都不一样,加下边参数可以实现原样发送:
rsync
-r ##复制目录
-l ##复制链接,链接文件不会被跳过
-p ##复制权限
-t ##复制时间戳
-o ##复制拥有者
-g ##复制拥有组
-D ##复制设备文件