Shell中使用plink工具实现远程批量关机
我的操作系统是centos6.4
操作系统:rhel 6.2 x86_64
下载并安装putty软件包,本人下载了putty-0.62-1.el6.rf.x86_64.rpm
下载地址如下:http://rpm.pbone.net/index.php3
[root@localhost~]# vim server_list.txt
192.168.0.13
192.168.0.12
192.168.0.11
[root@localhost~]# vim shutdown.txt
shutdown -h now
[root@localhost~]# vim remote_shutdown.sh
for i in `cat server_list.txt`
do
plink -l root $i -pw redhat -m /shutdown.txt <<EOF
y
EOF
done
[root@localhost~]# chmod a+x remote_shutdown.sh
[root@localhost~]# ./remote_shutdown.sh
注意:本人应用环境,所有主机root用户密码均为redhat,请根据实际环境调整,若无规律,可单条列出。
例如:
vim remote_shutdown.sh
plink -l root 192.168.0.12 -pw password1 -m /shutdown.txt
plink -l jane 192.168.0.35 -pw password2 -m /shutdown.txt
plink -l paul 192.168.0.77 -pw password3 -m /shutdown.txt
plink -l root 192.168.0.19 -pw password4 -m /shutdown.txt
(或 plink root@192.168.0.19 -pw password4 -m /shutdown.txt)
相关推荐
-
Linux实现科学上网
plink -N -v 服务器用户名@服务器域名 -D 127.0.0.1:7070 -pw 服务器密码 -P 服务器端口 然后安装privoxy 复制代码 代码如下: sudo apt-get install privoxy 编辑配置文件 安装后只需要改动一点配置/etc/privoxy/config,让privoxy开启socks转http.在config中找到下面粗体的一行,把注释的#去掉,将端口号改为上面plink中设定的即可. 复制代码 代码如下: listen-address 19
-
用于deeplink的js方法(判断手机是否安装app)
代码功能:判断手机/平板是否安装app如果安装 则调用app的scheme,传入url当作参数,来做后续操作如果没有安装 则跳转到app store/google play 下载app 复制代码 代码如下: (function() {var openUrl = window.location.search;try{openUrl = openUrl.substring(1,openUrl.length);}catch(e){ }var isiOS = navigator.userAgent.ma
-
Shell中使用plink工具实现远程批量关机
我的操作系统是centos6.4 操作系统:rhel 6.2 x86_64 下载并安装putty软件包,本人下载了putty-0.62-1.el6.rf.x86_64.rpm 下载地址如下:http://rpm.pbone.net/index.php3 1.远程主机IP列表文件 复制代码 代码如下: [root@localhost~]# vim server_list.txt 192.168.0.13 192.168.0.12 192.168.0.11 2.远程主机要执行的操作的文件 复制代码
-
shell中使用expect命令进行远程执行命令脚本
expect是用来实现自动交互功能的工具之一,使用expect-send来实现交互过程. 注意: 1.脚本的执行方法与bash shell不一样,比如:expect example.sh 2.向一个脚本传递参数时,bash shell是使用$1,$2...来接收参数的:而expect则将脚本的执行参数保存在数组$argv中,在脚本中一般将其赋值给变量:set 变量名 [lindex $argv 参数] #!/usr/bin/expect set ip [lindex $argv 0] set p
-
linux shell中的比较符号与特殊符号介绍
shell字符串比较.判断是否为数字 二元比较操作符,比较变量或者比较数字.注意数字与字符串的区别. 整数比较 -eq 等于,如:if [ "$a" -eq "$b" ] -ne 不等于,如:if [ "$a" -ne "$b" ] -gt 大于,如:if [ "$a" -gt "$b" ] -ge 大于等于,如:if [ "$a" -ge "$b"
-
shell中如何批量注释和取消注释
#!/bin/bash echo "1" echo "2" echo "3" echo "4" echo "5" echo "6" 上面这段shell会依次打印1~6 假设我们想只打印5和6,想将1-4注释掉,除了正常的做法,每行前面加#进行注释外 一.手动添加注释 我们还可以用个取巧的办法,也可以写成下面这种 #!/bin/bash :<<EOF echo "1&
-
隐藏shell脚本内容的工具 shc详解
目录 简介 安装 常用选项 编译脚本 实例1 实例2 设置过期时间 如何引用二进制脚本 安全性 小结 从事 Linux 开发的同学,经常需要编写 shell 脚本,有时脚本中会涉及到一些敏感内容,比如一些 IP 地址,用户名以及密码等,或者脚本中有一些关键的代码, 所有这些内容你都不想别人阅读或者修改,更进一步,你希望对脚本设置过期时间,超过指定时间时间之后,脚本就无法使用 在不改变脚本内容.功能以及执行方式的情况下,有没有办法实现上面的需求呢? 答案是:有的, 在Linux下,我们可以使用 s
-
shell中的各种括号的使用方法
在这里我想说的是几种shell里的小括号,大括号结构和有括号的变量,命令的用法,如下: 1.${var} 2.$(cmd) 3.()和{} 4.${var:-string},${var:+string},${var:=string},${var:?string} 5.$((exp)) 6.$(var%pattern),$(var%%pattern),$(var#pattern),$(var##pattern) 现在分述如下: 1.Shell中变量的原形:${var} 大家常见的变量形式都是$va
-
Linux中使用crond工具创建定时任务的方法
前言 crond是一个linux下的定时执行工具(相当于windows下的scheduled task),可以在无需人工干预的情况下定时地运行任务.crond工具提供crontab命令来设置定时任务,属于守护进程,只能精确到分钟,可以设定周期性执行Linux命令或者Shell脚本,每分钟crond都会检查是否有定时任务需要执行 本次实验系统为CentOS 7 操作步骤 (1) 检查crond工具是否安装 yum list installed | grep crontabs 若未安装,则使用如下所
-
解决android studio中使用monitor工具无法打开data文件夹问题
使用monitor工具无法打开data文件夹问题 关于/system/bin/sh: su: not found的解决办法 D:\Sdk\platform-tools>adb shell generic_x86:/ $ su /system/bin/sh: su: not found 原因是 Android Studio带(Google Play)的模拟器无法获得root权限安装 该换成为带(Google APIs)的模拟器即可,如下: 无法打开data文件夹的原因是权限不够,需要设置权限 可以
-
在Eclipse中使用版本管理工具SVN的图文教程
近日工程中,逐渐感觉到原来复制粘贴代码的笨重,突然想起以前有人和我说起过Git和SVN之类的版本管理工具.由于平时主要是写Java代码,所以能够在Eclipse中使用SVN工具进行版本管理就可以说是很方便了.今天下午动手解决了这一问题,可以初步使用,但是自己对于版本管理的概念不太熟悉,可能有错误,就当是今天工作的一个归纳总结吧. 1.SVN安装 由于这些代码都是自己写的,所以不需要在服务器上进行版本管理,只用本地的版本管理即可(好吧,确实有点low了).自己的系统是win7 32-bit的,所以
-
shell中的for循环用法详解
for 命令: for i in 的各种用法 : for i in "file1" "file2" "file3" for i in /boot/* for i in /etc/*.conf for i in $(seq -w 10) -->等宽的01-10 for i in {1-10} for i in $( ls ) for I in $(< file) for i in "$@" -->取所有位置参数
随机推荐
- 快速实现JS图片懒加载(可视区域加载)示例代码
- PHP和Java的主要区别有哪些?哪个最适合Web开发语言?
- linux系统重装导致免密码key登录失败的解决方法
- Android 矩阵ColorMatrix
- Java将科学计数法数据转为字符串的实例
- ASP.NET MVC5网站开发之用户添加和浏览2(七)
- JS实现从顶部下拉显示的带动画QQ客服特效代码
- Android实现带列表的地图POI周边搜索功能
- android 放大镜ShapeDrawable妙用分享
- javascript转换字符串为dom对象(字符串动态创建dom)
- Lua教程(十四):字符串库详解
- 一个Linux系统安全设置的Shell脚本的分享(适用CentOS)
- 浅谈SpringMVC中的session用法及细节记录
- JavaScript设计模式之建造者模式介绍
- Python使用defaultdict读取文件各列的方法
- C# 定时器定时更新的简单实例
- C++数据结构与算法之哈夫曼树的实现方法
- Python操作MySQL模拟银行转账
- python 列表,数组,矩阵两两转换tolist()的实例
- vue3.0 CLI - 2.2 - 组件 home.vue 的初步改造