最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

kasini3000新增:ansible like输出 观焦点

来源:博客园

后台+多进程,远程执行kasini3000命令:

K-commit


【资料图】

后台+多线程,远程执行kasini3000命令:

K-commit-rs

具体用法:(这里只演示多线程版,多进程只需要用K-commit)

k-commit-rs.ps1 -ip 1.1.1.1 -scriptblock {被控机命令} -allparameter $a,$bk-commit-rs.ps1 -ip 1.1.1.1 -file 'd:\主控机脚本.ps1' -allparameter $a,$bk-commit-rs.ps1 {被控机命令} -wait_output $true 

说明:

K-commit,K-commit-rs,命令新增1个参数:

-wait_output$true

以类似于ansible形式,持续输出结果。

默认是不输出结果,而把结果保存在主控机sqlite库中。

你应该这样用:

k-commit-rs.ps1 命令 参数

k-commit-rs.ps1 命令 参数

k-commit-rs.ps1 命令 参数 -wait_output$true

提交n次命令,但最后一次命令中,开启持续输出。

截图:

问:如上图所示,怎么输出的“8”?

答:

k-commit-rs.ps1 {echo 8} -wait_output $true k-commit-rs.ps1 { if ($a -eq 1) {echo 8} } -wait_output $true 

问:如何根据输出的结果“8”,继续写脚本?

答:

kt-rs.ps1 -grep "8"foreach ($多线程输出_单台被控机 in $global:_mtout){                #if ($多线程输出_单台被控机["标准输出"].contains("磁盘满了"))                if ($多线程输出_单台被控机["标准输出"].contains("8"))                {                     "这台被控机曾经报错,磁盘满了"                }}

注意:如果是多进程,则应该这样用:

kt.ps1 -grep "8"foreach ($多进程输出_单台被控机 in $global:_mpout)

手册在此:

https://gitee.com/chuanjiao10/kasini3000/blob/master/docs/%E5%8D%A1%E6%AD%BB%E4%BD%A03000%E5%91%BD%E4%BB%A4%E6%89%8B%E5%86%8C.xlsx

关键词: