当前位置:  技术问答>linux和unix

shell远程服务器问题

    来源: 互联网  发布时间:2016-12-28

    本文导语:  现在遇到一个问题,机器A管理机器B,简单一点的话,比如,登录到B的root目录下,检查下有没有C这个文件,没有的话,建立一个C。 先建立ssh通道,再 ssh IP_B "if [ -f C ]; then ;else  touch  C;fi" 这样是可以的,如...

现在遇到一个问题,机器A管理机器B,简单一点的话,比如,登录到B的root目录下,检查下有没有C这个文件,没有的话,建立一个C。
先建立ssh通道,再 ssh IP_B "if [ -f C ]; then ;else  touch  C;fi"
这样是可以的,如果逻辑比较复杂的话,ssh IP_B command,还是这样吗?command 里面有变量的话,那该怎么弄的?
还有一种办法是用expect,这个逻辑判断,不知道该怎么弄,
希望大虾能指导下,或者给个思路吧,谢谢了

或者说一个机器管理多台机器,要有 删除远程机器的文件,查询等等功能,这个思路应该怎么写呢?

|
批量管理多台服务器的一般思路是,有个跳板机,跳板机跟所有的服务器建立信任关系。写好一个在远端服务器上执行的脚本,scp 到远端,然后在远端执行。
给你个例子吧:
   echo -e "make dir /opt/mdn_tool_wtg/shellscript..."|tee -a $check_log
   timeout 10 ssh $addr "mkdir -p /opt/mdn_tool_wtg/shellscript"||echo "make dir fail !"| tee -a  $check_log
   echo -e   "copy file $1..." |tee -a  $check_log
   timeout 10 scp shellscript/$1 $addr:/opt/mdn_tool_wtg/shellscript || echo "copy file fail !"| tee -a $check_log
   echo -e  "execute script $1..." |tee -a  $check_log
   timeout 30 ssh $addr "cd /opt/mdn_tool_wtg/shellscript ; sh $1 " ||echo "execute script fail !"| tee -a  $check_log

|
做好key信任的话就很简单了,不复杂,在本地怎么写的脚本,在远程也一样,只是要注意一下变量的问题,举个简单的例子:

删除每台机器的指定文件/tmp/file.txt  和 /root/trash.txt

#!/bin/bash

iplist='192.168.1.1
192.168.1.2
...
'
filename=/tmp/file.txt

for ip in $iplist;do
        ssh $ip    "
filename=/root/trash.txt
echo  "  $filename  $filename  "
if [ -f $filename ];then
       rm -f $filename
elif [ -f $filename ] ;then
       rm -f $filename
fi
"
done

exit 0

就这样,注意两个filename变量使用方式的不同

    
 
 

您可能感兴趣的文章:

  • thttpd服务器,执行shell和c语言cgi成功,执行ssi指令不成功
  • shell 程序监控网站网页是否被修改,如果被修改停止服务器的运行?
  • shell里自动连接服务器的命令
  • 求一SHELL(Linux下批量将指定目录文件传到指定远程服务器的指定目录)!
  • 我用shell登陆linux如何在服务器端运行程序
  • shell脚本从SVN推送到多台服务器的代码
  • Shell脚本实现复制文件到多台服务器的代码分享
  • 如何从Win2000上使用rsh登陆到服务器来执行shell?
  • 用expect实现的自动登录到多台服务器的shell脚本
  • 一键备份gitolite服务器的Shell脚本
  • 在Linux7.2+Tomcat3+Jdk1.2.2的环境下怎样用JAVA调用Shell程序(在服务器端执行)
  • 监控服务器swap并重启php的Shell脚本
  • Shell脚本监控服务器在线状态和邮件报警的方法
  • 用shell+sendmail实现服务器监控报警小脚本
  • 智能监测自动重启Apache服务器的Shell脚本
  • shell脚本转发80端口数据包给Node.js服务器
  • 分享个简易版Linux服务器初始化Shell脚本
  • linux服务器安全加固shell脚本代码
  • 阿里云云服务器Linux系统更新yum源Shell脚本
  • 傻瓜问题,请问shell编程和shell脚本编程的关系
  • shell变量和子shell的问题请教
  • 请教 一个shell问题 如何通过shell获得一个日志文件中的增量部分
  • 在shell中的交互问题,现在需要在shell结束时按某键或任意键
  • 请教一个 shell 问题,我用下面这个 shell 语句总是失败,请教
  • 急救!关于Shell脚本删除过期文件的问题,Shell脚本达人乱入
  • 请教一个shell编程的问题,就是如何在shell编程中读一个文件的内容?谢谢啦!
  • 使用shell在文本文件中进行字符串搜索问题?shell高手请进,分不够可以再加
  • vim问题,怎么不启动shell窗口,而只是把shell结果放到vim自身的command 栏里去?
  • 刚学Shell编程,问个关于Shell中if语句的问题
  • shell:sql问题,如何shell循环将不同表数据写入文件中...
  • 求助关于Java调用shell再传值给shell的问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 在shell中为什么不能启动Httpd 服务
  • 怎样用shell程序来定时开启ftp服务
  • 怎么编写一个登录linux ftp 服务的shell。
  • 如何编写服务程序,执行后返回到shell,但程序在后台运行?
  • 如何在linux shell 下启动/停止samba共享服务,如何手动配置?
  • 请问SUSE Enterprise 11.0 如何添加开机启动程序呢? 比如说mysql服务, 还有自己写的shell
  • 自动重启服务的shell脚本代码
  • 监控php-fpm并自动重启服务的shell脚本
  • Centos6下安装Shell下文件上传下载rz,sz命令
  • 不同类型的shell*(K SHELL , C SHELL) 用命令怎么切换?
  • linux bash shell命令:grep文本搜索工具简介
  • 我在执行shell时,想在shell里直接向mysql数据库插入数据,我该如何写shell。
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • 菜鸟问问题:shell是什么呢?普通的ls、cp、pwd这些命令算不算shell呢?如何把自己写的文件变成shell呢?
  • linux bash shell命令:文本搜索工具grep中用于egrep和 grep -E的元字符扩展集
  • 请问“当前shell”和“子shell”的区别?
  • linux bash shell命令:文本搜索工具Grep命令选项及实例
  • 怎么知道当前是B_SHELL 还是C_SHELL
  • linux bash shell命令:文本搜索工具grep正则表达式元字符集(基本集)
  • 用户登陆后运行某SHELL退出SHELL就回到LOGIN是怎么作到的?
  • 怎么写shell代码 写好shell怎么运行?
  • 请问一个shell中如何获取这个shell自身抛出的错误?
  • 非登录shell是什么 意思,和登录shell有什么区别啊
  • Solaris 8中修改root的shell为一个非法的Shell后怎么办?
  • 各位Shell高人,如何取得Shell的第10个入口参数?$10不行啊,急!
  • shell 编程 执行shell新建多个终端 并执行程序
  • 如何在一台机器上的shell中执行另外一台机器上的shell
  • 请问什么是shell编程?一般都用shell编程实现什么?
  • 如何从Win2000上使用rsh登陆到服务器来执行shell? iis7站长之家


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3