Il s'agit de la commande mirmon qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS
PROGRAMME:
Nom
mirmon - surveiller l'état des miroirs
SYNOPSIS
mirmon [-v] [-q] [-t timeout] [-c conf] [-get all|update|url url]
OPTIONS
-v Soyez verbeux ; miroiter normalement ne signale que les erreurs et les changements dans la liste des miroirs.
-q Soyez silencieux.
-t temps mort
Définir le délai d'attente ; la valeur par défaut est 300.
-obtenir tous | mise à jour | URL
et tous, sondez tous les sites. Avec Mise à jour, sonder une sélection de sites ; voir option
"max_poll" ci-dessous. Avec url, ne sondez que les données url, qui doit figurer dans le
liste-miroir.
-c nom
Utiliser le fichier de configuration nom. La liste par défaut est
./mirmon.conf $HOME/.mirmon.conf /etc/mirmon.conf
UTILISATION
Le programme est destiné à être exécuté par cron toutes les heures.
42 * * * * perl /chemin/vers/mirmon -get update
Il sonde discrètement un sous-ensemble des sites d'une liste donnée, écrit les résultats dans l'état
fichier et génère une page Web avec les résultats. Le sous-ensemble contient les sites qui sont
neuf, défectueux et/ou non sondé pendant une durée spécifiée.
Lorsqu'aucune option 'get' n'est spécifiée, le programme génère simplement une nouvelle page Web à partir de la dernière
état connu.
Le programme vérifie les miroirs en exécutant un programme (spécifié par l'utilisateur) sur un canal. Un utilisateur
spécifié) le nombre de sondes est exécuté en parallèle à l'aide d'E/S non bloquantes. Quand quelque chose peut être
lu à partir du tuyau, il fait passer le tuyau en E/S bloquantes et lit une ligne à partir du tuyau.
Ensuite, il rince et ferme le tuyau. Aucune tentative n'est faite pour tuer la sonde.
La sonde devrait renvoyer quelque chose qui ressemble à
1043625600 ...
c'est-à-dire une ligne de texte commençant par un horodatage. L'état de sortie de la sonde est
ignoré.
CONFIG DOSSIER
Localisation
Un fichier de configuration peut être spécifié avec l'option -c. Si -c n'est pas utilisé, le programme regarde
pour un fichier de configuration dans
· ./mirmon.conf
· $HOME/.mirmon.conf
· /etc/mirmon.conf
syntaxe
Un fichier de configuration ressemble à ceci :
+---------------------------------------------------------------- -
|# les lignes commençant par '#' sont des commentaires
|# lignes vides sont également ignorées
|# tabulations sont remplacées par un espace
|
|# les entrées de configuration sont des paires 'clé' et 'valeur'
|# une 'clé' commence dans la colonne 1
|# la 'valeur' est le reste de la ligne
|une touche A_val B_val ...
|autre clé X_val Y_val ...
|
|# lignes indentées sont collées
|# les trois lignes suivantes signifient 'somekey part1 part2 part3'
|une partie clé1
| partie 2
| partie 3
|
|# lignes commençant par un '+' sont concaténées
|# les trois lignes suivantes signifient 'somekey part1part2part3'
|une partie clé1
|+ partie2
|+ partie3
|
|# lignes commençant par un '.' sont collés aussi
|# n'utilise pas de '.' sur une ligne par lui-même
|# 'somekey' obtient la valeur "part1\n part2\n part3"
|une partie clé1
|. partie 2
|. partie 3
+---------------------------------------------------------------- -
conditions entrées
nom du projet nom
Spécifiez un nom court en texte clair pour le projet.
nom_projet Apache
nom_projet CTAN
URL_projet url
Spécifiez une URL pointant vers le « accueil » du projet.
URL_projet http://www.apache.org/
liste_miroir nom de fichier
Spécifiez le fichier contenant les miroirs à sonder.
liste_miroirs /chemin/vers/liste-miroirs
Si votre liste de miroirs est générée par un programme, utilisez
liste_miroir /chemin/vers/programme arg1 ... |
Deux formats sont supportés :
· plaine : lignes comme
us http://www.tux.org/ [e-mail] ...
nl http://apache.cs.uu.nl/dist/ [e-mail] ...
nl rsync://archive.cs.uu.nl/apache-dist/ [courriel] ...
· apache : lignes comme celles d'apache mirrors.list
ftp nous ftp://ftp.tux.org/pub/net/apache/dist/ [email protected] ...
http nl http://apache.cs.uu.nl/dist/ [email protected] ...
Notez que dans le style 'plain' le troisième élément est réservé à une adresse e-mail facultative :
l'adresse de contact du site.
Spécifiez le format requis avec l'option "list_style" (voir ci-dessous). Le style par défaut
est 'simple'.
page Web nom de fichier
Spécifiez où la page de rapport html est écrite.
icônes nom-répertoire
Précisez le répertoire où se trouvent les icônes, par rapport au page Web, ou
par rapport au DOCUMENTROOT du serveur web.
Si/quand le page Web vit dans le répertoire ".../mirmon/" et les icônes vivent dans le répertoire
".../mirmon/icons/", précisez
icônes icônes
Si/quand les icônes vivent dans "/path/to/DOCUMENTROOT/icons/mirmon/", précisez
icônes /icônes/mirmon
sonde programme + arguments
Spécifiez le programme+args pour sonder les miroirs. Exemple:
sonde /usr/bin/wget -q -O - -T %TIMEOUT% -t 1 %URL%TIME.txt
Avant le démarrage du programme, %TIMEOUT% et %URL% sont remplacés par le bon
valeurs de délai d'attente et d'URL.
Ici, on suppose que chaque heure, le serveur racine écrit un horodatage dans
/path/to/archive/TIME.txt, par exemple avec une entrée crontab comme
42 * * * * perl -e 'print time, "\n"' > /path/to/archive/TIME.txt
Mirmon lit une ligne de sortie de la sonde et interprète le premier mot sur cette
ligne comme horodatage ; par exemple :
1043625600
1043625600 Lun. 27 janv. 00:00:00 2003
1043625600 www.apache.org Lun. 27 janv. 00:00:00 2003
Mirmon est distribué avec un programme "probe" qui gère les URL ftp, http et rsync.
Etat nom de fichier
Spécifiez où le fichier contenant l'état est écrit.
Le programme lit ce fichier au démarrage et écrit le fichier lorsque les miroirs sont sondés
(-get est spécifié).
Pays nom de fichier
Précisez le fichier contenant les codes pays ; Le fichier doit contenir des lignes comme
nous - États-Unis
nl - Pays-Bas
Le package mirmon contient une liste ISO récente.
Faux des domaines comme Backup, Master sont autorisés, et sont listés en premier dans le rapport ;
faux domaines en minuscules (comme sauvegarde) sont répertoriés en dernier.
facultatif entrées
max_sondes nombre
Spécifiez éventuellement le nombre de sondes parallèles (25 par défaut).
temps mort secondes
Spécifiez éventuellement le délai d'attente pour les sondes (par défaut 300).
Après le démarrage de la dernière sonde, le programme attend + 10 secondes, nettoie
vers le haut et sorties.
logo_projet logo
Précisez éventuellement (le SRC de l'IMG de) un logo à placer en haut à droite de la page.
logo_projet /icons/apache.gif
logo_projet http://www.apache.org/icons/...
htm_head html
Spécifiez éventuellement du code HTML à placer avant .
htm_head
htm_top html
Spécifiez éventuellement du code HTML à placer près du haut de la page.
htm_top test 1, 2, 3
htm_pied html
Spécifiez éventuellement le code HTML à placer près du bas de la page.
htm_pied
put_histo haut|bas|nulle part
Spécifiez éventuellement où l'histogramme d'âge doit être placé. La valeur par défaut est « haut ».
min_sondage spéc-temps
Pour 'min_poll' voir l'élément suivant. UNE spéc-temps est un nombre suivi d'une unité 's'
(secondes) ou « m » (minutes) ou « h » (heures) ou « d » (jours). Par exemple « 3d » (trois
jours) ou '36h' (36 heures).
max_sondage spéc-temps
Spécifiez éventuellement l'intervalle de sonde maximal. Lorsque le programme est appelé avec l'option
'-get update', tous les sites sont sondés qui sont :
· Nouveau
le site apparaît dans la liste, mais il n'y a pas d'état connu
· mauvais
la dernière sonde du site a échoué
· vieille
la dernière sonde remonte à plus de 'max_poll'.
Les sites ne sont pas sondés si la dernière vérification date de moins de 'min_poll'. Alors, si vous
spécifier
min_sondage 4h
max_sondage 12h
les sites « accessibles » sont sondés deux fois par jour et les sites « inaccessibles » sont sondés à
la plupart six fois par jour.
La valeur par défaut 'min_poll' est '1h' (1 heure). La valeur par défaut 'max_poll' est '4h' (4 heures).
min_sync spéc-temps
Spécifiez éventuellement la fréquence à laquelle les miroirs sont requis pour effectuer une mise à jour.
La valeur par défaut 'min_sync' est '1d' (1 jour).
max_sync spéc-temps
Spécifiez éventuellement l'intervalle de synchronisation maximal autorisé.
Les sites dépassant la limite seront considérés comme « anciens ». La valeur par défaut 'max_sync' est '2d' (2
journées).
toujours_obtenir région ...
Spécifiez éventuellement une liste de régions qui doivent toujours être sondées.
Always_get Maître Tier1
Ceci est destiné à faux régions comme Master et ainsi de suite
non_randomize
Mirmon essaie d'équilibrer la charge de la sonde sur les exécutions horaires de mirmon. Si le courant
run a un nombre de miroirs inférieur à la moyenne à sonder, mirmon en sonde quelques-uns supplémentaires,
miroirs choisis au hasard, choisis parmi les pistes qui ont la charge la plus élevée.
Si vous ne voulez pas ce comportement, utilisez non_randomize.
no_add_slash
Si la partie url d'une ligne dans la mirror_list ne se termine pas par une barre oblique ('/'), mirmon ajoute
une barre oblique et émet un avertissement à moins qu'il ne soit en mode silencieux.
Si vous ne voulez pas ce comportement, utilisez no_add_slash.
list_style simple | apache
Spécifiez éventuellement le format ('plain' ou 'apache') de la liste miroir.
Voir la description de 'mirror_list' ci-dessus. Le list_style par défaut est 'plain'.
URL du site site url
Spécifiez éventuellement une URL de remplacement pour un site.
Lorsque l'accès à un site est restreint (en Australie par exemple), un autre (parfois
secret) peut être utilisé pour sonder le site. Les d'une URL est la partie entre
'://' et le premier '/'.
env clé valeur
Spécifiez éventuellement une variable d'environnement.
comprennent nom de fichier
Spécifiez éventuellement un fichier à inclure.
Le fichier spécifié est traité 'in situ'. Une fois le fichier spécifié lu et
traité, le traitement de la configuration est repris dans le fichier où le "include" a été
rencontré. La profondeur d'inclusion est illimitée. Cependant, c'est une erreur fatale d'inclure
un fichier deux fois sous le même nom.
montrer
Lorsque le processeur de configuration rencontre la commande 'show', il vide le contenu du
configuration actuelle à se démarquer, si l'option "-v" est spécifiée. Ceci est destiné à
débogage.
sortie
Lorsque le processeur de configuration rencontre la commande 'exit', il termine le programme.
Ceci est destiné au débogage.
ETAT DOSSIER Format
Le fichier d'état se compose de lignes ; une ligne par site. Chaque ligne est constituée d'un espace blanc
champs séparés. Les sept champs sont :
· champ 1 : url
L'url telle qu'elle est indiquée dans la liste des miroirs.
· champ 2 : âge
L'horodatage du miroir trouvé par la dernière sonde réussie, ou 'undef' si aucune sonde n'a été
jamais réussi.
· champ 3 : état dernière sonde
L'état de la dernière sonde, ou 'undef' si le miroir n'a jamais été sondé.
· champ 4 : heure de la dernière sonde réussie
L'horodatage de la dernière sonde réussie ou « undef » si le miroir n'a jamais été
sondé avec succès.
· champ 5 : historique de la sonde
L'historique de la sonde est une liste de caractères 's' (pour le succès) et 'f' (pour l'échec)
indiquant le résultat de la sonde. De nouveaux résultats sont ajoutés chaque fois que le miroir est
sondé.
· champ 6 : historique de l'état
L'historique de l'état se compose d'un horodatage, d'un caractère « - » et d'une liste de caractères indiquant
un statut passé : 's' (frais), 'b' (vieux), 'f' (vieux), 'z' (mauvais) ou 'x' (sauter). Les
timestamp indique quand l'historique de l'état a été mis à jour pour la dernière fois. L'état actuel de
le miroir est déterminé par l'âge du miroir et quelques paramètres de configuration
(min_sync, max_sync, max_poll). L'historique de l'état est mis à jour lorsque le miroir est
sondé. Si la dernière mise à jour de l'historique remonte à moins de 24 heures, le dernier statut
est remplacé par l'état actuel. Si la dernière mise à jour de l'historique était supérieure à 24
il y a quelques heures, l'état actuel est ajouté à l'historique. Un ou plusieurs "sauts" sont
inséré, si l'horodatage date de deux jours ou plus (lorsque mirmon n'a pas fonctionné pendant plus
plus de deux jours).
· champ 7 : dernière sonde
L'horodatage de la dernière sonde, ou 'undef' si le miroir n'a jamais été sondé.
INSTALLATION
général
· Remarque : le fichier d'état (vide) doit exister avant l'exécution de mirmon.
· Le référentiel mirmon est ici :
https://svn.science.uu.nl/repos/project.mirmon/trunk/
· Le tarball de mirmon est ici :
http://www.staff.science.uu.nl/~penni101/mirmon/mirmon.tar.gz
installation suggestions
Pour installer et configurer mirmon, procédez comme suit :
· Tout d'abord, faites le webdir :
cd RACINE DU DOCUMENT
mkdir mirmon
Pour RACINE DU DOCUMENT, remplacez le chemin d'accès complet de la racine du document de votre serveur Web.
· Consultez le référentiel mirmon :
cd /usr/local/src
svn checkout REPO mirmon
où
REPO = https://svn.science.uu.nl/repos/project.mirmon/trunk/
ou téléchargez le package et décompressez-le.
· Chdir vers le répertoire mirmon :
CD Mirmon
· Créer le fichier d'état (vide) :
touche état.txt
· Installez les icônes dans le webdir :
mkdir DOCUMENTROOT/mirmon/icones
cp icônes/* DOCUMENTROOT/mirmon/icônes
· Créer une liste de miroirs « mirror_list » ;
Utilisez votre éditeur préféré ou générez la liste à partir d'une base de données existante.
nl http://archive.cs.uu.nl/your-project/ [email protected]
uk http://mirrors.this.org/your-project/ [email protected]
us http://mirrors.that.org/your-project/ [email protected]
Les adresses e-mail sont facultatives.
· Créez un fichier de configuration mirmon "mirmon.conf" avec votre éditeur préféré.
# les lignes doivent commencer dans la première colonne ; pas d'espace blanc au début
nom du projet ....
URL_projet ....
liste_miroir liste_miroir
état état.txt
pays country.list
page_web DOCUMENTROOT/mirmon/index.html
icônes /mirmon/icônes
sonde /usr/bin/wget -q -O - -T %TIMEOUT% -t 1 %URL%TIME.txt
Cela suppose que l'horodatage du projet se trouve dans le fichier "TIME.txt".
· Si vous avez des URL rsync, remplacez la ligne de sonde par :
sonde perl /usr/local/src/mirmon/probe -t %TIMEOUT% %URL%TIME.txt
· Exécuter mirmon :
perl mirmon -v -obtenir tout
Le rapport mirmon devrait maintenant être dans 'DOCUMENTROOT/mirmon/index.html'
http://www.your.project.org/mirmon/
· Si/quand, à une date ultérieure, vous souhaitez mettre à jour mirmon :
cd /usr/local/src/mirmon
état svn -u
svn up
Utiliser mirmon en ligne en utilisant les services onworks.net
