SecureCRT 使用脚本命令自动记录日志

一、SecureCRT 脚本引擎

SecureCRT 脚本引擎支持 VBScript、JScript 以及 Python 脚本,你可以选择任意你熟悉的脚本语言,与 SecureCRT 对象进行交互。


二、使用 SecureCRT 的自动日志功能

以下是利用 JScript 脚本语言写的示例

脚本文件名:mylog.js

# $language = "JScript"

/*脚本运行过程中全局变量*/
var gLog_time       = "";
var gScript_name    = "";
var gRemoteHostip   = "";


var timer_sleep_sec = 1000;
var timer_sleep_min = 60 * 1000;
var timer_sleep_hour= 60 * 60 * 1000;

function process_log_open()
{
    /*************************************************************************************************/
    
    crt.session.Log(false); //先关闭日志记录
    crt.Screen.Send("\n");
    crt.Sleep(300);
    crt.Screen.Clear();
    
    // 获取当前时间
    crt.Screen.Send("sleep 1; echo `date +%Y-%m-%d_%H-%M-%S` | awk '{printf(\"%s\", $0)} END{print \"INFO_END\"}' \n");
    crt.Sleep(300);
    crt.Screen.Clear();
    
    gLog_time = crt.Screen.ReadString("INFO_END", 3);
    crt.Sleep(timer_sleep_sec);
    crt.Screen.Send("\n");
    
    //var ip = crt.Session.LocalAddress;
    //crt.Screen.Send("# ip: "+ip+" \n");
    
    gRemoteHostip = crt.Session.RemoteAddress;
    crt.Screen.Send("# remoteip: "+gRemoteHostip+" \n");
    
    // 获取当前脚本文件名
    var name = script_name = crt.ScriptFullName.split("\\");
    gScript_name = name.pop();
    crt.Screen.Send("# ScriptName: "+gScript_name+" \n");
    
    crt.session.Log(false);                                                        //先关闭日志记录
    crt.session.LogFileName = gRemoteHostip+"_"+gScript_name+"_"+gLog_time+".log"; //日志记录名字
    crt.session.Log(true);                                                         //打开日志记录
    //crt.Screen.Synchronous = true;    //屏显同步 注:不要使用该设置,会影响 crt.Screen.Clear() 清屏函数的使用
    crt.Screen.Send("# LogName: "+crt.session.LogFileName+" \n");
    
    return 0;
}

function ftestOkResultlogo(){
    crt.Sleep(timer_sleep_sec);
    crt.Screen.Send("\n");
    crt.Screen.Send("################                               ########                   ####      ######\n");
    crt.Screen.Send("################                           ######    ######               ####    ######  \n");
    crt.Screen.Send("      ####                                 ####        ####               ####  ######    \n");
    crt.Screen.Send("      ####                ####           ######        ######             ##########      \n");
    crt.Screen.Send("      ####                ####           ######        ######             ##########      \n");
    crt.Screen.Send("      ####                               ######        ######             ############    \n");
    crt.Screen.Send("      ####                               ######        ######             ####  ######    \n");
    crt.Screen.Send("      ####                                 ####        ####               ####    ######  \n");
    crt.Screen.Send("      ####                ####             ######    ######               ####     #####  \n");
    crt.Screen.Send("      ####                ####                 ########                   ####      ######\n");
    crt.Screen.Send("\n");
}

function main()
{
    process_log_open();

    ftestOkResultlogo();

    return 0;
}

日志文件名:192.168.79.163_mylog.js_2022-05-10_15-38-50.log

[root@localhost Shire_Diag_tool]# 
[root@localhost Shire_Diag_tool]# # remoteip: 192.168.79.163 
[root@localhost Shire_Diag_tool]# # ScriptName: mylog.js 
[root@localhost Shire_Diag_tool]# # LogName: 192.168.79.163_mylog.js_2022-05-10_15-38-50.log 
[root@localhost Shire_Diag_tool]# 
[root@localhost Shire_Diag_tool]# ################                               ########                   ####      ######
[root@localhost Shire_Diag_tool]# ################                           ######    ######               ####    ######  
[root@localhost Shire_Diag_tool]#       ####                                 ####        ####               ####  ######    
[root@localhost Shire_Diag_tool]#       ####                ####           ######        ######             ##########      
[root@localhost Shire_Diag_tool]#       ####                ####           ######        ######             ##########      
[root@localhost Shire_Diag_tool]#       ####                               ######        ######             ############    
[root@localhost Shire_Diag_tool]#       ####                               ######        ######             ####  ######    
[root@localhost Shire_Diag_tool]#       ####                                 ####        ####               ####    ######  
[root@localhost Shire_Diag_tool]#       ####                ####             ######    ######               ####     #####  
[root@localhost Shire_Diag_tool]#       ####                ####                 ########                   ####      ######
[root@localhost Shire_Diag_tool]# 


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值