Bash FreeBSD脚本,用于显示活动连接和附加远程文件编号

Bash FreeBSD脚本,用于显示活动连接和附加远程文件编号,bash,ssh,command-line-interface,freebsd,netscaler,Bash,Ssh,Command Line Interface,Freebsd,Netscaler,我使用的是NetScaler FreeBSD,它可以识别许多类似UNIX的命令,如grep、awk、crontab等等 我运行以下命令以获取系统上已连接的用户数 #> nsconmsg -g aaa_cur_ica_conn -d stats 输出编号行: Line1: Displaying current counter value information Line2: NetScaler V20 Performance Data Line3: NetScaler NS11.1: Bu

我使用的是NetScaler FreeBSD,它可以识别许多类似UNIX的命令,如grep、awk、crontab等等

我运行以下命令以获取系统上已连接的用户数

#> nsconmsg -g aaa_cur_ica_conn -d stats
输出编号行:

Line1: Displaying current counter value information
Line2: NetScaler V20 Performance Data
Line3: NetScaler NS11.1: Build 63.9.nc, Date: Oct 11 2019, 06:17:35
Line4:
Line5: reltime:mili second between two records Sun Jun 28 23:12:15 2020
Line6: Index reltime     counter-value symbol-name&device-no
Line7:     1 2675410                 605 aaa_cur_ica_conn
…
…
从上面的输出-我只需要第7行第3列605中表示的连接用户的数量,以及运行脚本的主机名和时间

现在,为了提取这个重要的第3列数字,即605,以及主机名和收集数据的时间,我编写了以下脚本:

printf '%s - %s - %s\n' "$(hostname)" "$(date '+%H:%M')" "$(nsconmsg -g aaa_cur_ica_conn -d stats | grep aaa_cur_ica_conn | awk '{print $3}')"
结果非常完美,显示了主机名、时间和连接的用户数,如下所示:

Hostname - 09:00 – 605
现在,谁能告诉我如何:

每天运行此脚本-上午5点到下午5点12小时? 每次脚本运行时—是否在远程Unix共享上附加一个文件和输出? 我很感激这可能是一个挑战。。。不过,如果有任何bash脚本向导能够创造魔法,我将不胜感激


提前谢谢

我建议您快速查看or,以便熟悉操作系统和工具,帮助您更好地实现自己的目标

例如,有一个名为

软件实用程序cron是类Unix计算机操作系统中基于时间的作业调度器

例如,要在每天早上5点到下午5点之间每分钟运行一次,可以使用以下方法:

* 05-17 * * * command
请在此处尝试更多选项:

有更多的工具用于调度命令,例如在,但这是您需要评估和阅读更多关于它的内容

现在关于命令,您正在使用获取连接用户的数量,您可以避免使用grep,而只使用awk,例如:

awk '/aaa_cur_ica_conn/ {print $3}'
如果行中包含aaa_cur_ica_conn,则只打印第3列,但与之前一样,我邀请您阅读更多有关该主题的内容,以便您能够更好地了解概述和更好地理解命令


最后但并非最不重要的一点是,请检查此链接,以更好地设置格式,并详细阐述您的问题,以便于他人给出答案。

echo 1 2204996 605 aaa_cur_ica|u conn|awk'{print$3}?为了让它更清楚-我现在已将问题更新为包含您的建议awk'{print$3}谢谢Nbarhiya nbari,非常感谢您抽出时间提供反馈和学习资源。。。谢谢。看来我的学习曲线很陡。。。我需要一到两周的时间来恢复头脑,进行测试等等。。所以我们会尽快反馈。