1、练习的相关命令,scp,rsync,chmod,chown,setfacl等;
解:
1.文件传输:
scp,rsync
1.1 scp命令:
加密的方式在本地主机和远程主机之间复制文件.
scp:secret copy
cp + ssh -> scp
1.1.1 本地目录复制到远程:
复制目录
scp -r jfedu/ node2:/tmp/ (可能需要输入密码,默认root)
这个出现的原因是:没有在/etc/hosts下做解析
需要输入命令:vi /etc/hosts
补充地址解析命令:(需要两台电脑都做相同的操作)
192.168.128.3 node1
192.168.128.4 node2
然后按ESC ,输入:wq保存并退出
再输入 scp -r jfedu/ node2:/tmp/
传输效果
scp fstab root@192.168.128.4:/tmp/ 效果相同 linux默认多用户,
jfedu@
node3@
如果没有root@就默认当前用户
(root@db06中的/root下)
如果只想同步目录下文件:
scp -r lutixia/* 192.168.128.3:/data/
scp -r lutixia/* node2:/data/
1.1.2 本地文件复制到远程:
scp fstab 192.168.128.3:/data/
scp fstab node2:/data/
scp fstab 192.168.128.4:/tmp/
tmp -> temporary 临时文件
192.168.128.4 主机显示如下
scp -r lutixia/ 192.168.128.3:/data/
scp -r lutixia/ node2:/data
ps:lutixai 后面不管带不带/. 都可以同步lutixia目录
cp /etc/fstab .
fstab -> file system table 文件系统表
1.1.3 启动压缩:
scp -rc lutixia/ 192.168.128.3:/data/
总结
scp缺点:会将所有文件都传输过去,对大量重复的文件也会传输,传输的效率比较低
scp用法:
scp [参数] [原路径][目标路径]
-r 递归
-C 压缩
原路径 lutixia/
lutixa/*
目标路径: IP+/目录/
属于上传操作
1.2 rsync命令:
远程数据同步工具,它传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快.
需要注意:本地与服务器都需要安装好rsync软件包.
rsync --help |less
q退出
scp和rsync的区别
scp fstab node2:/tmp/
rm -rf .ssh/id_rsa 设置为要密码
rsync -av fstab node2:/tmp/
rsync执行第二遍时,远程服务器如果存在相同的文件,就不执行
sending incremental file list只发送增量的文件的列表信息
scp fstab node2:/tmp/ 不管服务器有没有这样的文件,都将执行,没有就创建,有就覆盖
rm -rf /tmp/清理远程服务器下的临时文件目录
这样执行更安全
而rm -rf /tmp / 会把tmp同时删除,所以进入后再删除
rsync -av jfedu/ node2:/tmp/
下面有问题,明明想要同步jfedu/这个目录,但是只同步了文件
用Tab键会默认目录后面加上’/’
有’/‘只表示同步目录下的文件,不同步目录本身,
如果要同步目录就需要删掉’/’
输入: rsync -av jfedu node2:/tmp/ ,这时就会多出个目录信息
scp -r jfedu/ node2:/tmp/ 不管有没有加’/‘都复制目录
后期rsync web来同步web数据,因为代码数据比较多,一般是操作目录
最好用rsync,因为是同步不存在远程服务器上的文件
两个文件内容不一样,时间属性肯定不一样,所以必然也会复制
rsync -av fstab 按ESC加上’.'号,可以调用上一条指令的最后一个参数,使输入速度加快
cat fstab 查看文件是否覆盖,如果文件完全相同(内容属性等等),就不覆盖