Как преобразовать дату и метку времени из одного формата в другой и сравнить в Linux сценариях оболочки - PullRequest
0 голосов
/ 10 июля 2020

Как преобразовать дату и метку времени из одного формата в другой и сравнить в Linux Сценарии оболочки

У меня вывод из возраста пода kubernetes как kubectl describe pods "podname" | grep Started | head -1 | awk '{ print $3,$4,$5,$6} '' 'как 07 Jul 2020 11:00:23

Мне нужно сравнить указанную выше метку времени с текущей меткой времени и проверить, больше ли она 15-минутной давности в сценариях оболочки

date +"%d %m %Y %T"
10 07 2020 11:12:42

Я пытаюсь достичь того, что указано выше. Пожалуйста, помогите с любыми указателями в сравнении дат

1 Ответ

1 голос
/ 10 июля 2020

Вы можете преобразовать вывод в unix метку времени, например:

[usr@host ~]$ date -d "07 Jul 2020 11:00:23" +%s
1594116023

И сравнить с текущим временем:

[usr@host ~]$date +%s
1594383680

Чтобы завершить, вы можете сделать:

kube_date=$(kubectl describe pods "podname" | grep Started | head -1 | awk '{ print $3,$4,$5,$6}')
kube_date_bash=$(date -d "$kube_date" +%s)
current_date=$(date +%s)
Difference=`expr $current_date - $kube_date_bash`

if [ "$Difference"  -gt "900" ];then
    echo "Older than 15 minutes.."
fi
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...