`
raojl
  • 浏览: 208563 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

远程批量部署

 
阅读更多
#!/usr/bin/expect  --


if { [llength $argv] != 2} {
	puts "usage: $argv0 ip \"command \[params\]\""
	exit 1
}


set maxRetry 1
for {set retryNum 0} {$retryNum<$maxRetry} {incr retryNum} {

spawn  /usr/bin/ssh [lindex $argv 0] [lindex $argv 1]

set timeout 60
expect {


 
	"yes/no)?" {
  
		send "yes\r"

		expect eof

		break

	}
  
	timeout {continue}
	eof {continue}

}
}

///////////////////////////////////////////////////////////
#!/usr/bin/expect --

set USER [exec whoami]

puts "pcp.sh..."
if { [llength $argv] < 2} { 

    puts "usage: $argv0 ip filename"  
    exit 1
}
set success 0

set maxRetry 5
for {set retryNum 0} {$retryNum<$maxRetry} {incr retryNum} {

    spawn  /usr/bin/scp -r [lindex $argv 1] [lindex $argv 0]:/home/${USER}

    set timeout 600
    expect { 

        "password:" {    	
            puts "input passwd"
            send "[lindex $argv 3]\r"	
            set timeout 600
            puts "try $retryNum"
            expect { 
                timeout {continue}
                eof {
                    set success 1
                    break
                }
            }
        }

        "yes/no)?" {
            puts "input yes"
            send "yes\r"
            expect "password:" {
                send "[lindex $argv 3]\r"
                set timeout 600
                expect { 
                    timeout {continue}
                    eof {
                        set success 1
                        break
                    }
                }
            }
        }

        timeout {continue}
        eof {
            set success 1
            break
        }
    }
}

puts "pcp sucess..."
if { $success==0 } {
    exit 1
}

 

function SetValue
{
        if [[ $# != 3 ]]
        then
            echo 'input: $1: filename, $2: keyname, $3:keyvalue'
            exit 1
        fi
        filename=$1
        keyname=$2
        keyvalue=$3     # ¿ÉÒÔΪ¿Õ

        # È·±£Ä¿±ê´æÔÚ
        targetLine=`grep "^${keyname}=" ${filename}`

        if [ "$targetLine" ]
        then
            # ÕâÀïÓÃ%×÷Ϊsed·Ö¸ô·û,ÒòΪkeyvalue¿ÉÄܺ¬ÓÐ/
            sed --in-place "s%^${keyname}=.*%${keyname}=${keyvalue}%" ${filename}
        else
            echo "${keyname}=${keyvalue}" >>${filename}
        fi

}

 

分享到:
评论

相关推荐

    powershell远程批量部署

    本文将深入探讨如何利用PowerShell进行远程批量部署,并结合提供的"deploy.ps1"脚本和"config.xml"配置文件来解析这一过程。 首先,PowerShell远程执行的原理基于WinRM(Windows Remote Management)服务,它允许...

    一款小巧的批量远程桌面管理软件

    本文将深入探讨“一款小巧的批量远程桌面管理软件”的特点、功能及其在实际工作中的应用。 首先,这款软件以小巧的体积和单文件的形式呈现,这意味着它不需要复杂的安装过程,用户可以直接运行,方便快捷。对于那些...

    PXE+kickstart批量部署操作系统.docx

    "PXE+kickstart批量部署操作系统" PXE(Preboot Execution Environment)是一种网络启动技术,允许计算机从远程服务器上启动操作系统。Kickstart是一种自动化安装Linux操作系统的工具,经常与PXE结合使用,实现批量...

    云计算平台中裸金属物理服务器自动化批量部署方法研究.pdf

    本研究提出的自动化批量部署方法基于中央调度控制技术,通过二次开发和封装Cobbler服务工具,建立了一套能够实现裸金属物理服务器自动化批量部署的系统。Cobbler是一个基于Python开发的工具,专为实现物理服务器操作...

    屏幕墙控远程电脑Radmin,在线扫描,批量连接在线电脑,批量关闭,批量添加主机,最小化,最大化,自动排列屏幕窗口,可以设置列数

    批量添加主机则简化了管理多个远程计算机的过程,只需一次操作即可将新设备纳入控制范围,减少了手动输入IP地址和配置的繁琐步骤。 Radmin还支持窗口的最小化和最大化操作,这意味着用户可以在控制远程电脑时自由...

    WindowsServer版远程桌面批量管理工具

    《Windows Server版远程桌面批量管理工具详解》 在IT运维工作中,高效地管理和维护多台Windows Server服务器是一项挑战。为了简化这一过程,Windows提供了一款名为“Windows Server版远程桌面批量管理工具”的实用...

    自动化技术-PXE批量部署装机.zip

    【自动化技术-PXE批量部署装机】 在IT行业中,批量装机是系统管理员日常工作中的一项重要任务,尤其是在大型企业或数据中心环境下,手动安装操作系统既耗时又容易出错。为了解决这一问题,自动化技术应运而生,其中...

    基于fastapi的爬虫可视化调度系统源码+项目部署说明.zip

    - [x] 远程批量部署和调用 - [x] 任务日志 - [x] 新增节点、测试节点 - [x] 主机节点详细指标 - [x] 国际化 // 进入模板目录 cd crawlfont // 安装项目依赖,等待安装完成之后,安装失败可用 cnpm 或 yarn npm ...

    Windows和linux批量部署脚本

    本资源包含两部分,Windows下基于批处理文件的自动部署脚本和Linux下基于expect脚本的自动部署脚本。主要用于大量服务器部署相同的脚本时,减轻人的工作量同时避免由于人为操作带来的各类错误。其中linux脚本需要...

    3389远程桌面批量登陆器.zip

    【标签】"远程批量登陆器"标签明确了这个软件的主要功能,即远程登录和批量操作。在企业环境中,尤其是那些拥有众多服务器的企业,这样的工具能有效提高IT运维效率,减少人为错误。 【压缩包子文件的文件名称列表】...

    通过PXE快速部署VMware ESXi 6.5

    * PXE技术可以实现快速批量部署操作系统,例如VMware ESXi 6.5。 二、PXE部署VMware ESXi 6.5的优点 * 使用PXE技术可以快速部署VMware ESXi 6.5到多台服务器上,无需逐台安装。 * 可以节省时间和人力资源,提高...

    pxe远程安装linux系统知识.pdf

    【PXE远程安装Linux系统知识】 ...通过这种方式,我们可以利用PXE实现远程批量部署Linux系统,大大简化了安装过程,尤其适用于需要大量部署或更新系统的场景。在企业环境中,这可以极大地提高IT运维的效率。

    12.Jenkins整合Ansible批量自动化部署

    3. **可扩展性**:两者结合,可以轻松扩展到大规模的集群环境,实现跨平台的批量部署。 4. **版本控制**:结合Git等版本控制系统,确保每次部署都有迹可循。 **整合步骤** 1. **安装Jenkins和Ansible**:首先确保...

    远程服务器批量管理工具.zip

    在IT行业中,远程服务器批量管理是一项重要的任务,尤其对于系统管理员和网络运维人员而言,能够高效地管理和维护多台服务器是提升工作效率的关键。本压缩包文件"远程服务器批量管理工具.zip"显然提供了一种解决方案...

    3389远程桌面批量登陆器

    【3389远程桌面批量登陆器】是一种实用工具,主要功能是帮助用户方便快捷地进行多台远程计算机的登录操作。在IT行业中,远程桌面连接通常用于系统管理员或技术支持人员对分布在不同位置的计算机进行管理和维护。3389...

    美团IDEA插件实现Java应用的热部署实践

    在实际编码工作中,多文件修改是家常便饭,Sonic对多文件的热部署能力尤为突出,它可以通过依赖分析等手段来对多文件批量进行远程热部署,并且支持Spring Bean Class、普通Class、Spring XML、MyBatis XML等多类型...

    shell自动化部署批量建立用户和批量SSH配置

    标题中的“shell自动化部署批量建立用户和批量SSH配置”指的是使用Linux Shell脚本来自动化创建多个用户账户,并且配置这些用户可以使用SSH进行无密码登录。这个过程在IT运维中非常常见,特别是在设置服务器集群或者...

    Linux下的自动化和批量管理教程集锦

    教程名称:Linux下的自动化和批量管理教程集锦课程目录:【】linux下kickstart自动化部署安装【】Linux运维...远程批量修改linux服务器密码的脚本【IT教程 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。

    基于 fastapi 的爬虫可视化调度系统源码+项目说明.zip

    - [x] 远程批量部署和调用 - [x] 任务日志 - [x] 新增节点、测试节点 - [x] 主机节点详细指标 - [x] 国际化 - [ ] 权限管理 - [ ] 站内消息推送 ### 安装步骤 ``` // 把模板下载到本地 git clone ...

Global site tag (gtag.js) - Google Analytics