精华内容
下载资源
问答
  • linux脚本执行命令简化

    千次阅读 2020-07-16 21:34:41
    编写脚本之后执行,需要使用相对路径或者绝对路径执行文件,此时有两种方法执行脚本,还可以简化命令 不推荐 将脚本放到系统命令中 cp ./hello.sh /bin/ 也就是将脚本放到/bin/目录下,输入脚本文件名,直接执行...

    编写脚本之后执行,需要使用相对路径或者绝对路径执行文件,此时有两种方法执行脚本,还可以简化命令

    不推荐

    1. 将脚本放到系统命令中
    cp ./hello.sh /bin/
    

    也就是将脚本放到/bin/目录下,输入脚本文件名,直接执行脚本文件

    1. 设置环境变量,将脚本的文件目录直接添加到环境变量
     PATH="$PATH":/root
     #:后接所在目录,此时,直接输入文件名即可执行脚本
    
    展开全文
  • 【Python】远程执行Linux脚本命令

    千次阅读 2020-04-14 11:52:58
    远程执行Linux脚本命令 对于 paramiko 安装直接 pip 或者 PyCharm 。 完全可以用 paramiko 单纯的执行 Shell 命令查看结果和上传下载文件。paramiko 实现了 SSHv2 协议(底层使用 cryptography ),包含两个核心...

    远程执行Linux脚本和命令

    对于 paramiko 安装直接 pip 或者 PyCharm 。

    完全可以用 paramiko 单纯的执行 Shell 命令查看结果和上传下载文件。paramiko 实现了 SSHv2 协议(底层使用 cryptography ),包含两个核心组件:SSHClient 和 SFTPClient 。SSHClient 是对 SSH 会话的封装,用于执行远程命令,SFTPClient 是对 SFTP 客户端的封装,用以实现远程文件操作。

    SSHClient

    # -*- coding: utf-8 -*-
    import paramiko
    client = paramiko.SSHClient()# 实例化SSHClient
    client.set_missing_host_key_policy(paramiko.AutoAddPolicy())# 自动添加策略,保存服务器的主机名和密钥信息,如果不添加,那么不再本地know_hosts文件中记录的主机将无法连接
    
    client.connect(hostname='192.168.0.134', port=22, username='root', password='*******')# 连接SSH服务端,以用户名和密码进行认证
    
    # 打开一个Channel并执行命令
    stdin, stdout, stderr = client.exec_command('ls')  # stdout 为正确输出,stderr为错误输出,同时是有1个变量有值
    
    # 打印执行结果
    print(stdout.read().decode('utf-8'))
    
    # 关闭SSHClient
    client.close()
    

    参数说明:

    client = paramiko.SSHClient(),
    client.set_missing_host_key_policy(paramiko.AutoAddPolicy())你可以理解为固定姿势。
    client.connect(hostname='192.168.1.105', port=22, username='ftoz',password='123456')这里就是你的linux变量依次为地址、端口(总共65535个端口,不过ssh默认是22端口)、登录名、密码。
    stdin, stdout, stderr = client.exec_command('df -h ') 这里就是核心你需要做的shell命令,这三个变量不用按照这种姿势,你可以随意,不过按照顺序你知道里面装的什么数据就行(重点在输出和错误)。
    
    connect():这个是实现远程服务器连接和认证的,参数有:
    hostname 连接的目标主机
    port=SSH_PORT 指定端口
    username=None 验证的用户名
    password=None 验证的用户密码
    pkey=None 私钥方式用于身份验证
    key_filename=None 一个文件名或文件列表,指定私钥文件
    timeout=None 可选的tcp连接超时时间
    allow_agent=True, 是否允许连接到ssh代理,默认为True 允许
    look_for_keys=True 是否在~/.ssh中搜索私钥文件,默认为True 允许
    compress=False, 是否打开压缩。
    
    set_missing_host_key_policy():这个是设置远程服务器没有在know_hosts文件中记录时的应对策略。(可以理解为避免报错),参数有:
    AutoAddPolicy 自动添加主机名及主机密钥到本地HostKeys对象,不依赖load_system_host_key的配置。即新建立ssh连接时不需要再输入yes或no进行确认
    WarningPolicy 用于记录一个未知的主机密钥的python警告。并接受,功能上和AutoAddPolicy类似,但是会提示是新连接
    RejectPolicy 自动拒绝未知的主机名和密钥,依赖load_system_host_key的配置。此为默认选项
    exec_command():这是写你需要执行的命令的
    

    SSHClient常用方法

    t = paramiko.Transport(('192.168.0.134', 22))# 获取Transport实例
    t.connect(username='root', password='******')# 连接SSH服务端,使用password
    sftp = paramiko.SFTPClient.from_transport(t)
    sftp.put("F:\demo.txt","/home/root/demo.txt")#执行上传动作
    sftp.get("/home/root/demo.txt", "D:\demo.txt")#执行下载动作
    t.close()
    

    SFTPCLient 作为一个 sftp 的客户端对象,根据 ssh 传输协议的 sftp 会话,实现远程文件操作,如上传、下载、权限、状态。

    from_transport(cls,t) 创建一个已连通的SFTP客户端通道
    put(localpath, remotepath, callback=None, confirm=True) 将本地文件上传到服务器 参数confirm:是否调用stat()方法检查文件状态,返回ls -l的结果
    get(remotepath, localpath, callback=None) 从服务器下载文件到本地
    mkdir() 在服务器上创建目录
    remove() 在服务器上删除目录
    rename() 在服务器上重命名目录
    stat() 查看服务器文件状态
    listdir() 列出服务器目录下的文件
    

    最后关闭连接 client.close()。

    展开全文
  • 如果现在需要在Linux服务器上执行一系列命令(比如搭建 LNMP 环境)我应该会第一时间想到想办法写个Shell脚本,然后扔上去执行以下看看结果。 然而一贯懒惰的我并不想这么去执行 Shell 和一些重复命令。所以俺寻思...
    如果现在需要在 Linux 服务器上执行一系列命令(比如搭建 LNMP 环境)我应该会第一时间想到想办法写个 Shell 脚本,然后扔上去执行以下看看结果。

    然而一贯懒惰的我并不想这么去执行 Shell 和一些重复命令。所以俺寻思可以有个方法本地直接在服务器端执行脚本,寻思生异端,这时候有某大技霸告诉我有个叫 paramiko 的 Python 库,从此开启我新世界的大门。

    怎样远程执行Linux脚本和命令怎样远程执行Linux脚本和命令

    对于 paramiko 安装直接 pip 或者 PyCharm 这里就不多说了,如果看到这里你觉得自己不怎么了解python语法的也不必担心,你完全可以用 paramiko 单纯的执行 Shell 命令查看结果和上传下载文件,省去重复的工作。

    paramiko 实现了 SSHv2 协议(底层使用 cryptography ),包含两个核心组件:SSHClient 和 SFTPClient 。 SSHClient 是对 SSH 会话的封装,用于执行远程命令,SFTPClient 是对 SFTP 客户端的封装,用以实现远程文件操作。

    这里先举两个列子你应该就明白怎么用了,终于开始正片了。

    怎样远程执行Linux脚本和命令怎样远程执行Linux脚本和命令

    SSHClient 的列子

    # -*- coding: utf-8 -*- 
    import paramiko 
    client = paramiko.SSHClient()# 实例化SSHClient 
    client.set_missing_host_key_policy(paramiko.AutoAddPolicy())# 自动添加策略,保存服务器的主机名和密钥信息,如果不添加,那么不再本地know_hosts文件中记录的主机将无法连接 
     
    client.connect(hostname='192.168.23.134', port=22, username='ftoz', password='123456')# 连接SSH服务端,以用户名和密码进行认证 
     
    # 打开一个Channel并执行命令 
    stdin, stdout, stderr = client.exec_command('ls')  # stdout 为正确输出,stderr为错误输出,同时是有1个变量有值 
     
    # 打印执行结果 
    print(stdout.read().decode('utf-8')) 
     
    # 关闭SSHClient 
    client.close() 
    

    输出

    怎样远程执行Linux脚本和命令怎样远程执行Linux脚本和命令

    这里说明一下:

    client = paramiko.SSHClient(), 
    client.set_missing_host_key_policy(paramiko.AutoAddPolicy())你可以理解为固定姿势。 
    client.connect(hostname='192.168.1.105', port=22, username='ftoz',password='123456')这里就是你的linux变量依次为地址、端口(总共65535个端口,不过ssh默认是22端口)、登录名、密码。 
    stdin, stdout, stderr = client.exec_command('df -h ') 这里就是核心你需要做的shell命令,这三个变量不用按照这种姿势,你可以随意,不过按照顺序你知道里面装的什么数据就行(重点在输出和错误)。 
     
    connect():这个是实现远程服务器连接和认证的,参数有: 
    hostname 连接的目标主机 
    port=SSH_PORT 指定端口 
    username=None 验证的用户名 
    password=None 验证的用户密码 
    pkey=None 私钥方式用于身份验证 
    key_filename=None 一个文件名或文件列表,指定私钥文件 
    timeout=None 可选的tcp连接超时时间 
    allow_agent=True, 是否允许连接到ssh代理,默认为True 允许 
    look_for_keys=True 是否在~/.ssh中搜索私钥文件,默认为True 允许 
    compress=False, 是否打开压缩。 
     
    set_missing_host_key_policy():这个是设置远程服务器没有在know_hosts文件中记录时的应对策略。(可以理解为避免报错),参数有: 
    AutoAddPolicy 自动添加主机名及主机密钥到本地HostKeys对象,不依赖load_system_host_key的配置。即新建立ssh连接时不需要再输入yes或no进行确认 
    WarningPolicy 用于记录一个未知的主机密钥的python警告。并接受,功能上和AutoAddPolicy类似,但是会提示是新连接 
    RejectPolicy 自动拒绝未知的主机名和密钥,依赖load_system_host_key的配置。此为默认选项 
    exec_command():这是写你需要执行的命令的
    

    接下来你就可以拿出输出做一些该干嘛(ke)干嘛(pa)的事情了,这里先举这个简单的列子。

    SFTPClient 常用方法

    t = paramiko.Transport(('192.168.23.134', 22))# 获取Transport实例 
    t.connect(username='ftoz', password='123456')# 连接SSH服务端,使用password 
    sftp = paramiko.SFTPClient.from_transport(t) 
    sftp.put("F:\S12312.txt","/home/ftoz/zxc12312.txt")#执行上传动作 
    sftp.get("/home/ftoz/zxc12312.txt", "F:\S12312.txt")#执行下载动作 
    t.close() 
    SFTPCLient 作为一个 sftp 的客户端对象,根据 ssh 传输协议的 sftp 会话,实现远程文件操作,如上传、下载、权限、状态
    
    from_transport(cls,t) 创建一个已连通的SFTP客户端通道 
    put(localpath, remotepath, callback=None, confirm=True) 将本地文件上传到服务器 参数confirm:是否调用stat()方法检查文件状态,返回ls -l的结果 
    get(remotepath, localpath, callback=None) 从服务器下载文件到本地 
    mkdir() 在服务器上创建目录 
    remove() 在服务器上删除目录 
    rename() 在服务器上重命名目录 
    stat() 查看服务器文件状态 
    listdir() 列出服务器目录下的文件 
    最后养成随关闭的好习惯 client.close()。

    干货:《Linux就该这么学》

    展开全文
  • linux开机执行脚本命令 可以将脚本或者命令加在/etc/rc.d/rc.local末尾 然后将脚本和/etc/rc.d/rc.local添加执行权限 chmod +x /etc/rc.d/rc.local chmod +x ***.sh 如果需要其他普通用户执行脚本或者命令 ...

    linux开机执行脚本,命令

    可以将脚本或者命令加在/etc/rc.d/rc.local末尾

    然后将脚本和/etc/rc.d/rc.local添加执行权限

    chmod +x /etc/rc.d/rc.local    chmod +x ***.sh

     

    如果需要其他普通用户执行脚本或者命令

    在/etc/rc.d/rc.local末尾 增加 su - 普通用户 -s /home/***/**.sh

    同样需要将脚本和rc.local增加执行权限

    执行命令用su - 普通用户 -c 命令

     

     

    展开全文
  • Linux执行kettle的ktr脚本转换命令执行
  • Linux远程ssh脚本执行命令问题

    千次阅读 2015-12-04 16:22:47
    一般我们会使用ssh ip "执行命令"这种格式来执行远程是shell命令,但是如果是简单的一些操作还好,比如cd,rm,ls,mv等命令一般不会出问题  ,但是如果你的脚本任务是,杀死多台机器上的hadoop或者elasticsearch...
  • 大技霸教你远程执行Linux脚本命令

    千次阅读 2020-05-17 16:55:52
    如果现在需要在 Linux 服务器上执行一系列命令(比如搭建 LNMP 环境)我应该会第一时间想到想办法写个 Shell 脚本,然后扔上去执行以下看看结果。 然而一贯懒惰的我并不想这么去执行 Shell 和一些重复命令。所以俺...
  • Linux脚本Shell命令

    2013-09-30 11:05:37
    在向大家详细介绍linux编译之前,首先让大家了解下Linux脚本Shell命令。然后讲解在shell脚本中可以使用任意的unix命令。 语法基本介绍 1.开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/...
  • Linux 后台执行脚本命令

    千次阅读 2018-08-08 19:40:19
    1.在下达的命令后面加上&...很简单,只用执行fg这个命令,就可以了。  3.可能有些同学又要问了,我现在已经在前台运行的命令,我能把它放到后台去运行么?当然可以了,只要执行ctrl+z就可以做到了。是不是很赞啊...
  • java连接服务器,并执行Linux服务器上的命令脚本
  • linux执行sh脚本文件命令 很多时候需要多个命令来完成一项工作,而这个工作又常常是重复的,这个时候我们自然会想到将这些命令写成sh脚本,下次执行下这个脚本一切就都搞定了,下面就是发布代码的一个脚本示例。 ...
  • python脚本执行linux命令

    千次阅读 2019-01-15 11:37:44
    # coding=utf-8 # 执行命令脚本 import os, time path = os.getcwd() # print(path) while True: try: os.popen(r'python3 %s/api_mmbuy_flask.py' % path) time.sleep(10) p1 = os.pope...
  • linux shell 脚本 获取 执行命令结果

    万次阅读 2019-01-25 16:57:13
    有时候,我们需要在shell脚本中获取执行命令得到的结果。如果只是想知道命令是否正确执行,可以用"$?"标识,如果是想要获得命令执行的结果,可以使用`comand`或者"$(command)"或者$(command) ...
  • Linux脚本shell命令练习

    2020-05-24 23:09:13
    创建一个名为foo.sh 的脚本,让其提供下列特征 A.当运行/root/foo.sh redhat, 输出为fedora B.当运行/root/foo.sh fedora,输出为redhat C.当没有任何参数或者参数不是redhat或者fedora时,提示输出以下的信息:...
  • shell脚本执行命令 #!/bin/bash mv ./oss-* ./backup && rm -rf ./targetFile.txt 把上面内容保存为test.sh 然后执行 ./test.sh 这个shell脚本目的是先把oss-开头的文件移动到 backup文件夹下,然后才执行...
  • Linux 后台执行脚本命令 nohup &

    万次阅读 2018-08-14 15:24:30
    #!/bin/bash ...使用nohup命令后台运行命令之后,需要使用exit正常退出当前账户,这样才能保证命令一直在后台运行(es head插件有这个问题)。 command>out.file是将command的输出重定向到ou...
  • Linux编写shell脚本执行多个命令

    千次阅读 2020-06-04 21:22:27
    Linux下编写shell脚本批量执行多个命令
  • linux循环执行命令的shell(bash)脚本 使用方法 新建.sh文件,并将下面的代码复制进去 修改main函数部分代码 loop_exe函数会循环执行知道命令知道成功为止 传参为所想要执行的命令(主要要用双引号包起来) 给...
  • 数据迁移的过程中,使用远程的数据库时,如果需要将一个很大的sql脚本的数据导入,在navicat执行是不可行的,navicat随时会崩溃,所以只能在服务器端进行导入。单个导入的文件大小为5.9GB,一般的文本软件已经无法...
  • linux中利用shell脚本条件执行命令   在linux环境中,我们总会有一些命令需要经常用,例如经常跳转到某些目录下或者执行某些命令,输入一连串的命令是很烦的,此时我们可以预先写一些脚本然后根据我们的选择自动...
  • 今天小编就为大家分享一篇在linux shell脚本中root切换到普通用户执行脚本命令的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 公司远程N台机器需要执行同一脚本,确认脚本对所有需要执行的机器都有效安全,可以使用如下命令。 ch_sudo.sh为需要执行脚本名称 ssh root@服务器IP地址 "bash" < ch_sudo.sh 如果机器很多,...
  • linux中利用shell脚本条件执行命令

    万次阅读 2017-11-24 13:02:51
    linux环境中,我们总会有一些命令需要经常用,例如经常跳转到某些目录下或者执行某些命令,输入一连串的命令是很烦的,此时我们可以预先写一些脚本然后根据我们的选择自动执行命令,那岂不是完美,本脚本就是为此...
  • nohup 命令运行由 Command参数和任何相关的 Arg参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示“and”的符号)到命令的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,715
精华内容 5,086
关键字:

linux脚本执行命令

linux 订阅