Comment inclure une minuterie dans des Scripts Bash?
Bonne journée! Est-il possible d'inclure un timer (timestamp?ou quel que soit le terme qu'elle soit) dans un script à l'aide de bash? Comme par exemple; toutes les 60 secondes, une fonction vérifie si l'internet est en panne, si c'est le cas, il se connecte au wifi de l'appareil à la place, et vice versa. En bref, le programme vérifie la connexion à internet de temps en temps.
Des suggestions/réponses sera apprécié. =)
OriginalL'auteur Suezy | 2009-08-04
Vous devez vous connecter pour publier un commentaire.
Blunt version
En utilisant le sommeil lui-même comme condition de boucle permet de sortir de la boucle en tuant le sommeil (c'est à dire si c'est un processus d'arrière-plan, ctrl-c).
Si nous parlons quelques minutes ou quelques heures d'intervalles, cron va sans doute faire un meilleur travail que Montecristo souligné.
les appels de fonction ne devrait pas avoir de parenthèses à la fin.
absolument correct, que la déclaration devrait, je vais changer ça...
OriginalL'auteur falstro
Vous voudrez peut-être faire un homme cron.
Ou si vous avez juste à coller à bash vient de mettre de l'appel de fonction à l'intérieur d'une boucle et sleep 60 à l'intérieur de l'itération.
OriginalL'auteur Alberto Zaccagni
Vous trouverez ici un script que vous pouvez utiliser, d'abord ajouter une entrée à votre tâche cron comme ceci:
$ sudo crontab -e
* * * * * /chemin/vers/votre/switcher
C'est la méthode simple qui résident sur le ping vivante serveur en permanence, à chaque minute, si le serveur n'est pas joignable, il va passer à la deuxième routeur défini ci-dessous.
sûrement il y a de mieux, pour exploiter ce problème.
$ cat > switcher
Cela semble être la meilleure solution en tant que cron est conçu pour ce genre de tâche. Faire quelque chose (c'est à dire un script) sur certains reproductible temps de retard.
Je pense que le script manquer pour détecter automatiquement le routeur par défaut, mais pense que je l'ai trouvé
Vraiment, je pense que l'on doit enseigner comment pêcher, l'utilisation finale de c'est CTRL+C CTRL+V... à mon humble avis ^^
Je n'ai pas tester, mais je pense que pour que cela fonctionne 🙂
OriginalL'auteur Ali Mezgani
J'ai aimé William réponse, parce qu'elle n'a pas besoin d'interrogation. Donc, j'ai mis en place le script suivant, basé sur son idée. On contourne le problème ce contrôle a pour revenir au shell.
OriginalL'auteur drizzd
Vous pouvez faire quelque chose comme ce qui suit, mais il n'est pas fiable:
Un problème avec cette technique est que le piège ne prendra pas effet jusqu'à ce que la tâche en cours renvoie à l'interpréteur de commandes (par exemple, remplacer le sommeil 1 avec le sommeil, 10). Si la coque est en contrôle la plupart du temps (par exemple, si toutes les commandes qu'il appelle prendra fin rapidement), cela peut fonctionner. Une option bien sûr, est de tout faire dans le fond.
OriginalL'auteur William Pursell
Créer un script bash qui vérifie si la connexion internet est en panne et ajouter le script dans la crontab tâche qui s'exécute toutes les 60 secondes.
OriginalL'auteur David Aleu