シェルスクリプトが最後に実行された時期を確認するには?

シェルスクリプトが最後に実行された時期を確認するには?

シェルスクリプト内で、シェルスクリプトが最後に実行された時刻を見つけようとします。私は試した:

ls -laru
ls -lart 

ただし、これらのコマンドはすべて、最後の変更時間と最後のアクセス時間を提供します。シェルスクリプトが最後に実行された時間を探しています。

答え1

このコマンドを試してみてくださいdate。オプションなしで日付を実行すると、次の出力のようにシステムの日付と時刻が出力されます。

date

2001年2月8日木曜日16:47:32 MST

日付出力をファイルに保存し、そのファイルでスクリプトの日付を確認できます。スクリプトの最後の実行時間を確認するには、次のファイルを確認してください。

startTime=$(cat time.start)
//code to check the value of last run time goes here

date > time.start //save the time in default format

ここにはさまざまな日付形式があります。http://man7.org/linux/man-pages/man1/date.1.html

答え2

このコードを使用して問題を解決できました。

inode=$(find /path/ -maxdepth 1 -type f -iname '*error*.log' -printf '%T@ %i\n' | sort -rn | awk '{print $2;exit;}')

newest=$(find /path/ -maxdepth 1 -inum "$inode")

関連情報