Como executar um trabalho agendado periódico sem ou no cron

0

Cenário: Você tem um usuário com sem acesso ao cron e precisa agendar um trabalho (digamos um rsync de um diretório). O uso de at não é uma opção, pois você não tem uma data final fixa.

Embora eu aposto que existem milhares de maneiras de realizar isso, aqui está minha:

    
por runlevel0 20.04.2018 / 13:26

1 resposta

1

Rápido e sujo:

Abra uma sessão de tela e crie um loop while assim:

while : ; do
clear 
echo "$(date : Hey, I'm running this nice stuffz)"
time do_stuff
sleep 1d

A chave aqui é o comando sleep : aceita muito mais do que apenas um valor em milissegundos. Existem especificadores de formato para segundo (s), minuto (m), hora (h) e dia (d). Ainda mais, o GNU sleep não é apenas capaz de manipular inteiros como valores, mas ele pode realmente manipular flutuações arbitrárias ( info '(coreutils) sleep invocation' ). Isso significa que você pode escrever coisas como:

sleep 0.33d  or  sleep 0.5h

O último é praticamente inútil, mas você sabe;)

    
por 20.04.2018 / 13:26