|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
En attente de confirmation mail
Inscription : janvier 2005 Messages : 98 ![]() |
Bonjour
Est-il possible de definir une tache qui s'execute toutes les secondes j'ai essayé d'utiliser crontab mais sa resolution est de 1 minute j'au besoin de de faire un sync toutes les secondes pour eviter de perdre des donnes si un utilisateur debranche sa cle USB sans la demonter |
|
|
00
|
|
|
#2 |
![]() ![]() R&D en systemes informatiques bas niveau Unix/Linux Inscription : mai 2004 Messages : 5 497 ![]() |
Bonjour,
Si tu fais une synchronisation toutes les secondes, tu risques plusieurs choses :
Solutions :
Enfin, saches que si l'utilisateur enlève sa clef USB sans démonter le volume, il y a de grandes chances pour qu'il flingue sa clef rapidement (surtout s'il l'enlève pendant une écriture). Donc dans un tel cas, tant pis pour lui : il a perdu ses données, c'est bien fait. Sinon, pour répondre à ta question, il n'est pas possible d'exécuter une tache toutes les secondes via la crontab. En revanche, c'est possible via un script ou via un programme (c'est même assez simple à faire), mais encore une fois, c'est plus que fortement déconseillé. |
|
|
00
|
|
|
#3 |
|
Membre habitué
![]() |
Dans les normes , si mes souvenirs sont bons, tu dois attendre 5 secondes avant de retirer ta clé usb. Ceci pour eviter de perdre er ta clé et tes données
Comme dit plus haut , une sauvegarde locale et des plus conseillée
__________________
___________________________________________ Ils ne savaient pas que c'était impossible, alors ils l'ont fait |
|
|
00
|
|
|
#4 | ||
|
Expert Confirmé Sénior
![]() francois Ingénieur systèmes et réseaux Inscription : juillet 2006 Messages : 3 546 ![]() |
le temps le plus court possible entre deux exécutions du même traitement est sa propre durée.....bref le lancer toutes les secondes est débile si il est amené à durée parfois 8-10secondes...même si tu estime sa moyenne à moins de 1seconde !!!
admettons que ton traitement dure 1seconde pile en moyenne ça veut dire qu'il dure au moins 8 seconde 3à4 fois dans une semaine (604800 secondes ne définit donc pas 604800 exécutions mais peut être que 604000....) la seule solution consiste donc à relancer en permanence la tache dès que celle ci est terminée. car c'est le temps le plus court possible entre deux exécutions, il n'est pas mathématiquement possible de faire plus court. cela se fait dans l'inittab (/etc/inittab) exemple Code :
là seulement est la solution, en particulier pour des copies de sauvegardes ou des manipulations de fichiers, qui par définition durent des temps extrêmement variables, (du simple au double), puisque dépendant de la disponibilité du bus matériel ! De plus ton idée de lancer toutes les secondes est aberrante en terme de méthode, ça pourrait entrainer des gros problème de disponibilité de bus matériel et donc provoquer des time-outs d'I/O sur des médias et planter des softs sans avoir pu enregistrer les données ni refermer les fichiers ouverts. |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com