我可以更改“last”命令的輸出格式以顯示年份嗎?
我正在嘗試找到一種方法來報告我的 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)
根據手冊頁,日期和時間格式由語言環境控制。我很少使用區域設置。有什麼我可以使用的東西可以改變顯示以包括日期的“年”部分嗎?我希望得到與此類似的輸出行:
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)
我不清楚手冊頁是指
last
命令本身的輸出還是數據實際儲存在 /var/adm/wtmpx 中的方式。如果有另一種方法來獲得這個“最後登錄”屬性,我很樂意學習它。
在其中我一半提供上下文,一半咆哮
您遇到了一個我不喜歡管理 Solaris 系統的主要原因的範例:沒有什麼是簡單的。
我不知道語言環境是否真的會做任何事情,除了改變時間戳某些部分的順序。如果有人知道如何誘使 Solaris
last
參加這一年,我很感興趣,但我不會屏住呼吸。Sun 的軟體開發口號似乎是“技術上可行”。Sun 似乎已經開發出了他們絕對需要的東西,然後幾乎停在那裡。因此,您最終會得到類似這樣的普遍接受的解決方案,並且您只需保留列出的常見問題解決方法集合。
我發現這樣做的唯一方法是使用
/usr/lib/acct/fwtmp
將管道的全部內容轉儲/var/adm/wtmpx
到我用於操作文本輸出(、、、等)的其他程序的grep
管道tac
中sed
。獎勵:由於查找文件末尾並僅向後移動固定
wtmpx
記錄長度會要求太多,fwtmp
因此只能列印出wtmpx
文件中出現的內容。tac
因此,除非您實際上對最舊的資訊感興趣(這是最不可能的案例,但我離題了) ,否則您必須使用其他一些方法(可能)來反轉線條。取決於你的系統執行了多長時間
wtmpx
,所以你可能想去喝杯咖啡,也許去檢查一下你的輪胎是否充氣不足,或者在你休息的時候讀一兩本書在它。您的問題的實際答案:
這是一個模擬的命令,
last
大多數有興趣查看登錄記錄的人都可以使用:# cat /var/adm/wtmpx | /usr/lib/acct/fwtmp | tac | head
您會注意到我必須通過管道
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]#
編輯:
我知道我在抱怨那裡的一些小事,但過了一段時間我就厭倦了每一件小事(比如簡單地問“今年是什麼時候?”)變成一個小時長的 googlefest 或者或多或少只是部落的東西知識(例如 的存在
fwtmp
)。