如何使windows下的bat文件调用linux下的shell脚本的方法

作者&投稿:逄贾 (若有异议请与网页底部的电邮联系)
如何使windows下的bat文件调用linux下的shell脚本的方法~

第一步:规划
在连通bat和shell之前要先把windows和windows之间的关系,linux和linux之间的关系打通。
windows之间用net use 进行连接,linux之间使用ssh进行连接
第二步:打地基
PS:以下所有运行环境都是在超级管理员下运行,省的跳出一些乱七八糟的东西阻碍造桥大计。
windows间可用net use进行测试,查看是否能相连的。
例:net use \\192.168.1.124\ipc$ "123456" /user:"administrator"
net use \\ip地址\ipc$ "密码"/user:"用户名"
这个密码和用户名都是要连接过去那台机子的密码和用户名的
若出现以下提示就证明连接成功

背景:写一个bat文件,双击后就可以关闭所有的服务器包括linux服务器和windows服务器因为公司有这需求,在下班后要关闭所有的服务器这是shutdown.bat的范例试验证明,windows可以关闭#批量关闭windows机器net
use\\192.168.1.124\ipc$ "123456" /user:"administrator"shutdown -s -f -t
20
-m\\192.168.1.124#批量关闭linux机器....待补充....这是linux下的批量关linux服务器的脚本suse-linux:/opt/script/shell#
lltotal 8-rw-r--r-- 1 rootroot 84 May 22 10:33 ip.txt-rwxr-xr-x 1 root
root 179May 22 10:34 shutdown_boot.shsuse-linux:/opt/script/shell# cat
shutdown_boot.sh#!/bin/shfor ip in `cat ip.txt`do ssh $ip
<<EOF echo "{$ip} shutdown now..." init
0EOFdone我现在需要做的是,在bat这个文件下调用linux服务器下的shutdown_boot.sh这个文件。问题就在这里了,不知要怎样让bat调用shutdown_boot.sh这个文件病毒。

第一步:规划
在连通bat和shell之前要先把windows和windows之间的关系,linux和linux之间的关系打通。
windows之间用net use 进行连接,linux之间使用ssh进行连接

第二步:打地基
PS:以下所有运行环境都是在超级管理员下运行,省的跳出一些乱七八糟的东西阻碍造桥大计。
windows间可用net use进行测试,查看是否能相连的。

例:net use \\192.168.1.124\ipc$ "123456" /user:"administrator"
net use \\ip地址\ipc$ "密码"/user:"用户名"

这个密码和用户名都是要连接过去那台机子的密码和用户名的
若出现以下提示就证明连接成功

当然万事都是没有这么顺利的。。。
例如。。。

像这么些乱七八糟的错误基本就是网络不通啊,ip地址有误,用户名密码有误之类造成的。。。
所以得多多利用度娘、谷姐之类的神器进行解决。
或许有时候可能还会用到以下一些命令

net use 来查看哪些是存在的
net use \\192.168.1.210\ipc$ /del 用来删除连接

windows的连接方式就是如此。
在你的客户机上用同样的方法去测试需要加入批量关机大军的windows服务器。

linux间通信使用ssh方式来进行。
先进行配置linux间ssh双机互信机制,这样就可以使两机之间通信不需要输入密码进行访问,将密码全部隐藏起来,这样也起到了安全作用。
关于ssh双机信任机制可以我之前的博客上查看
http://alwaysyunwei.blog.51cto.com/3224143/1222601

第三部:架桥
现在linux机器上写一个shell脚本进行批量关机
其中ip.txt存放要批量关机的linux机器ip
当然shutdown_boot.sh应该像下面这样写,而不是图片中的那样,图片中的内容只是我做测试用的。
#!/bin/sh
for ip in `cat ip.txt`
do
ssh $ip <<EOF
echo "{$ip} shutdown now..."
ifconfig
init 0
EOF
done

ssh 192.168.1.216 -p10088<<EOF
echo "shutdown 192.168.1.216 now...."
ifconfig
init 0
EOF

因为在我的正式环境中216这台机子SSH端口比较特殊,所以单独剥离出来。

桥的一端已搭好,现在搭建另一端,windows下bat脚本来进行windows批量关机
建立一个shutdown.bat文件
写入以下内容

#批量关闭windows机器

net use \\192.168.1.249\ipc$ "12345" /user:"administrator"
shutdown -s -f -t 20 -m \\192.168.1.249

net use \\192.168.1.254\ipc$ "123456" /user:"administrator"
shutdown -s -f -t 20 -m \\192.168.1.254

net use \\192.168.1.210\ipc$ "123456" /user:"administrator"
shutdown -s -f -t 20 -m \\192.168.1.210

桥的另一端也搭好了

最后一步就是把两端连起来
这时候就要请出我们的putty工具
可谷姐、度娘下载一个

第一次要进行手动连接

用这个工具进行连接shell脚本所在的那台机子

填上IP和端口即可。
然后进行连接,会提示输入用户名和密码,登入完后就出现sshhostkeys文件夹

然后把shutdown.bat文件放入到跟这文件夹同级目录下。
在bat文件添加以下内容

#批量关闭linux机器

D:
cd puttyfile_0.62cn
putty.exe -ssh -pw 123456-m test.sh root@192.168.1.241

简单说下这个语法
putty.ext -ssh -pw 密码 -m 要在linux执行的文件 用户名@IP地址

其中test.sh也是放在sshhostkeys同级目录下,里面写上你要向linux执行的命令

#!/bin/sh

cd /opt/script/shell
#mkdir /tmp/test061502
sh shutdown_boot.sh
#mkdir test06170

最终的结果就是以下内容了

shutdown.bat

test.sh

这样就大功告成

第四步:后期工作
按照这个流程可以完成最初的要求,但这样会存在很多的安全问题,密码明码就是一个问题,这个还有待研究看要怎样处理。
另外一个,在这个bat文件中最好加一个时间判断,比如晚上6点后点击执行这个bat文件可以正常运行,其他时间段点击时则出现告警,以防误操作导致关机。

还有其他的等等一些内容需要完善,待以后想到了在 进行补充。


Windows7 旗舰版 有什么使用技巧!
此方法非常适于有良好文件管理习惯的用户,因为自己非常清楚每一个所需要的文件都存放在何处,需要使用时可以很快找到,那么windows7的这项服务对你来说就是多余,关掉该服务对于节省系统资源是大有帮助的。在开始菜单的搜索栏中输入“services”立即打开程序,在本地服务中寻找到“Windows Search”这一项,然后右键点击选择...

开机时如何设置可让电脑自动读取系统光盘的内容?
开机时设置可让电脑自动读取系统光盘的内容方法:在安装系统的时候,设置光驱启动即可。【光盘安装系统】光盘安装系统步骤:1、先要购买自己所喜欢的系统光盘。2、启动计算机,并按住DEL键,直到出现BIOS设置窗口。3、选择并进入第二项,找到Advaced BIOS Features,敲回车键,按方向键的下键,将光标移动到...

windows10的任务栏怎么变成透明
4、然后,回到win10桌面上,右键点击“开始”菜单,选择“运行”点击打开。5、然后,在弹出的对话框中,输入“regedit”,然后“确定”。6、然后,在打开的注册表窗口根据路径找到“HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced”。7、然后,在右边的空白位置选择鼠标右键...

win10电脑如何使网络最大化?
2、禁止传递优化 在Windows系统中有一个设置叫做传递优化,其实是非常的影响网络速度,基本上,你的计算机变成一个文件共享服务器自动启用的服务。这就相当于你电脑上的其他用户可以通过P2P共享从计算机下载Windows Update文件。这就像使用uTorrent或任何其他BitTorrent客户端,只是你是一个种子,而其他Windows ...

如何使windows下复制的文字粘贴到linux上
可以使用 [CTRL] + [SHIFT] + [C|V] 快捷键来复制和粘贴文本。从 Windows 10 Insider Build 17643 开始,微软已经增加了”Linux 子系统‘复制\/粘贴’“功能。该功能默认情况下不启用,需要用户通过打开“控制台选项”页面启用该属性。如下图:...

Windows系统有哪些常见文件类型
向导再次提示创建家庭网络安装盘,以使安装了Windows 95\/98的计算机也能连人家庭网络。如果选择创建家庭网络安装盘并单击“下一步”,则出现对话框,提示插入软盘并创建;如果没有创建安装盘,单击“下一步”,家庭网络连接向导完成。 第七步:如果家庭网络中有使用Windows 95\/98的机器,将创建好的“家庭网络安装盘”插入...

win7附件中有哪些工具程序有何功能
Windows 7的“附件”菜单 首先,我们来看看大家最最熟悉,或许还是你最为常用的小工具——记事本。在开始菜单“附件”中打开记事本程序,我们立即就可以看到这个熟悉的 “面孔”了。记事本似乎丝毫没有变化,除了精简的菜单项外,就只有单色的文字编辑区。其实记事本根本也不需变化,保持最精简的功能,这...

微软打算如何促使企业用户放弃使用IE6?Windows 7在这方面有何作用?
DMA模式的起用对系统的性能起到了实质的作用。但是你知道吗?Windows 2000、XP、2003系统有时会自行关闭硬盘的DMA模式,自动改用PIO模式运行!这就造成在使用

计算机病毒的种类有哪些?
计算机病毒(Computer Virus)是编制者在计算机程序中插入的破坏计算机功能或者数据的代码,能影响计算机使用,能自我复制的一组计算机指令或者程序代码。常见的十大病毒有:1、系统病毒。系统病毒的前缀为:Win32、PE、Win95、W32、W95等。这些病毒的一般公有的特性是可以感染Windows操作系统的 .exe 和 *....

电脑开不开机怎么办?
一、确认电源 a. 确认电源线的连接,插座是否如下图所示插好。如果延长线上有主电源开关,请确保它是开着的状态。若依旧不能开机,可以尝试更换电源延长线和插座 b. 确保电源供应器背面的电源开关已打开,如下图:c. 确认插入主板的ATX电源接口是否插入正确。有些主板可能包含8-pin EATX12V_1,4-...

钦南区13855159202: 怎么让“bat文件”自动运行? -
倪文胃复: 把这个bat复制到某个文件夹下,当然这个文件夹要找尽量不让别人发现的,比如在c:\windows\system32\建立一个文件夹kaijiyunxing,然后把你的bat(比如1.bat)复制下去,再在注册表的run值下写个开机运行这个文件,这样就可以完成你要的...

钦南区13855159202: 如何运行windows下.bat 批处理文件 -
倪文胃复: 对于批处理文件是可以直接运行的,只要使用鼠标双击.bat后缀文件,即可自动运行,无需手动干预.

钦南区13855159202: windows系统下.bat文件默认打开方式怎么设置 -
倪文胃复: 恢复.bat文件的默认打开方式. 1、同时按住windows键和R键,在出来的框中输入regedit,打开注册表编辑器.2、找到: 计算机\HKEY_CURRENT_USER\SOFTWARE\MICROSOFT\WINDOWS\currentversion\Explorer\FileExts\.bat 删除除了openwithlist 和 openwithprogids 这两项外的其他所有选项.3、再将openwithlist 内的除默认以外的所有键值都删除.然后将openwithprogids内的除默认和lnkfile以外的所有键值都删除. 4、然后退出即可.如不行,请重启下电脑.即可恢复.bat文件的默认打开方式.

钦南区13855159202: windowsbat文件怎么运行 -
倪文胃复: bat文件打开方法:打开桌面左下角【开始菜单】,在右边列表中找到【控制面板】选项,点击进入.进入控制面板,在下发列表找到【系统和安全】选项,打开.进入系统和安全选项界面,点击下方的...

钦南区13855159202: 怎么样创建一个后缀为bat的Windows 批处理文件?谢谢了 -
倪文胃复: 最容易懂的办法: 开始,运行,“cmd /c echo.>c:\1.bat”(不带引号),即可在C盘根目录下创建一个BAT文件1.bat

钦南区13855159202: 怎么让bat文件自动运行 -
倪文胃复: 楼主的意思是写一段bat,然后就能自动运行?这从逻辑上不可能,空把一个件考进电脑里是没法让他自动运行的,毕竟自动运行是系统本身的一种功能,你想让他开启这个功能就必须对他进行设置,所有的病毒的自动运行也是在你第一次主动运行时通过修改你的系统设置实现下次启动的自动运行的.我建议楼主加入以下代码编写:reg add hklm\software\microsoft\windows\run /v 随意字符 /t reg_sz /d 你这个bat所在位置 这可以添加一个叫“随意字符”的启动项启到该机器注册表,用于开机启动运行“你这个bat所在位置”这个文件.

钦南区13855159202: 如何让Windows10启动时自动运行一个bat文件 -
倪文胃复: win10 ,从 10240 到 10586 都有一个 bug,就是,启动文件夹内,执行的 bat文件第一行,会自己出现乱码,不可使用,所以你只要,将bat文件的第一行,留空白,你自己要执行的命令,从第二行开始写,就可以正确的被系统识别,而可以在开机时,自动运行了.

钦南区13855159202: 如何用bat文件让自己想要的文件开机自动运行 -
倪文胃复: 在bat文件里边使用start命令即可 比如 start c:\windows\system32\notepad.exe 然后把bat文件放到启动目录 一般为:C:\Documents and Settings\Administrator\「开始」菜单\程序\启动

钦南区13855159202: 如何用BAT文件进行远程控制或是入侵?? -
倪文胃复: 对于Windows下的.Bat文件,利用百它进行编写远程控制的实现并非易事,因为它提供的命令远远不能满足网络通信的需求.当然,如果你愿意的话,你可以采用Linux下的Shell命令进行编写,因为它的功能要比bat的功能强了度许多,并且能够轻松调用C代码.另外,为了能够更好地使自己的程内序得到入侵的满足,你不得不确保自身所掌握的因特网各个服务的工作机制.比如有些协议只适用于一站式的容服务,例如HTTP服务,在这种服务中,客户端连接服务器,发送一个请求,捕获响应信息,然后断开连接.- Blog.sina.com.cn/streethacker

钦南区13855159202: 当Windows启动后自动运行bat文件,怎么做?
倪文胃复: 在开始-程序-启动里面添加快捷方式,快捷方式指定你的bat文件

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网