Como configuro duas tarefas cron para serem executadas todas as noites às 3:00 e 3:10?

4

Eu tenho um servidor home do Ubuntu executando a caixa virtual. Eu tenho servidor virtual em execução nessa caixa que estou tendo problemas com. Por enquanto não tenho tempo para solucionar o problema real, mas descobri que reiniciar o servidor corrige o problema por pelo menos 24 horas. Então, minha solução rápida é reiniciar o servidor todas as noites.

A conclusão é que eu quero executar o seguinte comando às 3:00 da manhã, 7 dias por semana.

vboxmanage controlvm virtualpbx acpipowerbutton

às 3:05 cada noite eu quero executar o seguinte comando.

vboxmanage startvm virtualpbx -type headless

A melhor resposta vai me dar instruções passo a passo para fazer isso ao iniciar o console para fechar o console. Eu quero aprender mais sobre o cron e a infraestrutura Linux, mas por enquanto não tenho tempo.

Muito obrigado pela sua ajuda.

Seth B Spearman

** EDIT **
Eu quero ser capaz de colocá-los no lugar de um prompt ssh. (Não ria, mas o servidor não tem um monitor ligado agora e precisaria de muito trabalho para que funcionasse.) Mas eu posso ssh para isso a qualquer momento.

A partir do prompt do ssh, o crontab parece não funcionar ... ele apenas vai para a próxima linha e parece estar esperando por mais entradas.

Eu tentei instalar o crontab a partir do ssh usando o sudo apt-get install crontab mas ele não pode encontrá-lo em nenhum repositório.

Então eu acho que vou usar o nano e fazer isso manualmente, mas eu preciso saber onde colocá-lo.

TUDO o que dizer ... Eu estou fazendo isso a partir de um prompt do ssh ... o que eu acho que não importa, mas pensei em deixar você saber.

Seth

    
por Seth Spearman 01.06.2013 / 16:01

2 respostas

6

Abra um terminal ( Ctrl + Alt + T ) e execute:

crontab -e

Se você pedir para selecionar um editor, escolha nano. Insira estas linhas no final do arquivo:

 0 3 * * * vboxmanage controlvm virtualpbx acpipowerbutton
 5 3 * * * vboxmanage startvm virtualpbx -type headless

Pressione Ctrl + O , Retorna para salvar o arquivo e Ctrl + X para sair. Em seguida, execute exit para fechar o terminal.

EDITAR
Isto é o que o OP fez:

  1. ssh para o servidor
  2. sudo nano /etc/crontab <key in password>
  3. edite por recomendação de Eric, mas acrescentou o nome de usuário que inicia as VMs da seguinte forma ...

    0 3 * * * username vboxmanage controlvm virtualpbx acpipowerbutton   
    5 3 * * * username vboxmanage startvm virtualpbx -type headless  
    
  4. CTRL-X para fechar. Entre para salvar o crontab.

  5. Reinicie o cron: sudo service cron stop then sudo service cron start .
por Eric Carvalho 01.06.2013 / 16:28
3

Solte para consolar

Crie um script bash, um para cada um dos comandos, (não esqueça de torná-los executáveis com sudo chmod +x filename.sh ) e armazene-os em um lugar que o cron possa executá-los.

sudo anacron -t 00 03 * * * /path/to/script/script1.sh

sudo anacron -t 10 03 * * * /path/to/script/script2.sh

Aproveite!

    
por RGS 01.06.2013 / 16:15