Você tem tanto tempo quanto quiser, pois depende de como você está desligando e como você executa seu script.
Você pode configurar o seu processo de desligamento para bloquear o seu script, então você tem tanto tempo quanto quiser. Ele não continuará sendo desativado até que o script seja encerrado.
Depois, há uma configuração como o Knoppix, que envia um TERMO e, em seguida, um KILL para todos os processos rapidamente durante o desligamento. Então você quase não tem tempo para o seu roteiro.