00:00
嗯。要大。好,那我们已经给大家讲了这个基于K验证啊,当然我们现在实现的是呃,比较少量的主机,怎么去实现机K验证,我们用交互式的这种手动的方法,嗯,可以做到,但是生产中环境主机是比较多的,那如果说我们企业里面的主机非常多,成百上千,如果你要是实现所有主机的基于K验证,那显而易见是不太现实用刚才讲的方法的。那么如何来解决这个多个主机,很多主机之间的批量实现基于K验证呢?那事实上咱们之前给大家讲过expect命令,Expect命令呢可以来实现基于K验证,大家看这就是我写好的一个脚本,这个脚本我来给大家把环境先准备一下啊,我这是一个这样我把环境给它初始化,初始化一下。
01:15
都还原成初始环境。好,那现在呢,我们准备四台主机啊。啊,这个主机啊,实际上你包括乌邦图也没问题,这个乌邦图也能做到,比方说我再把乌邦图也开启一个,这个也没问题。
02:00
那当然我们要想实现呢,先把这个密码啊,给它们初始化一下啊,我现在去连接这些机器。连回去了。嗯。这个机器是哪个IP是八。18那个八的机器可能被我让他给删了。啊,所以我重新创建一下。
03:01
那我就复制一下就好了。没。嗯。你保存吗?好,现在是这样的啊,这个有一个18的机器,这是18,我现在希望在18上去连接,这些机器都是基于K验证的啊,我这呢还有一个101的机器,是这个乌邦兔的叫乌邦兔的机器啊,现在我先把的密码呢先改一下啊,我给它改成。统一的密码。
04:08
快速转写玩。到这儿。有一个多出一个框来。好,在这我去执行一个命令,我把密码都设成满格一丢。好,写好了,写好以后,我们利用这种方式把这个命令发送到所有终端。
05:07
啊,看看执行没有。飞车,你看刚才说了,这个命令在乌邦通上是不支持的啊,但是在其他机器上看能不能支持,刚才没有没有发出去吗?S t d I plus w d。啊,这儿没有选那个所有绘画。好,大家看这些密码都改了,改成了马哥edu,当然这个乌邦兔它不支持啊,不支持呢,我就手工改一下吧,马哥edu,马哥edu,这样的话把密码都改成马哥edu了,改成马哥edu以后呢,我们现在想做在八的G18的机上能够批量的实现基于K验证,将来能连到任何一个主机上都是基于用户密码验证的。
06:00
啊,那这个怎么做呢?啊,非常简单,目前来讲啊,我们现在还都是基于传统的用户名密码,你看用户名密码啊,所以我们现在要编一个脚本,实现基于可验证,那我这已经写好了一个脚本,打开这个脚本。好,我把它先贴过来。这写好的,那这个叫push shk,这个文件名叫什么不重要啊,那我们先。看分析一下这段脚本啊,这段脚本大家看,首先初始化密码是pass马一丢,是不是验证一下这个包装没装是吧,如果没装是不是把这个包装上,然后用这个命令是不是可以生成一个。基于K的私钥生成之后,然后,但是如果生成的时候生成这个文件,它是成功了。那就提示说K已经被创建了,对吧,如果失败了,他就会啊,不会执行这个命令了,然后接着我们read的IP,瑞的IP是循环,那我们说过where read呢,是着行处理这个host文件,这后文件呢,干嘛呢?就是放你将来想针对哪些主机实现J可验证,那这个文件呢,叫后四次啊,所以呢,我们现在就创建一个后四文件。
07:26
把这个密码给我改了,马哥edu,然后创建一个host文件啊就就就是在当前目录下,它的文件名叫host test是吧?啊把它建起来,这呢写上你希望针对哪些主机,基于K验证,你把IP写上。啊,比方说我们希望针对六七还有八,还有一个101101是那个乌邦兔啊,那这个文件就准备好了,那将来100台机器不就是准备100个IP嘛,对吧?哎,那后面这些东西呢,是我们前面讲1PA的时候讲过的,大家看设超时时间20秒,那这是不是就是把那个K给它拷到那个远程主机的这个机器上去,然后呢,如果发现问我yes no是不是就输yes,如果问我输密码,我是不是就输密码就行了。
08:17
哎,这样的话呢,这个就搞定了,那看一下能不能实现啊,跑一下这个脚本跑完以后,将来就可以做到,我这台机器连任何其他主机GK就做完了啊,用脚本跑看行不行啊,当然前面呢,因为有它那个安装包的过程,所以要稍微等一下,因为有pad我还没装过。大家看诶跑完了说完,那我们试试吧,看看行不行,能不能做到G可以验证呢,验证一下练练六,诶成了,你看念念无光兔行不行。成了看到没?同学们,这100台机器不就是一眨眼的事吗?是不是?看了吧,你看这脚本行了,你们可以拿回去用了。
09:17
那100台机器不就写100个IP吗?是吧,这不就完事了啊,这就是GK验证多方便,那企业里面是现成代码,拿回用就行了,用完了给我反馈一下啊。不过话说回来啊,这个命令我们用的不多了,为什么呢?因为还有更好的,那我把这些都删了,删了啊不用了,那删了的话,因为我基于可验证了,所以我要删的话也简单,就把这个文件夹一删不就可验证就取消了。
10:01
对吧,这是删了八的,删了七的,我就不不写循环了啊手工反正记忆不多101啊,那现在呢,他又取消了,取消了。那你看我连一下这个101是不是又传统密码了啊好,那现在我们不用这种方式,这个脚本我不用了,我们换一个工具,这个工具呢。咱们单独来介绍一下,这工具也非常好用,目前用的非常多,哪个呢?就这个有一个叫。S。S。哪儿去了?SSH pass。这儿没有吗?
11:01
没写在这儿啊。那我搜一下啊。Pass,这这呢?3.4就这样。在这这个有一个叫利用。SSR协议实现自动登录的一个工具叫s pass。这个pass呢,它可以替代SH的交互登录,把密码直接通过命令行的方式记住,进而把交互式方式变成非交互式方式。因为传统的SH是要输入口令的交互式方式的,那么用SSH呢,就不用交互式了,那么它的写法是这样的,S sh pass后面跟选项,后面跟你要执行的命令。
12:05
那其中。你可以提前把密码用SSH连接对方的时候,那个密码用杠P指定。啊,当然指定好以后,我们就可以用SSH连接对方,你就不用输入密码了,也就提前把密码写好,大家看这就是例子啊,你看我直接把密码写好,直接连接对方,就不用再输密码了。那这时候呢,当然这个东西它有一个问题解决不了,就是那个yes no,那个问题解决不了,所以我们需要S才杠O,把这个地方变成no,这样的话yes no你就不用输了,那么密码要提前写在这了,这样的话我去连接远程的机器,是不是就不用再输密码了,那这就是他背后的逻辑,那现在我们看一下这个工具默认还没装,那我们装一下啊,叫s sh pass,把这工具装一下,这个需要单独装,装了以后呢,我们把刚才的命令来写一下,S sh pass,然后杠P,我的密码是马格丢,然后去连接咱们的主机,但是这个杠O还是要输的,因为这个yes它替代不了你。
13:20
啊,就是敲yes这个操作还得需要借助于这个SSH的这个选项来帮我们搞定,然后现在你去连接远程的主机,比方说你连接七。你看是不是就不用输密码。那有了这个了,还学什么派呀?一派D,那不是自己的语法吗?这不省事了吗?对不对?你看这多方便呀,你看连六对吧,这不就行了吗啊。但是这种方法终究来讲还得敲这么长,那所以我们可以把这个东西替换成什么呢?替换成SC,哎,替换成SCP以后,你想把你的K跑过去不就行了啊,把你的这个s sh copy copyd是吧,它这个应该也支持选项,然后呢,拷贝到哪,假如说拷贝到七上这就行了吗?那这样的话,由于你把密码已经提前写在这了,这样的话这个命令是不是就不用输密码了。
14:33
哎,SSH copy ID,那这是不是还要指定那个。文件的路径,这个错误的标识,没有发现那个文件吗?SSH,我看我这有没有那个选项。就是批量改密码,就这个,这个要指定一个文件名,这个要指定一下文件名,把公钥拷过去,你要写文件名。
15:08
啊,写上这个文件名。我这是不还没有生成公钥是吧,我把公钥给删了,删了啊删了所以就没了,那我们就得把K先生啊,这个应该默认才能找到,所以我不写了。哎,可以,这不就行了吗?你看没有,这不就考到七上去了,这不就把七再基于K验证,你看送进去了,所以就我们现在再次连,那是不是就密码就不有输了,哎敲错了,你看对了。那所以呢,现在大家应该知道怎么做了,那无非就是变个循环嘛,把这个地方变成你想值得做的事不就行了吗?对不对,哎,这不就省了什么啊,所以呢,你看现在我也写成了一个线程脚本。把这个脚本写好的啊,这个拿过来用啊。
16:07
也是SSH,不是SSHK,不过这回是二,这回咱不用exce来实现了,就用咱们刚才说的这个方法。好,那它这个地方是一个指着一个网段啊,咱们这实际上没有那么多网段,那我就写个六到八得了,那么就三台机器得了是吧?这不也行吗?啊大家看第一步先把密码设好,先生成公交四幺,对,然后用这个,呃,把这个包先装上,当然我已经装上了,就不用再装了,然后呢,再执行s copy-P这个密码就是马克一丢,然后用这个跟上这个选项,然后把这个私钥公钥给它拷过去就完了,这不就基P验证做完了吗?而且呢,我这好处在哪,我加了一个艾的符号,这是我们说过的,这叫并行执行,并行执行是不是100台机器瞬间就做完了,对吧?哎,所以这样的话呢,就更方便了,那我们来看一下这个脚本能不能跑出来,哎,你看做完了,做完以后。
17:31
后能能不能实现呢?我们来看一下,随便找个六看成了吧,哎,那这个找个七没问题,看见没?这边列是不是更简单了,这语法要简单一些,因为派D呢,终究是一个自己的语法,这不更简单了吗?所以机可以验证知道怎么做了吧,这俩脚本你都可以用啊,随便批量直线,所以有了这个以后呢,将来你把这个JP验证实现了以后,你拷贝文件呀,SSH啊就非常方便了,呃,我这还有一个,这是脚本一啊,实际上还有个脚本二,脚本二呢是这样的,脚本二是因为我们刚才那个IP啊是连续的,那万一要不连续怎么办啊。
18:21
啊,那不连续。这个密码啊,刚才我们是用小P来指定的,那事实上咱们这个密码也可以不用小P来指定,它有个选项也可以来存密码啊,这个工具呢,就是叫杠F把文件,把密码放在这个文件里面,这样的话呢,就避免在历史里面存放密码了,然后我们可以建一个文件,叫你可以把密码放在这里面,然后呢,我们用s sh pass-F后面跟上这个文件,这样也行。
19:07
那比方说我现在呢,想SSH登录到远程主机上,然后把他的那个root下的SSH目录删了。应该就上了。删了以后我们看一下这个七上的这个S是目录是不是真的被删了,是不是删了啊,那我用这种方法再把六的也删了,再把八的也删了,这样的话呢,JK就有个取消了,相当于啊,那现在你看我现在去连看又传统密码了,对吧?哎,就是这种,那我这还有一个第三个脚本,也能实现基于K的部署,那我这还有一个脚本,这是第二个脚本,这个脚本呢。哎,拿过来,因为我刚才的IP地址呢,是不连续的,不连续的。
20:04
啊,比方说678,但是还有个101101是不连续的,所以我们就这么写,哎,写成变量101,把它放在这,那后面的东西都一样,不过呢,这个地方要注意,我们这有一个杠P密码放在这,实际上除了这个密码放在这个地方,我们还有一种写法也可以放密码,放什么呢?就是有一个变量来存密码。这个变量呢,叫。杠E,它会用s pass来存放密码,这是个变量,用它来实现啊,那就是这个意思。我密码用不着了,Export export,这是个环境变量啊,叫ss pass,这是个环境变量。
21:09
Sh pass来存密码,他得存密码,然后呢,存了密码以后,这就用不着写密码了,再用杠一就可以一写杠一它就自动的聪明的就知道要去从你这指定的这个变量里面读密码,明白了吧,这样就行了啊啊,你看我这是一新写了一个脚本,你看它也能实现,诶好像也做完了,那我们现在再来试一次,看能不能写,是不是还可以,这就行了吗?啊,这就是基于K的多种验证方法的多个脚本啊,我都给写了啊,你们下来。可以参考啊,不要复制粘贴是吧,自己抄一遍啊抄一遍,所以生产中啊,我们用了这种方式,那就可以非常部署方便的部署GP验证了,那确实有些企业里面成千上百的机器啊,那我们每个机器要基于可验证,你要手工做太麻烦了,那这种方式就批量实现了。
22:22
那这边有一个脚本,这个脚本也是面试题曾经出过的一个题目,就是批量的改远程主机的密码为随机密码。当然那随机密码你得记住的啊,你不记住你将来字也连不上去了,对不对?诶我问你家大家个问题,我现在基于可验证已经实现了,你看我这个基于可验证已经实现了,那现在请问我七的机器如果把密码改了,把密码改了,请问我那边还能连吗?啊然我把入的口令给改了,我改了一个S,原来是马克一丢吗?现在我请问我把密码改了以后,这边基于K验证还能连不能连吗?我们说了基于P验证和密码有关系吗?没关系啊,你该怎么连怎么连啊,没关系,所以啊,以后你们上了班以后发现同事离职了,同事离职以后别说把密码改了就踏实了,还有基于K验证的,哎,你把这个K也得给。
23:34
给他处理了,要不他拿K还能连你对吧?那到时候人家走了,过一段时间发现你的K没给没没销毁,人家嘎,你连过来把你的服务器搞瘫了,到时候你自己背锅了,公司多是吧?哎,啊,这可验证和密码没关系,而独立的两套身份验证方式是吧?那那那刚才我们说的这个问题啊,这也是面试题,问到的就是如何来生成随机口令。
24:15
那你看我这个脚本啊,我直接给看看我们分析就行了啊,这个工具里肯定装了嘛,我们用这个工具啊,然后假设我们有254个机器,那我就循环254遍,那这呢,我们用这个随机,这个是不是生成一个随机口令,还记得吗?我上午刚讲过,是不是生成九个字节的随机口令啊,这个是九个字节,九个字节备用六四编码转换过的,因为九的话是不带等号的。369是不是不带等号对吧?嗯,然后呢,我们这个密码呢,杠一-一的话是要利用这个呃变量存的密码啊,然后呢,用s pass连接改密码,不就是这个命令吗?当然这个命令只适合于Windows啊,无帮不支持啊。
25:02
那这不就改了密码了吗?改了密码以后,这因为这个密码是随机生成的嘛,所以是不是就导致他密码最终就变了,变了以后,当然你别忘了把这个密码还得存到一个文件里,要不你自己就连不上去了,对不对,别忘了对吧,这不就随机改口令吗。这就随机改口令,所以是不是很简单,再加上一个后台执行是吧,并行执行,这这这多好。面试题再出这种题是不是很easy啊?这也是面试题的一个啊。你说刚考完试哈,这道题没考上,下次考吧,那这个都是很常见的,你工作中也挺实用的。啊,这个我们可以跑一下看看。
26:01
看能不能做到随机口令。好,我就随机口令,随机口令就pass吧。好,那我们看一下这个脚本能不能生成随机口令,当然我们没这么多机器啊,没这么多机器,那我就少一点吧,我这是只到六到七六到八啊六到八,呃,另外呢,我的口令也不是123456,我的密码现在是两个一丢是吧,好改了。
27:16
那现在看看他们是不是随机口令,因为我们刚才要求把随机口令要放到一个文件里,放到一个叫host这样的文件里,大概这里面就是它自己火连要这个好长啊,当然我们现在基于K验证有没有,我先看一下有没有基于可验证,呃,有基可验证,那我先把基K验证删了它。啊,用连接连上去以后执行删除命令,Root下的。那这样的话,这个把GK验证就取消了。
28:01
好,这时候呢,再连接它就要需要输密码了,好,那现在我这个密码,我们来看一下能不能用这个密码。我拿这个复制一下。走,哎,上去了,你看就这个密码是吧,没错吧,没错。而这就是一个面试题啊,面试题。这脚本难吗?同学们,那你们这个是老司机了啊,这个编循环这不是很easy的事吗?无非就是今天多加了一个这个命令而已吗?是不是啊,没什么难度啊。那这些都是面试经常出现的,也是工作中比较实用的技术。
29:08
那刚才给大家讲了这个基于key验证的,呃,实现,那另外呢,我们这还有很多SSH的客户端,除了我们刚才给大家讲的SSH以外,还有SAP SAP呢,这个复制方法相信大家应该比较熟,SAP呢,嗯,你前面是原,后面是目标,就是你前面是复制的原文件所在路径,后面是目标所在的文件路径。那其中复制的时候呢,这个源和目标可以是在本机,也可以在远程,如果是远程主机,那就写的时候,这个格式要写上远程主机的IP冒号,后面跟上远程主机的文件路径。啊,后面再跟上目标,那这个就表示把远程主机的文件拷到你本机,反过来也可以,你也可以把本机的文件复制到远程知道吧。
30:04
啊,那都可以的,那但是不管怎么写,一定要记住前面是圆,后面是目标,知道吧,啊,这是它的固定格式。哎,我们能不能做到一点,就是我能不能做到。远程在把我别的机器上的直线的文件相互拷来拷去的,比方说我做在我现在是做在18上,能不能把这个。八和七之间的两个文件,两个服务器的文件互相考虑考试,那我先把这个基于验证给他跑一下。啊,我刚才跨,呃,这个这个之前有一个二版本,看我就跑这个吧。我把这个K验证先实现了啊。啊对对了,有问题了,因为密码被我改了,密码改了以后连不上了,因为随机密码是吧,那随机密码现在连不上去了,那再再改一下吧。
31:20
哎,这不是有那个所有命令嘛,把它调一下,这不就改了吗?这就改了,这不就改了吗?就改了。但是邦不支持啊,这改了,这改了吗?你看多方便。啊,再跑一遍。马哥一溜。
32:00
把这个K验证,哎,这个脚本咋现在不动了。二这个二文件咋写的啊?生成公交四幺对复制马克一丢六到八,把它只是复到六到八,那这个没错啊。马一丢。六到八验证复制。哎,好像刚结束,那看一下是不是成功了,七还可以,那可以,哎,六没成功啊,六的机咋了,六码已经改了。
33:01
啊,这验证失败了,没成功。啊,这这敲了两遍,怪不得。啊,刚才对六没成功没成功。再做一遍。好,那这是刚才给大家实现的这个JK验证啊,那我们这个ICP呢,它有一个功能,就是它可以实现远程的不同主机之间的文件复制,这是也是可以做到的。远程的不同主机之间的文件复制。啊,你像我现在我是做在森透S的18上,但是我可以把10.0.7的文件,比方说我复制这个文件复制到10.0.6上去,假如说放到贝塔下,明白吗?啊像yes,输入密码,因为我们刚才那个密码验证没有成功,诶大家看复制过去了,那我们看一下是不是复制到六的这个data塔下了,在六上验证一下,看成功了吧。
34:21
大学。所以他也支持啊,你看这个这两个两个路径是不是都是不是我本机的路径,他也支持。那这边呢,它支持一些选项什么压缩呀,递归,递归是针对文件夹的啊,如果说你要拷文件夹,别忘了跟R,我因为我们刚才是跟拷的是文件,跟文件的话不用跟R,拷文件夹一定要跟R啊跟R那比方说我想把我本机的这个ETC这个文件夹整个拷过去啊,比方说拷到六上去吧,拷到六的贝塔下。
35:04
好,这就拷过去了,拷过去以后呢,我们来看一下这台下的,你看这个是不是ETC整个拷过来了啊,当然拷过来以后呢,我们看一下你看属性权限,权限过来了,但是属性有没有问题呢。啊。是这样的假设啊,我在我的电脑上有一个特殊属性文件,那我建一个吧,好,我放在这来起个名字就叫test,好,我把它的属性给它改一下,比方说改成王所拥有并所拥有的组。
36:01
啊,这样的话呢,这个文件属性就变了,再加上一个特殊权限,比方说是600吧,把这个权限也改了,总之这个文件的属性不一样了,然后用SAP复制这个文件的时候,那我们看一下它的属性能不能保留住。然后我考到七的这个要换个文件夹OPT,因为七实现了基于K验证,所以密码不用输,然后我们来看一下七上面的这个OPT文件夹里面的,大家看有问题了吗?是不是丢失了所有者所入组啊,所以这个是SCP。不太好的地方,当然它这号称有个杠P-P是保留属性,但这个保留属性我们来看一下能不能保留住,我们再复制一次。这回加个杠P,我先把刚才那个OPT那个目录给他删一下。
37:04
Test我把它删了,删了以后这里面没东西了,那我们重新复制一次,注意这回呢,我加了个杠P,看看杠P呢有没有改进,大家看没有改进它顶多保留属性,但是保留权限而已,保留不住他的所有者,所出组。所以这也是个很大的问题啊,所以这个命令。这些选项啊,比方说改端口号,如果目标端服务器用的不是这个什么标准的22,你可以用大P来指定,所以我们有一个更好的命令叫r think,这个r think呢,导的好处是什么呢?好处是它可以解决RCP的问题,IC呢有一个巨大的问题就是它不仅保留不住属性,还有一个问题就是它生成的这个文件。
38:06
生成的文件列表复制的时候,它不管你文件有没有变化,它是一路一路复制的,什么意思啊,这样大家看我这生成三个大文件DV啊,就叫T啊,F1吧,F1BS1兆啊,我们就生成100兆,这是第一个文件,然后第二个文件是F2。第三个文件是F33个文件,这三个文件生成之后啊。现在我想把这个文件整个的复制过去,那我们可以用,呃,这个星,因为我已经在这个目录下了个星,那我就复制到咱们的七上去,比方说复制到o pd下复制过去,诶大家看,因为进入QK验证了密码是不用输的。
39:09
好,复制过去了,复制过去以后,现在我们来看一下七上面这个目录是不是真的有这个文件了啊,大家看确实复制过来了没有问题,但是问题在这什么呢?就是如果我更改了其中一个文件,例如我更改了F2这个文件B,我只是增加了一个换行,就是eo不是增加一个换行吗?大家看它这个文件原来是一样大的,现在多了一个字节,大家看没有,是不是601了,它多了一点点,因为它变了一点,那变了一点的话呢,这两个文件上面没变,那没变的话,如我如果再复制一次的话,你会发现看到了吗?他是不是全都考了一遍。他全都考了一遍啊,你看这个地方看一下。那他就全考了一遍。那全考了一遍的话,是不是就白白的考了F1和F3,因为F1F3根本就没变过。
40:02
是不是这个逻辑啊,我只是改了个F2吗?你考F2不就得了吗?啊,结果你把F1F2F三都考一遍。这个显示键是不合理的啊,所以它不太适合于,比方说我要去做什么,两边同步数据的时候,两边如果同步数据的话,有些文件改了,但是有些文件没变,那如果你用iap,那那就不分青红再包,呃青红皂白是吧,一块都考一遍,那是浪费嘛,那么这时候我们用一个r think命令,可以比较好的来解决这个问题,R think呢,它是个增量性的可以,那首先我们先看看它的用法啊,它的用法跟啊SAP很像啊,比方说如果我要考贝塔,那我就可以直接这么写就行了,那么写的时候呢,后面跟上它的IP啊,但是这个地方有一个小问题啊,就是你复制的时候。好,我现在把这边的题那个内内容先清空一下,清空一下把这个目录是空的,然后现在我在复制的时候,这个地方加斜杠不加斜杠是不一样的。
41:11
比方说我们现在不加斜杠线试一试啊,这个要加R。加R递归,哎,加R递归。好看这边。它是不是不加斜杠,把data目录这个拷过来了,你看这个data目录,当然data目录过来,里面的数据也就过来了啊,这是一种复制方式,那但是如果我这个地方加了一个斜杠呢,你再看加上斜杠以后,你再看它的逻辑是不是一样呢?我们再看一下就知道了。既然斜杠就是不复制目录本身只复制目录里面的文件,就多一个斜杠少一个斜杠不一样啊,这是它的一个一个特点啊。另外呢,我们在复制的时候,R think呢,它还有一些比较常用的选项,例如我们用AA呢,它实际上是相当于保留所有属性,这些全这些属性的集合,也包括RR递归。
42:12
也包括PP是保留权限,还可以保留什么呢?保留什么这个god等等,这呢是保留组信息,还可以保留什么,所有者所有组都可以保留,所以一般来讲用A的话呢,那就省事了啊,A就全保留了,那V的话,相信大家应该知道,V的话,我们以前老用V的话,是不是显示过程对吧?如果你想观察这个,呃,复制过程,那你就是加上V就行了,AV组合应该很熟。好,那我们把这个目录再删一下。好再看你看这不就看到了吧,复制过来了,复制过来以后呢,我们现在看一下这个目录确实有了,诶不过这回呢,我变了,我这回把F3改了,注意啊,我现在改F3啊,我把F3改了。
43:08
然后呢,我又增加了一个新的F4,我又创建了一个新的F4文件,就是F3变了,F4是增加的新的,大家看这两个文件是新增加的。啊,我们在七上呢,我们看到目前来讲有一到三三个文件,好,那我们在进行复制的时候,大家看我再把data复制,那它会复制谁呢?你看提示就看出来了,他是不是只复制这个变化的文件和增加的文件。他把这三个两个文件这个你想F1F2不复制了,这不是节约节约带宽了吗?提高效率了呀,增量性复制啊,对吧。当然这里面还有一个小问题,就是我们刚才是增加,那如果删了呢,比方说我把这个这回把F1给删了,那么删了F1以后呢,你去复制的时候,会不会因为这边少了F1,而那边也会删F1呢?
44:13
会不会呢?那比方说我这回也改一个这个F4,我也把F4改了,就是我这次做了两次四修改啊,一把F1删了,第二把F4改了,那现在我们看一下这边首先看一下这边有几个文件,这边有一到四四个文件都有,好那么现在我在复制的时候,是不是因为我这边少了F1,那边也会删F1呢?走一遍看看。你就知道什么意思了,只是把F4复制过去了,而不会删除F1,大家看这里面F4变了,你看多了一个字节,但是F1还在,也就是说那增加的话我可以考过去,但是少了我不会给你删的啊,这个有点数据安全的考虑,不过呢,有的时候我们真的希望两边是一模一样的,那如果你真的想实现一模一样,这边删那边也是那么方法就是加个选项就好了,这个选项呢叫delete。
45:14
加上delete那两边就一样了啊,就一样了,那我们看这么加一个delete。对,我这一加,那这边有啥,那边有啥,看这边是234,你看那边是什么,就234。看懂了啊,那比方说我们这边再建个新文件叫F5啊,我再建个F5,然后呢,我又删了F3,你看我这边是245,这边是245,那这边呢,目前来讲是234,好,那我们来看一下,如果还用刚才的同步方法,看看会不会导致他们能一致呢?这边是245,看这边是不是245,怎么样,是不是实现了文件的同步啊,诶大家想想将来生产中我们利用这个技术,将来就可以做到两个服务器的数据同步了,当然比方说有些服务器啊,经常会用户上传一些什么,比方说图片之类的啊,比方说有些用户会传一些什么博客文章啊,上传的一些图片那个东西,呃,你要时不时的要做一下备份,你要不备份,万一服务器坏。
46:39
下来人家用户上传东西都丢了,所以那你要备份,那怎么备份呢?你是不是就可以把这个上传图片的服务器作为拷贝的源,然后找一个备份的服务器作为目标,然后呢,时不时的给他同步一下。对吧,哎,这边有的,这边也有,这边删了,这边也删,这不就实现了备份效果了,对吧,你要用T的话呢,那个他备份说实在的不如这个快吧,备份是整个打个包,这个是不是可以增量啊,这个啊,但是现在有个问题。
47:18
你这个同步你多长时间同步一次啊,那我们现在目前来讲,也不用非得说天天时刻同步啊,就比方说你这个,呃,整个半个小时同步一次也行嘛,因为说用户传个图片,传个丢,图片丢了丢了他顶多损失半个小时,他也能接受,那虽然说是不太好吧,但是也能接受,反正也不是钱嘛,对不对,那钱损半个小时不行,那传个图片丢了就丢了呗,对吧,那半个小时别示同步一次,那咋弄啊,那这时候你是不是就可以写个计划任务,写个计划任务让它定期同步半小时一次,那这个半小时一次的话,那你计划任务怎么写啊,这个格式要让他写啊,星斜杠30对吧,当然你也可以写成什么零逗号30,那这就整点了,是不是零点开始一次。
48:19
30分一吃一次,那不就完吗?这也行吗?那行行行是吧,这这不就然后呢,后面你写个备份脚本,就是把那个l think那个命令写在一个脚本里面不就完了啊,比方说写一个什么这个这个丁下的backup,那接下来你把这backup文件写一下不就行了吗?那这个backup应该怎么写啊,那很简单,是不是r think啊,这个杠AV delete啊,AV就不要加了,我们说了没有用啊,因因为你是计划任务,我们说过计划任务的脚本不要和平时用的脚本是一个风格的,因为它显示一些信息都会给你发邮件的,对吧?呃,所以比方说你的数据在这,你想备份到远程的主机的,比方说是这个这个七的什么的backup目录下,呃,你要是备份的是整个文件夹,那你就加这个,你要备份的是整个文件夹里面的数据,那你就可以加斜项是不是,诶这样就可以了,当然你要是备份的时候不想显示任何信息。
49:19
不想生成垃圾信息邮箱是不是这就完了吗?这不就完了。没意思了吧?面试出这种题是不是很简单?我已经告诉你答案了啊啊,这个是工作中用的常用技术啊,I think很有用。经常用于实现数据的同步。啊,这就是他的一个,当然咱们也可以试一试啊,如果说你想试的话,那就把这段复制出来,当然这个要实现的话,你是不是得先把那个基于K验证做了。
50:04
是不是这个道理啊,你要不实现机可以验证,那你想他一复制是不是要让你输密码啊,那到点你不能半夜输密码去吧,对不对,哎啊比方说这个脚本就放在这个褥子下吧。当然我这个因为这个时间太长了,所以我就写成整点那个什么吧,芯每每分钟只一次好吧,啊或者你改成那个。每半小时执行一次,每半小执一次,那我们就凑个点呗,看他会不会执行啊。来写在七上去了,那我是在八上去该执行,所以应该是在八上写啊,那我们就在这写一个那个八八脚本啊,这个脚本就是刚才准备的这个,就把data下的这个目录同步到远程器上的backup这个文件夹啊,杠杠delete,这应该没错啊,那么先跑一下这个脚本,看看这里面有没有东西有啊,然后七上,那这个七上这个计划任务就删了,不要了,当然我们这没有backup目录,我就建一个啊,大家看这个目录现在是空的。
51:31
然后呢,我们现在就可以来跑一下那个backup脚本。好,复制完了,复制完了以后看过来了没有过来了吧?啊那脚本成了,那是不是就编个计划任务就完了啊呃,Chrome-一,然后呃,我们就星斜杠30星星星星。
52:03
好,把那个脚本路径写上backup sh,然后把这个权限加上,这不就完了吗?啊,当然,那现在。因为咱们这个时间不凑整点啊,不凑整点那就改一下吧,呃,改成啥了,改成几分钟之后啊。五分钟五分钟之后,五分钟五分钟是minute是这个吧,哎,看正好了59啊,然后呢啊,我们这边把数据给它清一下,清清一下好,那这样的话里面就没数据了啊,按照这个点正常到点应该执行啊,当然我们也可以跟踪一下访问那个日志。有没有直行,诶直行了,看到点了,看见没有,是不是到点了,那另按理来讲这边应该成了,那我看看有没有过来了吧,是不是这不就完了吗?啊是不是很简单啊。
53:16
那我故意的故意的再把那个什么,把那个数据改一改,因为咱们要确保真同步啊,那这个数据改一改,比方说我们就呃这个这个再再再对一下。好,我们DDDDDD再生成一个新的F6,甚至一个F6,然后呢,删除一个F2,然后改一个。F4啊,总之呢,我们这个文件夹里面就变了好多。
54:07
诶,F6怎么没生成啊啊,没写路径,没有写路径啊,这样的话,你看两边这边是456,而这边呢就不一样了,这边是245是不是不一样了是吧,不一样,然后呢,我们那个计划任务是半点执行,现在又不到半点,不到半点,那我们就再改一个时间嘛,改个啥呢?改的十八十五十八点二十九是吧,那我们就再再把时间调一下,再把时间给他调一调,这应该改成一分钟之后,二十九十分钟之后吧,28分钟是吧。28分钟看看呀,这就几秒来不及啊,有点来得及吗?啊好,那那也许能成啊,看看成不成,时间太近了啊有点哎,真的成了,他赶上了,看456过来了吧,数据一模一样的是吧,是不是整点,你看看是不是就是整半小时啊,就半小时整点。
55:14
所以确实也能验证出来,我们写的这个格式是没有问题的啊,这个是不是半小时执行一次啊,半小时注意他这个所谓的半小时都是从零分开始算的啊,零分的半小时不是说你现在的半小时往后不是这个意思是每个小时的零点就是呃,零分钟开始往后算半小时。是吧?想一想,他不是现在的半小时。啊,这就是咱们周期性的计划任务,配合这个时间的数据同步了,当然这个同步呢,目前来讲只能做到半小时同步一次啊,当然你也可以把时间缩短一点,比如说五分钟同步一次,不过呢,时间太频繁的话,也会加大服务器负载啊,所以一般来讲也不会过于太近啊,过于太近,那这是咱们给大家讲的这个think。
56:09
R think呢,这是我们未来用的非常多的,而SFTP这个用的不多,SITB这个基本上很少用,它是一个交互式命令,就是你可以用它呢连接输入一个密码登录这个如果因为我合力,我没有实现用户密码验证啊,就是没有GP验证,所以我还得交互的输密码,输密密码以后呢,连上来大家看,连上以后你就看到这个接上的文件,你可以把它下载下来,Get,比方说我们下载一下Excel文件要下来了,下来以后呢,我还可以看看我本机的文件,注意看叹号是表示本机的文件,你可以把本机的文件传上去,传到服务器上去,你看就传上去了,传上到六上去了,我们我们看一下是不是传上去了,看大嘎把这个脚本传上去了,能下载也能上传,你看这个文件,刚才这个这个exce文件就下载下来了,就能下载也能上传,但是这个时候交互式的啊,用的不多啊,它也是基于S协议的,也是基于SSH协议的。
57:08
好,那这是咱们给大家介绍的这个常见的客户端工具啊,那这边呢,还有一些这个高级用法,这个高级用法呃,应用的场景比较特殊啊,比较复杂,大概这个图里面会涉及到本地端口转发,远程端口转发,这是高级工程师要掌握的是吧,那我们今天成为不了高级工程师,咱明天下次才能成为,所以今天就不讲了,那今儿个咱们复习一下,今天我们简单呃回顾一下咱们讲了哪些东西啊呃,今天说说重点啊,重点重点实间我已经写了一个了,就这个基于基于这个呃,证书申请,还有就是基于K验证,基于SSH的P验证,当然这个最好是批量直线批量实现多个多台主机的。
58:08
J可验证,那这个要编个脚本了啊,脚本建议你们自己写,不要参考我的,不要不要抄我的啊,你可以参考啊,那实际上我们今天的若要说重点,主要是这两个重点啊,这里面大家要熟悉一下这个工具,这个工具我觉得还是非常实用的这个工具啊,有了这个工具咱们expect用不着了,不用expect了,CE可以淘汰了,知道吧,Expect以前用的多,现在就用不着,有它了,就用不着它了啊,这个可以淘汰了啊,不过这个要都要端装啊,一个TD也好,S pass也好,这个都要端装,因为默认系统没有,默认系统没有。好,那么再有就是r think这个工具,大家要知道,刚才我实现了这个交实现了这个东西,就是呃I think这个实现自动的,呃数据同步这个呢也要实现,那通过计划任务配合起来,我刚才写的那个通过计划任务利用r think实现数据的自动同步,这个你要做,这也是工作中用的非常多的啊,啊看看今天还学了原理性的东西,都大家应该知道的啊,证书吊销也要会。
59:48
好,那其他的应该没了,好,那今天学的命令有没有新的命令啊,哪个是新的命令啊?S y c rin的吗?
60:17
Think think,呃,还有是SSH,这个都讲过了,S sh pass吧,SSHKJSHD,对,还有open SL,这个写过了,还有啥倍六四对,可以生成倍六四和解密倍六四。备用钥匙。
61:00
备份。还有啥啊,Agent和s and,就是那个启用代理那个SSH agent sh and,对小大家还记得,咋说没了呢,这不还有了吗?还有啥?SMTP嘛,不刚讲了吗?虽然用的少吧,你也得知道吧,还有啥。
62:06
八。啊,没什么了啊,想不起来了,哎,一个炮一炮的,那不是远强同学,那不是新的吧,那个之前学过,包括我这个笔记里有没有啊这块的,这个之前没写过吗?有的,这生存环境变量嘛,这这个应该讲过的。讲话。好,还有补充的吗?万一的孩子就个人不利的那个讲。想不起来了啊,行,那就这些了啊,那下面就是你们把这些好好列列啊,这实际上是主要是涉及到一些,就这个证书申请,包括这个ST验证SRS这个是个重点了,大家下来试试好了,那今天课咱们就上到这啊,下次。
我来说两句