Il s'agit de la commande cook_rsh 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
cuisinier - équilibrage de charge rsh
SYNOPSIS
cuire [ option...] architecture commander [ argument...]
cuire -Aidez-moi
DESCRIPTION
VOTRE cuire le programme est un wrapper rsh(1) qui effectue un simple équilibrage de charge. il obtient
ses informations de charge en exécutant le claquer(1) commande, et sélectionne l'hôte le plus approprié
hased sur l'architecture que vous spécifiez, et la moindre charge de tous les hôtes de cette
architecture.
Le premier argument de la ligne de commande est le nom de l'architecture qui est utilisé pour obtenir la liste des
hôtes possibles. De cette liste le claquer(1) la commande est exécutée pour déterminer l'hôte avec le
charge la plus faible, qui est à son tour utilisée comme premier argument de l'éventuelle rsh(1) commande.
LIVRES DE CUISINE
Afin d'utiliser ce programme, quelque part dans votre livre de cuisine, vous devez ajouter une ligne
qui lit
parallel_rsh = "cuisiner";
Si l'hôte choisi est le même que l'appelant (construire l'hôte), alors ce programme exécute simplement le
commande en sautant le rsh. Cela ne coûte donc rien de l'utiliser dans un réseau à une machine !
Pour chaque recette que vous souhaitez distribuer à un hôte distant, vous devez ajouter un host-binding
attribuer à. L'utilisation typique est celle où vous avez une construction multi-architecture.
%1/%0%.o : %0%.c
liaison à l'hôte %1 {
cc -o [cible] -c [résolution de %0%.c] ; }
Dans la recette donnée ici, chaque architecture a ses fichiers objets placés dans un
arborescence de répertoires spécifique à l'architecture. Le nom de l'architecture (%1) est utilisé dans l'hôte-
liaison, de sorte que les compilations puissent être équilibrées en charge sur toutes les machines de cette architecture.
Si vous avez besoin qu'une commande s'exécute sur un hôte spécifique (par exemple, parce que c'est là qu'un
réside la licence de l'application), puis utilisez simplement le nom d'hôte dans la liaison à l'hôte
plutôt qu'un nom d'architecture.
DÉFINIR L' HORAIRE
VOTRE /host_lists.pl devrait exister et contenir des définitions de variables utilisées pour
déterminer si les hôtes sont membres d'architectures particulières.
VOTRE /host_lists.pl définit un perl HOL "hachage de listes" Le hachage est %ArchNames et il
mappe les noms d'architectures comme l'utilisateur veut les voir, pour répertorier les références comme les véritables
les listes sont stockées.
Les noms de chaque architecture peuvent prendre n'importe quelle forme, mais la convention est d'utiliser
les noms GNUish tels que "sparc-sun-solaris2.8".
Pour chaque architecture, définissez une ou plusieurs listes de machines selon quelle fonction
chaque ensemble de machines peut faire. Cela peut être aussi simple ou aussi élaboré que nécessaire. La forme de
le nom de la variable de liste peut être n'importe quel identifiant perl valide mais peut tout aussi bien être comme le
le nom de l'architecture avec le tiret a été remplacé par la barre de soulignement et le point supprimé, et le type a été ajouté. Pour
Par exemple, on pourrait définir les hôtes solaris comme :
@sparc_sun_solaris28_hosts = (
"mickey", "minny", "scrooge" );
Et les hôtes Linux en tant que :
@i386_linux22_hosts = (
"goofy", "scrooge" );
S'il est nécessaire de définir différents ensembles de machines pour différents types de travaux, alors
ajouter un suffixe aux noms dans le liaison à l'hôte directive sur chacune des recettes, et
listes ici avec le même suffixe.
Le hachage pour mapper les noms d'arguments aux listes est défini comme :
%ArchNames = (
"sparc-solaris2.8", => @sparc_solaris28_hosts,
"i586-unknown-linux22", => @i386_linux22_hosts, );
Bien sûr, si les utilisateurs ont des opinions divergentes sur ce à quoi devraient ressembler les noms d'architecture
comme, vous pouvez également définir des mappages "d'alias".
"sun4-SunOS-5.8", => @sparc_solaris28_hosts,
Ou peut-être que le niveau n'a pas d'importance, alors définissez
"sparc-solaris", => @sparc_solaris28_hosts,
"sparc-solaris2.7", => @sparc_solaris28_hosts,
De plus, cette liste ne doit pas être vide.
Et enfin, avec la permission de Perl, la dernière ligne du fichier doit être lue
1; pour des raisons obscures et magiques.
SYSLOG Journalisation
Les commandes typiques vues lors d'une construction ressembleraient à
sh -c 'cd /aegis/dd/gumby2.2.C079 && \ sh -ce /aegis/dd/gumby2.2.C079/.6.1; \
écho $? > /aegis/dd/gumby2.2.C079/.6.2'
Nous pouvons donc extraire le projet/modification de la commande assez facilement et le consigner via
syslog serait un ajout trivial.
OPTIONS
Cette commande n'a généralement pas d'options.
-h Aide - afficher les informations d'utilisation
-vP Verbeux - rapport au choix
-Tn Valeur de trace pour le test
Utilisez cook_rsh en ligne à l'aide des services onworks.net