如果用户 AWS 访问密钥超过 90 天,我需要向安全团队发出警报。我在 bash 中这样做。
到目前为止,我的脚本正在输出这样的键和日期:
AKIAJS7KPHZCQRQ5FJWA : 2016-08-31T15:38:18Z
AKIAICDOHVTMEAB6RM5Q : 2018-02-08T03:55:51Z
Run Code Online (Sandbox Code Playgroud)
如何在 bash 中使用该日期格式确定日期是否超过 90 天?
我正在使用 Ubuntu 18.04。我相信日期格式是 ISO 8601。如果这也是错误的,请确认/更正。
roa*_*ima 11
您可以使用 GNUdate将日期时间字符串转换为秒数(自 1970 年 1 月 1 日的“纪元”以来)。从那里开始是一个简单的算术比较
datetime='2016-08-31T15:38:18Z'
timeago='90 days ago'
dtSec=$(date --date "$datetime" +'%s') # For "now", use $(date +'%s')
taSec=$(date --date "$timeago" +'%s')
echo "INFO: dtSec=$dtSec, taSec=$taSec" >&2
[ $dtSec -lt $taSec ] && echo too old
Run Code Online (Sandbox Code Playgroud)