Estou usando o CentOS 7.5.1804 com GNU bash versão 4.2.46(2)-release (x86_64-redhat-linux-gnu).
Para reinicializações programadas nas janelas de manutenção, calculo os minutos a partir de agora até a próxima reinicialização. Por exemplo, para uma reinicialização em ~ 3 meses, eu usaria
shutdown -r +129600
Desde que interessado em uma melhor compreensão do bash, estou curioso sobre qual poderia ser o valor mais alto e como calculá-lo?
Um desligamento programado com int32 reportaria
shutdown -r +4294967295
Shutdown scheduled for Tue 10184-07-27 ...
valores mais altos ainda são possíveis, mas como calcular o máximo possível?
Na minha máquina, /sbin/shutdown é um link simbólico para /sbin/systemctl.
Bisbilhotando na fonte systemctl ( https://code.launchpad.net/~ubuntu-branches/ubuntu/trusty/systemd/trusty ), vejo
shutdown_parse_argv
função analisa a especificação de tempo em uma variável chamadaarg_when
que é do tipousec_t
send_shutdownd
função cria umasd_shutdown_command
estrutura com esse valor usec_ta
sd_shutdown_command
estrutura contém:Então, parece que o tempo máximo é:
Então, novamente, eu não li a
parse_time_spec
função para ver como o argumento é realmente analisado em um valor de tempo.