上一篇文章地址:https://blog.csdn.net/xingxingzhilong/article/details/82593695
本篇目录
- scp简介
- 灾难场景还原
- 处理方式
写在最前面的话
啥都不想说,只能表达下,scp这个命令有点坑,不知道是否就我一个人遇到这类问题。
scp简介
说道scp,这里顺带提下cp,cp是在同一个linux系统上,进行不同文件或者目录之间的复制。那么如果块linux系统之间如果要复制文件怎么处理呢,那么就是我们这里的scp。所以说道这里,大家应该就知道了。
那么怎么使用呢?
CP | ||
文件->文件 | cp 源文件 目标文件 | 如:cp s.txt t.txt |
多文件->文件 | cp 源文件1 源文件2 .. 目标路径 | 如:cp s1.txt s2.css /root 如:cp s/* /root |
参数详解 -a 尽可能将源文件状态、权限等资料都照原装予以复制,并且是递归copy; -r 表示递归copy,若source中含有目录名,则将目录下之档案亦皆依序拷贝至目的地; -f 若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制; |
熟悉了cp之后,其实scp都差不多,只是参数更多了
scp基本结构为:scp 【参数】源文件/源文件夹 用户名@ip:目标路径
更多参数可以百度,这里就不做介绍了
灾难场景还原
需要将新版本的系统文件,上传到服务器上,且覆盖原有文件,发现如论我,删除服务文件,重新上传也好,还是覆盖上传也好,都不能成功替换文件。一开始并没有注意到是文件没有被更新,表面现象是,系统功能没有显示为最新版本。
这是什么情况????不淡定了,一头雾水。
处理方式
经过排查发现,由于需要将新版本的系统文件进行更新替换,那么本地系统地址是固定的,终端就一直是定位到固定目录,从来没有关闭重新打开过,那么,这个固定目录下面,我会将老的版本文件删除,替换成新的版本文件。然后再scp到服务器的目录上。
那么,服务器上永远都是老版本的文件,是不是就是说,我在本地使用scp的时候,上传上去的是我最早一版本已经删除的老文件,这么一想,我就关闭终端,重新用新终端使用scp上传。发现成功替换了文件。
到这里,就有两个问题,到底是scp本身的bug问题,还是linux对scp指令有问题,还是终端是针对缓存或者挂载的。导致拿不到新版本文件?
欢迎大家留言,讨论下这个问题