关闭终端时Bash脚本无法正常运行

时间:2020-10-05 08:58:03

标签: bash shell ubuntu ssh terminal

当我执行Get-AzLogicAppTriggerCallbackUrl -ResourceGroupName "ResourceGroup11" -Name "LogicApp1" -TriggerName "manual" Value ----- https://prod-03.westus.logic.azure.com:443/workflows/c4ed9335bc864140a11f4508d19acea3/triggers/manual/run?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig= 命令时,以下Bash脚本会正常运行。

exit

我在#!/bin/bash user=$(echo $(who am i) | awk '{print $1" "$5" "$3" "$4}') formattedUser=$(echo $user | tr -d '()') finalData=$formattedUser" to "$(date +"%Y-%m-%d")" "$(date +"%H:%M") logoutTime=$(date +"%m/%d/%Y %H:%M")":00" startDate=$(echo $(who am i) | awk '{print $3}') startDateFinal=$(echo $startDate | tr '-' '/') startTime=$(echo $(who am i) | awk '{print $4}') startTimeFinal=$startTime":00" loginTime=$startDateFinal" "$startTimeFinal function diff_seconds { var1=$(date "+%s" -d "$1"); var2=$(date "+%s" -d "$2"); period=$(( $var1 - $var2 )); } diff_seconds "$logoutTime" "$loginTime" periodMins=$(echo $(( period / 60 ))) finalDataToLog=$finalData" "$periodMins echo $finalDataToLog | tee -a /home/amantha/log-sources/logout.log chmod 777 /home/amantha/log-sources/logout.log 中包括了上述bash脚本。

.bashrc

您可以在下面看到输出。

trap /home/amantha/log-sources/logout.sh EXIT

第一个字段-用户 第二个字段-用户ip 第三个字段-登录日期 第四个字段-登录时间 第5次提起-“至”字 第六栏-登出日期 第七场-登出时间 第八场-时间段

问题是当我关闭终端时无法正常工作。 输出:

amantha 192.168.1.36 2020-10-05 10:29 to 2020-10-05 10:31 2

我这样做的目的是确定用户的登录时间和使用ssh退出的时间。你有解吗? 以上一项仅适用于退出命令。当我关闭终端或Connection Failiure时,它无法正常工作。

1 个答案:

答案 0 :(得分:1)

您正在尝试解决已解决的问题。

如果使用的是RHEL / CENTOS / Fedora。用户的日志存储在:

/var/log/wtmp – Logs of last login sessions
/var/run/utmp – Logs of the current login sessions
/var/log/btmp – Logs of the bad login attempts

还有last命令。 here有据可查。 这是一个很好的article解决问题的方法。