Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

最後の更新日付のファイルを開くコマンド

More than 1 year has passed since last update.

はじめに

インフラ系のエンジニアにはよくある事だと思いますが、運用ログや構築中のトラブルシューティングを行う時に、logディレクトリにある更新日付が最後のファイルを参照したい事があると思います。
apache httpdのように、最新のログファイルが固定である場合(access_logなど)は、良いですが、log4j, log4netなどのロガーを利用すると、ファイルの作成日や時間がファイル名に含まれます。

こういう場合、ファイル名をlsコマンドで探して、コピーしてlessコマンドやtailコマンドを実行するのは、面倒でないですか?
ちょっとした小技を紹介します。

解決案

lsコマンドでは、更新日付のソートで結果を返却する事ができます。

$ ls -rt
tallylog            boot.log-20190620  boot.log-20190809       boot.log-20191217  btmp-20200201     messages-20200126  messages-20200202  secure-20200216    gws            messages-20200216  secure
grubby_prune_debug  firewalld          dmesg.old               boot.log           secure-20200126   secure-20200202    yum.log            maillog-20200216   cron-20200216  btmp               wtmp
anaconda            boot.log-20190622  boot.log-20191215       yum.log-20200101   spooler-20200202  cron-20200202      secure-20200209    messages-20200209  httpd          elasticsearch      lastlog
rhsm                boot.log-20190627  dmesg                   spooler-20200126   maillog-20200202  spooler-20200209   cron-20200209      vmware-vmsvc.log   spooler        audit              containers
tuned               chrony             vmware-vgauthsvc.log.0  maillog-20200126   cron-20200126     maillog-20200209   spooler-20200216   pods               maillog        cron               messages

これに加えて、awkコマンドで最後のファイル名だけを出力します。

$ ls -rt | awk 'END{print $NF}'
messages

後は、括ってあげれば、良いです。

$ less `ls -rt | awk 'END{print $NF}'`

.bashrcなどに、aliasを登録しておくと便利かと思います。

alias latestlog='less `ls -rt | awk "END{print $NF}"`'
ryu_nakano
一般的な情報をまとめて、自分への備忘録としての記事を登録します。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away