Como executar o script de shell periodicamente sem usar o Crontab?

0

Eu não tenho previlage para usar o crontab -e para executar meu script. Existe outra maneira de executar periodicamente meu script? Basicamente eu preciso executá-lo uma vez por semana.

    
por user196833 09.02.2013 / 15:58

4 respostas

1

Se ativado e instalado, você pode usar o comando at . No entanto, é uma única programação de tempo .... você teria que executar um novo comando at dentro da coisa que você queria remarcar.

Confira as man páginas para obter ajuda sobre o comando at .

Mas lembre-se, nem sempre é instalado / habilitado em todos os sistemas Linux / UNIX.

    
por 09.02.2013 / 22:40
1

A verdadeira resposta para isso é entrar em contato com seu administrador de sistemas de vizinhança amigável, explicar seu problema e pedir que ele habilite o acesso ao cron para você. Você deve explicar como seu programa é executado, seus requisitos de recursos e, geralmente, fazer uma promessa de que você não prejudicará o sistema se você obtiver privs de acesso ao cron.

    
por 09.02.2013 / 22:43
0

Se você não puder / não quiser manter um terminal aberto, você pode executá-lo em tela GNU / tmux ou com nohup .

Exemplos:

screen sh -c 'while sleep 7d; do mycommand; done'

ou

tmux 'while sleep 7d; do mycommand; done'

Observação: esses comandos executarão mycommand na primeira vez após uma semana e, em seguida, periodicamente, não diretamente. Mude de acordo com a preferência.

Consulte a documentação dos projetos para obter mais informações sobre como anexar / desanexar sessões.

( 7d é específico do GNU, acredito. Basta colocar 604800 se a versão sleep suportar apenas segundos.)

    
por 09.02.2013 / 16:18
0

Outra abordagem seria ter um cronjob em execução em uma máquina diferente, que usa ssh para executar um determinado comando no servidor de destino. Se você configurar o login baseado em chave, isso será fácil.

Basta configurar um cronjob em outra máquina que se pareça com, por exemplo.

0 0 * * 7   /usr/bin/ssh remoteuser@remotehost mycommand

Com a exceção do servidor remoto estar offline no tempo de execução, isso seria confiável em relação a reinicializações remotas do servidor e outras coisas.

    
por 10.02.2013 / 10:37

Tags