Existe-t-il un moyen de faire exécuter Linux une commande toutes les X minutes?

J'utilise RSync avec mon copain juste pour tester et geek en général, nous voulons d'une manière ou d'une autre programmer la tâche de synchronisation à tout instant.

En utilisant le terminal, nous exécutons la commande et ça marche.

  1. Que pouvons-nous utiliser pour exécuter un script toutes les X fois?

  2. Comment pouvons-nous programmer quelque chose comme un fichier Windows .bat pour Linux?

Notre système d'exploitation est Ubuntu.

Vous recherchez des scripts cron et shell .

La suite exécuterait un script toutes les 3 minutes si elles étaient placées dans votre crontab

*/3 * * * * /home/sergio/myscript.sh 

Pour la partie A, vous voudrez Cron. Tim Hoolihan en a un bon exemple dans sa réponse.

Pour la partie B, vous voudrez un script shell. Pour créer un, il suffit de créer un fichier texte qui commence par la ligne suivante:

 #!/bin/bash 

Ensuite, suivez cela avec des commandes comme si vous étiez dans le shell. (Astuce avancée: la syntaxe #! Fonctionne pour n'importe quel programme de ligne de commande, pas seulement bash .)

Une fois que cela est fait, enregistrez-le (il est recommandé d'utiliser une extension .sh, mais pas du tout nécessaire), accédez à votre shell et exécutez chmod ugo+x filename.sh , en remplaçant le nom de fichier réel, bien sûr. Cela fera en sorte que votre script puisse être exécuté.

Enfin, il suffit de mettre le script dans le crontab par la réponse de Tim.

J'espère que cela t'aides.

Dans le contexte des fichiers rsyncing, vous pouvez également le faire dès qu'il y a de nouveaux changements.

Regardez l' incron