Existe uma maneira de o Linux executar um comando a cada X minutos?

7

Estou usando o RSync com meu amigo apenas para testes e nerd geral, queremos agendar de alguma forma a tarefa de sincronização para ser executada a cada X vezes.

Usando o terminal, nós executamos o comando e ele funciona.

  1. O que podemos usar para executar um script a cada X vezes?

  2. Como podemos programar algo como um arquivo .bat do Windows para o Linux?

Nosso sistema operacional é o Ubuntu.

    
por Simon Sheehan 22.10.2010 / 02:43

4 respostas

21

Você está procurando pelo cron e scripts de shell .

    
por 22.10.2010 / 02:46
12

seguinte executaria um script a cada 3 minutos se colocado no seu crontab

*/3 * * * * /home/sergio/myscript.sh 
    
por 22.10.2010 / 03:39
4

Para a parte A, você vai querer Cron. Tim Hoolihan tem um bom exemplo disso em sua resposta.

Para a parte B, você desejará um script de shell. Para criar um, basta criar um arquivo de texto que comece com a seguinte linha:

#!/bin/bash

E, em seguida, siga isso com comandos como se você estivesse digitando no shell. (Dica avançada: a sintaxe #! Funciona para qualquer programa de linha de comando, não apenas bash .)

Uma vez feito isso, salve-o (é recomendado usar uma extensão .sh, mas não necessária), vá até o shell e execute chmod ugo+x filename.sh , substituindo o nome real do arquivo, é claro. Isso fará com que seu script possa ser executado.

Finalmente, basta colocar o script no crontab por resposta de Tim.

Espero que isso ajude.

    
por 22.10.2010 / 08:12
3

No contexto de arquivos rsyncing, você também pode fazer isso acontecer assim que houver novas alterações.

Procure em incron

    
por 22.10.2010 / 10:35