远程执行服务器脚本

本文介绍了一个使用Python的paramiko库实现SSH远程登录并执行命令的示例。通过该脚本可以在指定的远程主机上运行shell脚本并获取其输出结果。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author: sharp
# @Date:   2016-05-24 15:48:35
# @Last Modified by:   sharp
# @Last Modified time: 2016-05-24 15:59:55

import re
import paramiko


def main():
    ssh = paramiko.SSHClient()
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    ssh.connect("192.168.80.134", 22, "root", "123")  # 在ssh默认端口中连接
    stdin, stdout, stderr = ssh.exec_command("sh /root/damap/damap_server.sh")  # 执行远程电脑中cpu脚本
    result = stdout.readlines()
    print(result)
    ssh.close()

if __name__ == '__main__':
    main()
远程连接服务器执行脚本有多种方法,以下为你介绍几种常见的方式: ### 使用Shell脚本 可以编写Shell脚本来实现通过SSH连接远程服务器执行脚本。以下是一个示例脚本,它从文件中读取用户名、IP地址和密码,然后使用`expect`工具进行远程连接: ```bash #!/bin/bash filename=$1 if test -z "$filename" then echo "error: 请输入文件名" exit 1 fi arr=() i=0 for line in $(cat $filename) do arr[i]=$line i=`expr $i + 1` done user=${arr[0]} ip=${arr[1]} passwd=${arr[2]} echo "connectiong..." expect -f connection.sh $user $ip $passwd exit ``` 这个脚本首先检查是否提供了文件名,如果没有则输出错误信息并退出。接着,它从文件中读取用户名、IP地址和密码,并使用`expect`工具调用`connection.sh`脚本进行远程连接[^1]。 ### 使用`scp`命令 可以使用`scp`命令将本地脚本复制到远程服务器,然后在远程服务器执行。示例命令如下: ```bash spawn scp -r /Users/yunshuodeng/Work/mydocker/app/consumer/power-dubbo-api-1.0-SNAPSHOT.jar root@192.168.2.248:$1 ``` 此命令将本地的`power-dubbo-api-1.0-SNAPSHOT.jar`文件复制到远程服务器的指定目录[^2]。 ### 使用Java的JSch库 在Java中,可以使用JSch库来实现远程连接执行脚本。首先需要引入JSch依赖: ```xml <dependency> <groupId>com.jcraft</groupId> <artifactId>jsch</artifactId> <version>0.1.55</version> </dependency> ``` 引入依赖后,就可以编写Java代码来实现远程连接脚本执行[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值