備忘
AIXにおいて24時間前からのerrlogを出力する
これを行うには以下が可能
errpt -s "$(/usr/bin/ksh93 -c 'printf "%(%m%d%H%M%y)T" "24 hours ago"')"
- errlogコマンドの-sオプションにより開始時点を指定可能。mmddhhmmyyフォーマット(month, day, hour, minute, and year)で日時を指定。
- mmddhhmmyy書式の24時間前は、ksh93のprintfの拡張機能が利用可能。
- "%(%m%d%H%M%y)T"にて書式
- "24 hours ago"にて日時を指定
- "yesterday", "next Monday" などが利用可能。
なお、TZ環境変数の JST-9 における数字部分を操作して24時間前を表す様な対応は、AIX 7以降で Asia/Tokyo のような IANA タイムゾーン表記となり、非推奨。
Perlを利用することでも可能だが、bos.rte.shellに含まれるksh93を利用する方が確実でしょう。
情報
- https://www.ibm.com/docs/ja/aix/7.3.0?topic=e-errpt-command
- https://stackoverflow.com/questions/66653193/ksh93-date-calculation-using-builtin-printf-function?utm_source=chatgpt.com
- https://www.scribd.com/document/17237220/Korn-Shell-93-Date-Time-String-Manipulation-and-Arithmetic?utm_source=chatgpt.com