我可以更改“last”命令的输出格式以显示年份吗?

Bel*_*Bob 7 solaris locale

我试图找到一种方法来报告我的 Solaris 10 服务器上所有用户的最近登录。我从last命令的输出开始。使用该命令,我得到如下输出:

bd9439    pts/1        vpn-xxx-xx-xxx-x Fri Oct 25 10:46   still logged in
vf7854    pts/1        vpn-xxx-xx-xxx-x Fri Oct 25 10:23 - 10:38  (00:15)
Run Code Online (Sandbox Code Playgroud)

根据手册页,日期和时间格式由区域设置控制。我很少使用语言环境设置。有什么我可以使用的东西可以改变显示以包括日期的“年份”部分?我希望得到与此类似的输出行:

bd9439    pts/1        vpn-xxx-xx-xxx-x Fri Oct 25 2013 10:46   still logged in
vf7854    pts/1        vpn-xxx-xx-xxx-x Fri Oct 25 2013 10:23 - 10:38  (00:15)
Run Code Online (Sandbox Code Playgroud)

我不清楚手册页是指last命令本身的输出还是数据实际上是如何存储在 /var/adm/wtmpx 中的。

如果有另一种方法可以获得这个“上次登录”属性,我很乐意学习它。

Bra*_*ley 8

我一半提供上下文,一半咆哮

你遇到了一个我不喜欢管理 Solaris 系统的主要原因的例子:没有什么是容易的。

除了更改时间戳的某些部分的顺序之外,我不知道语言环境是否真的会做任何事情。我很感兴趣,如果有人知道如何哄 Solarislast提供这一年的话,我很感兴趣,但我不会屏住呼吸。Sun 的软件开发口号似乎是“技术上可行”。

Sun 似乎已经开发出一些东西,达到了他们绝对需要的程度,然后几乎就停在了那里。因此,您最终会得到这样的普遍接受的解决方案,并且您只需保留列出的常见问题解决方法集合。

我曾经发现这样做的唯一方法是使用/usr/lib/acct/fwtmp转储的全部内容/var/adm/wtmpx到一个管道,其他一些程序,我使用的操作文本输出(greptacsed等)。

奖励:由于寻找文件末尾并仅按固定wtmpx记录长度向后移动会要求太多,fwtmp因此只能打印出wtmpx文件中出现的内容。因此,您必须使用其他一些方法(可能tac)来反转线条,除非您实际上对最旧的信息感兴趣(这是不可能的用例,但我离题了)。

根据您的系统运行的wtmpx时间长短,可能会有点大,所以您可能想去喝杯咖啡,或者去检查一下您的轮胎是否充气不足,或者在您工作的时候阅读一两本书在它。

您问题的实际答案:

这是一个last以大多数对查看登录记录感兴趣的人可用的方式模拟的命令:

# cat /var/adm/wtmpx | /usr/lib/acct/fwtmp | tac | head 
Run Code Online (Sandbox Code Playgroud)

你会注意到我必须通过管道输入wtmpx,因为他们没有给你一种方法只是将文件提供给fwtmp. 那是因为stdin在大多数用例中通过Technically Works™提供它,他们不必编写额外的几行代码。所以他们宁愿让管理员这样做。

这是我照顾的系统的上述示例输出:

[root@atum root]# cat /var/adm/wtmpx | /usr/lib/acct/fwtmp | tac | head
jadavis6                         ts/1 pts/1                                19410  7 0000 0000 1382723864 157168 0 19 ditirlns01.xxx.edu Fri Oct 25 13:57:44 2013
jadavis6                              sshd                                 19404  7 0000 0000 1382723864 133973 0 19 ditirlns01.xxx.edu Fri Oct 25 13:57:44 2013
oracle                                sshd                                  6640  8 0000 0000 1382713401 157107 0 0  Fri Oct 25 11:03:21 2013
oracle                           ts/1 pts/1                                 6647  8 0000 0000 1382713401 150489 0 0  Fri Oct 25 11:03:21 2013
oracle                           ts/1 pts/1                                 6647  7 0000 0000 1382712445 24488 0 23 a0003040148735.xxx.edu Fri Oct 25 10:47:25 2013
oracle                                sshd                                  6640  7 0000 0000 1382712442 304729 0 23 a0003040148735.xxx.edu Fri Oct 25 10:47:22 2013
jadavis6                              sshd                                 23537  8 0000 0000 1382560970 410725 0 0  Wed Oct 23 16:42:50 2013
jadavis6                         ts/1 pts/1                                23544  8 0000 0000 1382560970 404795 0 0  Wed Oct 23 16:42:50 2013
jadavis6                         ts/1 pts/1                                23544  7 0000 0000 1382552999 619524 0 19 ditirlns01.xxx.edu Wed Oct 23 14:29:59 2013
jadavis6                              sshd                                 23537  7 0000 0000 1382552999 602215 0 19 ditirlns01.xxx.edu Wed Oct 23 14:29:59 2013
[root@atum root]#
Run Code Online (Sandbox Code Playgroud)

编辑:

我知道我在抱怨那里的一些小事,但过了一段时间我就厌倦了每一件小事(比如简单地问“今年是什么?”)变成一个小时的谷歌节或或多或少只是部落的东西知识(例如 的存在fwtmp)。