最后一小时内的最后登录次数

最后一小时内的最后登录次数

好的,基本上我试图给出一个特定的日期和时间,并且我想查看在该小时范围内进行的所有登录,例如给出的时间和日期的最后一个小时或最后两个小时。我需要两种方法,因为我不是到处都有系统日志,所以基本上在某些系统上最后一个在其他系统上有点工作 - cat syslog。

这就是我到目前为止所得到的

last | grep Dec | grep 1 | grep 17:*

cat syslog | grep Dec | grep 1 | grep 17:40 | grep -E ???

但这不起作用。我的意思是它可以工作并显示特定日期和时间的登录信息,但仅此而已。我无法弄清楚例如在 -E 参数之后要给出什么才能使其继续运行。

我检查了类似的线程,但它们也不适合我。在里面 ???我尝试放置很多东西但没有成功。 Asterisk 给了我一些不错的结果,但是这样你只能得到完整的时间,如果你的范围从 16:40 开始,那么休斯顿,我们就有问题了。

答案1

是你所期望的吗?

LANG=C last | egrep "Fri\s*Dec\s*2 $(date '+%H')"

答案2

我认为这就是您所期望的:

这将获取过去一小时内的最后一次登录:

last --since "$(date -d 'now - 1hour' +'%Y-%m-%d %H:%M')"

这显示了和25 Dec 2022之间的登录。02:4202:59

last --since '2022-12-25 02:42' --until '2022-12-25 02:59'

时间是在24 小时时间格式。关于--until '2022-12-25 02:59'来自的登录02:59被忽略(我不知道为什么),所以它只会显示来自02:42到 的02:58登录。

另外,如果您希望特定用户登录,请使用以下命令:

last youruser --since '2022-12-25 02:42' --until '2022-12-25 02:58'

相关内容