Eu tenho um timer systemd que é executado às 23:00 às sextas-feiras para fazer algum processamento de dados em lote uma vez por semana durante os horários de baixa demanda. É terça-feira, e eu gostaria de testar uma alteração que fiz, gostaria que começasse às 23:00 de hoje, para que eu possa verificar amanhã, em vez de ter que esperar até a próxima segunda-feira.
Existe uma maneira fácil e de construir para agendar um acionamento único de um timer systemd? por exemplo systemd trigger-timer --timer whatever.timer --at 2021-06-22T23:00
ou algo assim? Quero que comece apenas neste momento, não quero adicionar uma nova regra recorrente. Quero que funcione normalmente todas as sextas-feiras às 23:00 e hoje às 23:00.
Tenho certeza de que poderia hackear algo junto sleep 10hr ; systemctl start whatever.service
ou talvez editar manualmente o /etc/systemd/system/whatever.timer
arquivo, mas se houver uma maneira adequada de fazer acionamentos "uma vez" de um cronômetro, prefiro usá-lo.
Isso está no Ubuntu Linux 20.04 e 18.04, qualquer que seja a versão do systemd que seja (245?)
Você poderia adicionar um
ao seu arquivo de unidade de timer. Em seguida, remova-o depois de terminar. Ou se você quiser apenas acionar o serviço, você pode fazer:
Um disparo único de um cronômetro não é um cronômetro, e um disparo único do serviço pode ser obtido com
at
ou usando um cron.at 23:00 <<<"systemctl start example.service"
seria bastante equivalente ao que você está procurando.