Как рассчитать максимальное значение для shutdown -r + $ {MINUTES}?

Я использую CentOS 7.5.1804 с GNU bash версии 4.2.46 (2) -релиз (x86_64-redhat-linux-gnu).

Для запланированных перезагрузок в windowsх обслуживания я рассчитываю минуты с момента до следующей перезагрузки. Например, для перезагрузки через ~ 3 месяца я бы использовал

shutdown -r +129600 

Поскольку меня интересует лучшее понимание bash, мне интересно, что может быть наибольшим значением и как его рассчитать?

Запланированное завершение работы с int32 сообщит

 shutdown -r +4294967295 Shutdown scheduled for Tue 10184-07-27 ... 

более высокие значения все еще возможны, но как рассчитать возможный максимум?

На моей машине / sbin / shutdown является символической ссылкой на / sbin / systemctl.
Просматривая источник systemctl ( https://code.launchpad.net/~ubuntu-branches/ubuntu/trusty/systemd/trusty ), я вижу

  • функция shutdown_parse_argv анализирует спецификацию времени в переменную с именем arg_when которая имеет тип usec_t
  • функция send_shutdownd создает структуру sd_shutdown_command с этим значением usec_t
  • структура sd_shutdown_command содержит:

     /* Microseconds after the epoch 1970 UTC */ uint64_t usec; 

Итак, кажется, что максимальное время:

 $ \bc <<< '(2^63-1) / 10^6 / 60' # minutes 153722867280 $ \bc <<< '(2^63-1) / 10^6 / 60 / 24 / 365' # years 17548272 

С другой стороны, я не читал функцию parse_time_spec чтобы увидеть, как аргумент фактически разбирается в значение времени.