ssh主要参数说明

-l 指定登入用户

-p 设置端口号

-f 后台运行,并推荐加上 -n 参数

-n 将标准输入重定向到 /dev/null,防止读取标准输入

-N 不执行远程命令,只做端口转发

-q 安静模式,忽略一切对话和错误提示

-T 禁用伪终端配置

#!/bin/sh

HOST_LIST="host1 host2 host3 host4"
SSH_PORT=2202 for loop in $HOST_LIST
do
echo "executing in $loop:"
ssh -p $SSH_PORT $loop "$1"
#ssh -f   -p $SSH_PORT $loop  "$1" & 
echo
done

调用 tar zxvf /root/pat.tar.gz -C /home

在本地调用远程脚本

$ ssh -l oracle r7  '/tmp/b.sh &'

注意以下几点:

&表示后台执行,也可以不加;

脚本要拥有执行权限;

如果远程脚本 b.sh 中使用了文件,文件必须要写全路径,不然的话,默认为指定用户的home目录,而非当前目录。

使用管道模拟并发

#!/usr/bin/ksh
# SCRIPT: ptest.sh
# AUTHOR: Ray001
# DATE: 2008/10/03
# REV: 2.0
# For STUDY
#
# PURPOSE:
# 实现进程并发,提高执行效率,同时能记录每个执行失败的子进程信息 #定义并发进程数量
PARALLEL=3
#定义临时管道文件名
TMPFILE=$.fifo
#定义导出配置文件全路径名
CMD_CFG=$HOME/cfg/ptest.cfg
#定义失败标识文件
FAILURE_FLAG=failure.log ####################### 函数定义 ########################
# 中断时kill子进程
function trap_exit
{
kill -9 0
} # 通用执行函数
exec_cmd()
{
# 此处为实际需要执行的命令,本例中用sleep做示例
sleep ${1}
if [ $? -ne 0 ]
then
echo "命令执行失败"
return 1
fi
} trap 'trap_exit; exit 2' 1 2 3 15 #清理失败标识文件
rm -f ${FAILURE_FLAG} #为并发进程创建相应个数的占位
mkfifo $TMPFILE
exec 4<>$TMPFILE
rm -f $TMPFILE
{
count=$PARALLEL
while [ $count -gt 0 ]
do
echo
let count=$count-1
done
} >&4 #从任务列表 seq 中按次序获取每一个任务
while read SEC
do
read <&4
( exec_cmd ${SEC} || echo ${SEC}>>${FAILURE_FLAG} ; echo >&4 ) &
done<$CMD_CFG
wait
exec 4>&- #并发进程结束后判断是否全部成功
if [ -f ${FAILURE_FLAG} ]
then
exit 1
else
exit 0
fi

最新文章

  1. css width height
  2. PHP-FPM的常用操作
  3. BIgInteger类和BigDecimal类的理解
  4. ASP.NET(C#)--Repeater中生成“序号”列
  5. shell命令前后端切换和暂停
  6. 好看的复选框(Checkbox)效果
  7. python模块导入的方法与区别
  8. Vue2 几种常见开局方式
  9. YourSQLDba遭遇.NET Framework Error 6522
  10. 多校#5-1005-Instring-HDU5785-manacher+维护
  11. 进程篇:wait & waitpid
  12. 洛谷 P1880 [NOI1995] 石子合并(区间DP)
  13. SSMS登记密码清除
  14. top-adx-apps
  15. Ddr2,ddr3,ddr4内存条的读写速率
  16. MySQL 数据类型的简单选择
  17. [django]form不清空问题解决
  18. Hibernate5笔记2--单表的增删改查操作
  19. phpStudy apache无法启动 apache启动后又停止
  20. PYQT设计无边框窗体

热门文章

  1. poj1703 Find them, Catch them
  2. Tautology 分类: POJ 2015-06-28 18:40 10人阅读 评论(0) 收藏
  3. php四种基础算法:冒泡,选择,插入和快速排序法
  4. ubuntu下环境变量
  5. Java 常用排序算法/程序员必须掌握的 8大排序算法
  6. java课堂动手动脑博客
  7. CodeForces 313C Ilya and Matrix
  8. 最大熵模型(Maximum Etropy)—— 熵,条件熵,联合熵,相对熵,互信息及其关系,最大熵模型。。
  9. V-rep学习笔记:机器人逆运动学数值解法(Damped Least Squares / Levenberg-Marquardt Method)
  10. 5.Primitive, Reference, and Value Types