Bash FreeBSD脚本,用于显示活动连接和附加远程文件编号
我使用的是NetScaler FreeBSD,它可以识别许多类似UNIX的命令,如grep、awk、crontab等等 我运行以下命令以获取系统上已连接的用户数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
#> 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,非常感谢您抽出时间提供反馈和学习资源。。。谢谢。看来我的学习曲线很陡。。。我需要一到两周的时间来恢复头脑,进行测试等等。。所以我们会尽快反馈。