V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
baiyun888
V2EX  ›  Linux

求介绍 windows 下批量管理 Linux 的软件

  •  
  •   baiyun888 · 2018-11-08 09:28:56 +08:00 · 3782 次点击
    这是一个创建于 2207 天前的主题,其中的信息可能已经有所发展或是发生改变。

    linux 下的批量管理不太会用,求介绍 windows 下批量管理 linux 的软件

    找到了个,但是这个软件无法执行含中文的命令,有乱码无法执行 https://pan.baidu.com/s/1NGjeW0dwkxi_eB5PNopUdQ 提取码: iyhz

    付费的软件也可以

    谢谢
    18 条回复    2018-11-08 22:45:34 +08:00
    ThirdFlame
        1
    ThirdFlame  
       2018-11-08 09:52:38 +08:00
    不就是 ssh 管理么? xshell 等 啊
    baiyun888
        2
    baiyun888  
    OP
       2018-11-08 09:53:47 +08:00
    @ThirdFlame #1 xshell 不能批量管理啊
    ThirdFlame
        3
    ThirdFlame  
       2018-11-08 09:54:56 +08:00   ❤️ 1
    @baiyun888 你是想同时执行相同的命令么? xshell 是可以的。
    不懂你所谓的批量管理是什么个意思。
    clino
        4
    clino  
       2018-11-08 09:57:32 +08:00
    ansible 在 windows 下应该也可以用吧
    expy
        5
    expy  
       2018-11-08 10:13:21 +08:00
    Puppet Ansible Chef 之类的?
    arrow8899
        6
    arrow8899  
       2018-11-08 10:16:08 +08:00
    你需要 SaltStack
    sumika
        7
    sumika  
       2018-11-08 10:16:28 +08:00
    MobaXterm
    imn1
        8
    imn1  
       2018-11-08 10:22:03 +08:00
    你把那个文件名写出来,别人就知道了
    他那个软件叫 TeamRemote,应该是找类似的工具
    zzugyl
        9
    zzugyl  
       2018-11-08 10:35:50 +08:00
    mobaxterm
    multi-execution mode 是不是这个?
    Archeb
        10
    Archeb  
       2018-11-08 10:36:32 +08:00 via Android   ❤️ 1
    finalshell
    reus
        11
    reus  
       2018-11-08 11:05:12 +08:00
    谁这么心大,敢找连这个也要上论坛问的人,来管理一批系统?
    littlewing
        12
    littlewing  
       2018-11-08 13:34:50 +08:00
    什么叫批量管理?
    kim01
        13
    kim01  
       2018-11-08 13:49:20 +08:00
    remote desktop
    a22124497
        14
    a22124497  
       2018-11-08 14:50:18 +08:00
    如果你说是同样的操作,n 台机子同时帮你运行
    那你得找个运维管理的东西,GITHUB 上运维堡垒的有不少,也算是蛮灵活的了
    v2register
        15
    v2register  
       2018-11-08 15:16:07 +08:00
    运维用 SecureCrt 的多吧
    ps1aniuge
        16
    ps1aniuge  
       2018-11-08 17:19:05 +08:00   ❤️ 1
    问:powershell 经过 ssh,远程运行命令,比 bash 强在哪?
    答:
    =============linux 远程命令 & ps 远程命令 对比例子============
    linux:
    ssh [email protected] "以用户 aaa 权限执行的,命令 xxx"

    ps:
    $a = 1
    [scriptblock]$备份命令 =
    {
    Get-Date
    $b = $using:a + 2 #引用客户机变量,需要用$using:
    }

    $连接 1 = New-PSSession -HostName 1.1.1.1 -UserName root #手动输入密码或用-KeyFilePath 选项
    invoke-command -ScriptBlock { $备份命令 } -Session $连接 1
    ============================================================
    bash 的远程命令,简单直接。就好像我左手这盘蛋炒饭,简单解饿,但是不够强。更适用于 简单远程命令场合。
    你再看看我右手这盘盖饭好在哪?答:生菜垫底,萝卜雕花围边。
    bash 远程传递的是 [字符串] ,powershell 传递的是 [代码块] 。特色是 [对象垫底,大花括号围边] 。

    字符串传递到远程时,经常需要要转义。代码块不用。
    代码块,支持多行,格式化,使代码美观。
    变量名,函数名支持中文。

    代码块中,支持引用客户端变量,一律加上 [$using:] ,即客户机上的 [$a] ,在服务器上叫 [$using:a]
    代码块中,支持引用服务器端变量,即服务器上的 [$a] ,在服务器还上叫 [$a]
    即使变量重名,两个$a 也绝不会弄混。

    ps 用大花括号包围代码,不用单双引号,代码嵌套很容易。
    而代码嵌套容易,使的 ps 的 ssh 远程,从 server1 (跳板机,堡垒机)经 ssh 进入 server2,再 ssh 进入 server3,进入 33 层 ssh server 执行命令很容易。而 shell 难。

    远程代码天生不老稳定的,有时没反应,或卡住,或中途断了。遇到此情形,每行 ps 代码都可以在外面套上 try-cacth,比 shell 更稳。

    批量 ssh,ps 采用 [多线程] ,比 bash 用 [多进程] 快,时间准,省内存。



    问:本地脚本和远程脚本有何区别?如何编写远程脚本?
    答:
    由于下述限制颇多,顾应尽量少用 [直接] 远程调用。多用 [进入远程机子后] 的本地调用。

    1 模块化。要把远程任务,分成 n 个独立的单元。
    我们编写的本地脚本,有时候没分的这么清楚。但远程脚本,就要分成 n 个脚本,或 n 个函数。

    2 每个单元让它返回$true,或 false。
    我们要改造本地脚本,人为让每个单元能返回$true,或 false。
    好让我们远程判断每个单元是否执行成功。

    3 对于偶尔会失败的任务,根据上述返回$true,或 false,把脚本改造成,有一定循环次数。
    令脚本的每个单元,都让它形成闭环。
    本地脚本中的本地命令,大都是不报错即成功。
    对于 bash 这就尴尬了,癌症无解。powershell 有 try+catch 解决这问题。

    4 每个单元让它,在远程机子上,写入 log。log 中带上日期时间。

    5 每个单元,甚至!每个命令,必须!设定超时时间。

    郭德纲说过,远程脚本,天生不老稳定的;)
    本地脚本中的本地命令,大都不具备超时选项,远程运行时卡住就完了。
    解决这个问题的最佳实践,是用多线程,和计时器。

    把单元放入后台线程,然后主线程 sleep n 秒。超时就 kill 掉。
    这是笨办法,好在简单,bash 也能实现。但 bash 没有线程,只有进程。

    powershell 中,无需使用此笨办法。powershell 有计时器。计时器是多线程的。
    new 一个计时器对象,并绑定代码后,你就可以-开始计时器-停止计时器-调整计时周期。

    现在我们假定一个任务,前 3 次必然卡住超时,第 4 次必然成功。
    那么我们只需在任务代码中,加上停止计时器的代码。并启动计时器即可。

    则前 3 次运行到卡住代码,超时后被计时器重启。最后 1 次通过了卡住代码,运行了计时器停止代码。

    这涉及到了两个线程之间传值,和控制。
    而 bash 多进程,进程之间传值控制,不如线程之间方便。
    所以说 [多线程,计时器,是给命令加上超时选项的最佳实践] 。

    这里面还有一个细节。若你用 ps 的远程线程,来运行 [代码单元] 。可以起一个线程名,作为超时 kill 的标识符。
    但是对于 bash,就不能用进程名了。你需要一个标明进程是唯一的方法。
    这种方法是有,但是又要加不少代码。在这里就不做展开详谈了。
    0xroot
        17
    0xroot  
       2018-11-08 17:53:19 +08:00
    Go 语言开发的一款工具 https://github.com/evilsocket/shellz
    Tink
        18
    Tink  
       2018-11-08 22:45:34 +08:00
    什么是批量管理
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   950 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 20:41 · PVG 04:41 · LAX 12:41 · JFK 15:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.