Как сгенерировать последний 1 час в секундах в unixtime?

Возможно, вы захотите изучить настройку command="whatever"в /etc/ssh/sshd_configдля всех пользователей. Я не проверял это, но использование command="/bin/bash.profile"может дать вам то, что вы хотите.

0
11.05.2021, 18:55
2 ответа

Похоже на работу дляseq:

seq "$(( $(date +%s) - 3599 ))" "$(date +%s)"

или чтобы избежать состояния гонки из-за того, что "дата" выполняется дважды:

NOW=$(date +%s); seq "$(( NOW - 3599 ))" "$NOW"

(3599 означает, что вы получаете «3600 временных меток», как и просили)

3
28.07.2021, 11:33

POSIXly:

awk '
  BEGIN {
    srand(); now = srand()
    for (i = now - 3599; i <= now; i++) print i
  }'

Как ни странно, это основано на том факте, что традиционно, когда srand()вызывалась без значения, вместо этого использовалось текущее время. Это было указано в POSIX, хотя и не явно, что должны использоваться секунды эпохи. Я попросил POSIX разъяснить и, возможно, разрешить реализациям использовать лучшие источники энтропии для заполнения генератора псевдо -случайных чисел, но они решили потребовать, чтобы использовалось время эпохи unix , так что приведенный выше код должен гарантированно работать в течение некоторого времени (в качестве исключения, в настоящее время он не работает с OpenBSDawk).

1
28.07.2021, 11:33

Теги

Похожие вопросы