AnglaisFrançaisEspagnol

Ad


Icône de favori OnWorks

plat - En ligne dans le Cloud

Exécutez le plat dans le fournisseur d'hébergement gratuit OnWorks sur Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

C'est le plat de commande qui peut être exécuté 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


plat - outil pour sysadmin parallèle de plusieurs hôtes

SYNOPSIS


plat [option] ... -e commander {-g fichier_hôtes | hôte_1 hôte_2 }
dicp {-g fichier_hôtes | -g "utilisateur@hôte_1 "} fichier_local :fichier_distant
dicp {-g fichier_hôtes | -g "utilisateur@hôte_1 "} :fichier_distant fichier_local

DESCRIPTION


plat - le shell diligence exécute des commandes sur plusieurs hôtes via ssh/rsh/telnet, et aussi
facilite la distribution de fichiers par scp/rcp, un changement de mot de passe à distance, etc. Il peut
traiter les hôtes en mode parallèle.

OPTIONS


-h Imprimer un message d'aide décrivant brièvement toutes les options de ligne de commande

-H, --aider
Aide complète comprenant des exemples

--version
Imprimer la version du programme et le message de copyright, puis quitter

-V Afficher le numéro de version et quitter

-C
Répertoire de configuration - $HOME/.dish est la valeur par défaut ; Dans ce répertoire se trouvent
les fichiers de configuration suivants : 'hosts', 'rests', 'pass' et 'options'. Lorsqu'elle est utilisée,
cette option doit être le premier argument de la chaîne de ligne de commande, ou être le deuxième
un si `-D' choisi ! Alternativement, on peut spécifier le répertoire de configuration en
définissant la variable d'environnement DISH_CONF.

-CC
Identique à « -C » avec retour à la valeur par défaut si la configuration locale n'est pas trouvée ; Cela signifie que,
au cas où les fichiers 'pass', 'options' ou 'rests' sont absents dans le répertoire donné,
mais de tels fichiers existent dans $HOME/.dish, ce dernier sera pris en compte. Le seul
l'exception est '$HOME/.dish/hosts' qui sera ignorée. L'utilisation de cette option est
équivaut à changer de répertoire pour celui choisi, puis à exécuter « dish ».

-c
Programme (alias "connecteur") et ses options permettant de se connecter à la télécommande
host(s) - par exemple "rsh", alors que le processus généré sera "rsh $host ".
Votre connecteur par défaut est « ssh ». De plus, en utilisant un client textuel pertinent
en tant que connecteur, on peut accéder à différents types d'hôtes - commutateurs, bases de données, etc.
sur.

-e
Commande à distance à exécuter ; Il peut également être défini par la variable d'environnement DISH_CMD.

-E
Exécutez la commande où la partie connexion est également spécifiée, par exemple "-E 'ssh $host
date'" qui est égal à "-e date". Cette option est incompatible avec '-c' et
`-e'. Il peut également être défini par la variable d'environnement DISH_FUEXE.

-t Forcer l'allocation de pseudo-tty dans ssh ; Cela se produit automatiquement en cas de mot de passe
changer.

-T
Délai d'expiration pour l'exécution de la commande - 30s par défaut (par hôte)

-TT
Délai d'expiration total pour l'exécution de la commande - 300 s par défaut (tous les hôtes) ; Cette option est
utile uniquement lorsque les hôtes sont traités en séquence et le temps de traitement total
ne doit pas dépasser la limite supérieure spécifiée.

-x
Expression régulière pour l'invite du shell ; Cette valeur spécifie quelle invite doit être
attendu dans le shell du programme après la connexion à un système par `telnet', `mysql',
`sqlplus' ou d'autres clients interactifs en ligne de commande (voir `-c'). La valeur par défaut
est `(%|\$|#|\>) ?$'.

-X
Expression régulière pour l'invite de mot de passe ; Il est insensible à la casse avec la valeur par défaut
valeur `Mot de passe : *$'.

-UN D
Expression régulière pour l'invite ssh pour ajouter une nouvelle clé d'hôte - `connexion
(oui/non) ?.*' est la valeur par défaut

-AC
Chaîne avec la réponse à l'invite ssh pour ajouter une nouvelle clé d'hôte - « oui » est la valeur par défaut

-g
Fichier avec la liste des hôtes/ips/comptes à cibler ; La commande sera exécutée le
ces cibles. Le fichier hôte par défaut est '$HOME/.dish/hosts' - normalement par ligne un
compte de la forme "user@host" (si ssh est votre choix pour le connecteur). Afin de
les listes de jointure utilisent l'option à plusieurs reprises. Alternativement, la variable d'environnement
DISH_HOSTS pourrait être utilisé pour définir les hôtes cibles alors que dans la chaîne spécifiée
ils doivent être séparés par des blancs. En combinant cette option avec `-r' ou `-i' vous
peut définir divers sous-ensembles d'hôtes/comptes ciblés.

-r
Fichier avec la liste des hôtes/comptes inactifs à exclure ; La valeur par défaut est
'$HOME/.dish/rests'. Un « hôte au repos » signifie un hôte qui sera exclu de la
cibles. La liste des hôtes au repos ou le nom du fichier peuvent également être spécifiés par le
variable d'environnement DISH_RESTS.

-i
Fichier avec la liste des hôtes/comptes à chevaucher avec les hôtes ciblés ; Il n'y a pas
fichier par défaut. Seuls les hôtes qui se chevauchent, tels que inclus dans cette liste et en même temps
temps défini comme cibles, sera traité.

-u
Nom d'utilisateur - la valeur par défaut est votre nom d'utilisateur local ; Il peut être défini aussi par le
variable d'environnement DISH_USER. En interne la valeur est accessible par la variable
$user (voir exemples). De plus, il n'est pas pertinent dans le cas où des comptes de la forme
"user@host" sont traités car ils incluent déjà le nom d'utilisateur.

-p
Mot de passe de connexion (-p "" = -pp = -a0) - alias "login authentique" ou "a0" ; Sinon
l'authentification pour la connexion est requise (aucune invite d'utilisateur et aucune invite de mot de passe n'apparaissent), alors
utilisez `/dev/null' comme mot de passe. Si le nom d'utilisateur est demandé, le mot de passe est un
chaîne vide, alors `/dev/empty' doit être donné comme mot de passe. La valeur de ce
L'option peut également être un fichier de mot de passe (voir `-P'). Finalement, on peut définir le
mot de passe par la variable d'environnement DISH_PASS.

-a
Mot de passe supplémentaire pour l'authentification (-a "" = -aa = -a1) - alias "first
authentique" ou "a1" ; Dans le processus de spawn, si un programme comme `smbmount', `su',
`ssh', etc. demande une authentification, le mot de passe a1 lui est transmis. Ce mot de passe
peut également être défini par la variable d'environnement DISH_PASS1.

-A
Un mot de passe de plus pour l'authentification (-A "" = -AA = -a2) - alias "second authentique"
ou "a2" ; Lorsqu'un processus généré, après une authentification par le mot de passe a1, demande
à nouveau pour un mot de passe, puis a2 est envoyé. Ce mot de passe peut également être défini par le
variable d'environnement DISH_PASS2.

-n
Nouveau mot de passe en cas de changement de mot de passe (-n "" = -nn = -ne)

-p0 Connexion sans authentification - identique à `-p /dev/null'

-p1 Définissez le mot de passe a1 pour qu'il soit le même que le mot de passe de connexion ; Cette option ne doit pas être
utilisé avec `-p0' et `-a1'. Voir l'exemple d) ci-dessous.

-P
Fichier avec mot de passe ; Le fichier de mot de passe par défaut est '$HOME/.dish/pass'. Ce doit être
lisible uniquement pour l'utilisateur (mode fichier 600 ou 700), sinon le programme se termine avec
erreur, mais voir aussi l'option suivante. Chaque ligne du fichier peut contenir une entrée de mot de passe
de la forme : "mot de passe:nom d'utilisateur:nom d'hôte", alternativement
"mot de passe:::nom d'utilisateur :::nom d'hôte" ou "mot de passe;;;nom d'utilisateur;;;nom d'hôte". On peut
spécifiez une liste d'hôtes séparés par le `,' ou ';' personnages. Expressions régulières
pour les noms d'hôtes sont également autorisés (voir les exemples de fichiers de configuration dans le
Distribution).

-m Ignorer les autorisations d'accès du fichier de mot de passe

-s [ ]
Traitement séquentiel des hôtes (mode par défaut) ; Si un intervalle de temps (mesuré en
secondes flottantes) est spécifié, alors le programme attend ce laps de temps
avant de commencer à traiter l'hôte suivant dans la séquence.

-F Processus de génération en arrière-plan - fourche et déconnexion ; De cette façon, tous les hôtes sont
traitées essentiellement en parallèle ! C'est une option très puissante - selon vous
Taille de la RAM et utilisation de la mémoire, cela ne devrait pas être un problème de traiter quelques-uns
des centaines d'hôtes en parallèle. Quoi qu'il en soit, soyez prudent - si vous avez trop d'hôtes sur
la liste, vous pourriez mettre votre système sous charge. Les stdout de l'arrière-plan
les processus sont redirigés vers '/dev/null', cependant vous pouvez utiliser '-l' ou '-L' pour écrire
la sortie vers des fichiers. Voir aussi 'bugs et problèmes connus' dans la page de manuel.

-f Générer des processus en arrière-plan sans se déconnecter de tty ; C'est la même chose que '-F'
alors que les sorties standard des processus générés sont envoyées au terminal. Également
le processus parent attend que ses enfants se terminent. Voir aussi 'bugs et problèmes connus'
dans la page de manuel.

-q Soyez silencieux - ignorez la sortie du spawn et de la connexion ; Lorsque vous travaillez avec le shell sécurisé, il
est également pratique d'utiliser `ssh' avec l'option `-q'.

-Q Soyez CALME - ignorez n'importe quelle sortie

-v Soyez verbeux (par défaut) - remplace `-q' et `-Q'

-l
Enregistrer la sortie de la commande dans un fichier ; La sortie des processus générés est ajoutée au
fichier.

-L
Ecrivez un journal séparé pour chaque hôte où désigne le nom de base du journal
déposer. Le nom complet d'un fichier journal est défini comme " _ .Journal".

-j Enregistrez la commande invoquée dans un fichier journal avec le nom « $HOME/.dish/journal » ;
Il conserve l'historique des commandes exécutées et leur heure d'exécution. Un
un identifiant unique est associé à chaque commande.

-J Enregistrez également la commande invoquée et les processus générés ; Écrivez dans le
journal la commande exécutée ainsi que les processus uniques générés et leur
temps d'exécution.

-o
Fichier avec les options de ligne de commande transmises au programme - la valeur par défaut est
'$HOME/.dish/options'; Les options doivent être écrites dans le fichier séparément - une par
ligne. A l'aide de ce fichier, on peut modifier la configuration standard : set up fork
par défaut, modifiez le connecteur par défaut, et ainsi de suite. Lorsque vous travaillez dans
"mode copie", c'est-à-dire en invoquant le programme comme 'dicp', '$HOME/.dish/options.dicp' est
considéré comme le fichier d'options par défaut.

-d activer la sortie de diagnostic de expect (regardez `man expect')

-D Mode de débogage (essai à sec) ; Imprimez les variables d'environnement, les noms de fichiers de configuration et
commandes à exécuter, puis quittez. Cette option doit être utilisée en premier dans la commande
ligne.

EXEMPLES


Vous devez considérer que les variables $host et $user sont évaluées. Ainsi $host change
dynamiquement sa valeur au nom d'hôte/de compte réel avant qu'un nouveau processus ne soit généré. Les
il en est de même pour $user.

a) Vérifiez la date et la disponibilité sur les hôtes 192.168.0.1 et 192.168.0.2

plat -e 'date \; temps de disponibilité' [email protected] [email protected]

b) Distribuez '.profile' et '.bashrc' aux comptes invités sur 'host1' et 'host2'

plat -E "scp $HOME/.profile $HOME/.bashrc guest@\$host :" host1 host2

or

dicp -e "$HOME/.profile $HOME/.bashrc guest@:" host1 host2

or

dicp -g "host1 host2" $HOME/.profile $HOME/.bashrc guest@ :

or

dicp -g "guest@host1 guest@host2" $HOME/.profile $HOME/.bashrc :

c) Copiez les fichiers '.profile' distants dans le répertoire local sur localhost

dicp -g "guest@host1 guest@host2 admin@host2" :.profile .profile.\$host

Ici, le nom du fichier cible (fichier local) inclura le nom du compte distant
afin que les fichiers locaux aient des noms uniques.

d) Utilisez `ssh' pour vous connecter sur 'host1' et copiez à partir de là '.profile' vers 'host2'

Comme la liste des hôtes ne peut pas être vide, un hôte factice est utilisé pour lancer le
traiter. L'option `-t' est nécessaire pour forcer l'allocation de pseudo-tty dans `ssh',
sinon `ssh' échouera avec une erreur lors de la connexion. Un deuxième mot de passe (a1-password) est
requis pour l'authentification scp sur 'host2' :

plat -a '' -E 'ssh -t user1@host1 scp .profile user2@host2:' dummy_host

Dans le cas où le mot de passe de 'user1' et 'user2' est le même, il vous sera demandé uniquement
une fois pour un mot de passe de connexion pour user1@host1 si vous utilisez `-p1' :

plat -p1 -E 'ssh -t user1@host1 scp .profile user2@host2:' dummy_host

Ou de manière équivalente, et plus simple :

plat -p1 -t -e 'scp .profile user2@host2:' user1@host1

e) Remplacez les lignes par `START_XNTPD=' par `START_XNTPD="yes"' dans /etc/rc.config

Cette commande est exécutée en tant qu'utilisateur root sur chaque hôte répertorié dans 'Hosts.root' :

plat -u root -E 'ssh $user@$host "perl -pi -e
\"s/^START_XNTPD=.*\$/START_XNTPD=\\\"yes\\\"/g;\" /etc/rc.config"' -g Hosts.root

f) Geler les comptes des utilisateurs sur une liste de résiliation

En utilisant un script appelé `FreezeUser.sh', tous les comptes d'utilisateurs trouvés sur
'Terminate.User.lst' sera gelé aujourd'hui à 24h00 sur les deux groupes de serveurs comme
défini dans les fichiers 'Hosts.1' et 'Hosts.2' :

plat -E 'ssh root@$host "cat Terminate.User.lst | while read UN; do echo \"su -
admin -c \\\$HOME/bin/FreezeUser.sh \$UN\" | at 24:00 ; done"' -g Hosts.1 -g
Hôtes.2

g) Imprimer le fichier de configuration à distance d'un automounter

Connectez-vous en tant qu'utilisateur 'admin' sur l'hôte 192.168.0.1, passez à 'root', puis cat le fichier
'/etc/auto.net' et imprimez la date. L'option `-a' amène le programme à demander
vous pour le mot de passe root sur l'hôte distant :

plat -u admin -a '' -E 'rsh -l $user $host su - root -c \"cat /etc/auto.net\;
date\"' 192.168.0.1

h) Installer un paquet sur les hôtes Debian GNU/Linux

Après avoir monté un serveur de fichiers sur samba, installez à partir de là un paquet plat debian sur
tous les serveurs en cours d'exécution, mais ignorez les hôtes lors de la maintenance. Trois mots de passe différents sont
nécessaire pour l'authentification - un pour la connexion, le suivant pour la racine su et le dernier pour
montage du serveur de fichiers :

plat -a0 -a1 -a2 -g Debian.up -r Debian.maint -e 'su - -c \"mount -t smbfs
//FILESERVER/Packages.Dir /mnt/smb ; dpkg -i /mnt/smb/dish_1.19.1_all.deb\"'

i) Vérifiez la charge du système > 2 à l'aide des fichiers de configuration « hôtes » et « passer » par défaut

plat '(uptime |egrep \" (\[2-9\]|1\[0-9\])\\.\" && hostname) |paste - -'

j) Interroger une base de données MySQL sur l'hôte distant 10.0.0.1

plat -pp -c 'mysql -p -u $user -h' -e 'use mysql; afficher les tableaux ; décrire l'utilisateur ;' -u
racine 10.0.0.1

k) Changer le mot de passe simultanément sur tous les hôtes/comptes

On suppose que la liste des comptes utilisateurs est contenue dans le fichier 'Accounts.lst',
alors qu'une entrée dans la liste est de la forme "user@hostname". Après la commande
l'exécution, il vous sera d'abord demandé le mot de passe de connexion (ancien mot de passe), puis
pour le nouveau mot de passe qu'il faudra éventuellement retaper correctement :

plat -p '' -n '' -e passwd -g Comptes.lst

Ou bien, en traitant simultanément et silencieusement tous les hôtes :

plat -pp -nn -f -Q -e passwd -g Comptes.lst

Lorsque vous souhaitez modifier le mot de passe et utiliser `-nn', le mot de passe a1 est implicitement
défini égal au mot de passe de connexion (a0-password).

l) Changer le mot de passe du compte 'root' (ne pas utiliser l'option '-a0')

Si vous allez changer le mot de passe root sur 'remotehost', essayez :

plat -nn -e passwd root@remotehost

Identique au précédent, mais connectez-vous en tant qu'utilisateur 'admin' (mot de passe de connexion), puis passez à
'root' (a1-password), et enfin mettre à jour le root-password :

plat -a1 -nn -e 'su -c passwd' admin@remotehost

Modification du mot de passe pour 'admin' sur 'localhost', après connexion en tant que 'root' via
`telnet', est fait par :

plat -nn -c telnet -u root -e 'passwd admin' localhost

Notez que pour le changement de mot de passe, lorsque `-p ""' (ou de manière équivalente `-a0' ou `-pp') n'est pas
explicitement utilisé, l'hypothèse est faite que `passwd' ne demandera pas l'ancien mot de passe,
comme en cas de changement de mot de passe par 'root'. Il en va de même si vous pouvez vous connecter à un
compte sans saisir de mot de passe, mais `passwd' vous invite à saisir l'ancien -
cette situation se produit lorsque l'on utilise une clé ssh pour se connecter sans
authentification par mot de passe. Pour un tel scénario, le bon choix d'options est `-p0 -aa -nn'.

En cas de fichiers de configuration correctement préparés dans '$HOME/.dish', on peut utiliser le plat comme un
shell distribué pour un cluster virtuel d'hôtes, et exécutez-le sans en spécifier
paramètres du programme mais en émettant simplement une commande, comme par exemple `dish df -k /' ou `dicp
.profil :'.

En dernier lieu, il faut savoir qu'en cas d'authentification par mot de passe,
le processus de connexion automatisé de plat est basé sur l'attente que l'invite de connexion envoie à
le terminal inclura la chaîne regex insensible à la casse « Mot de passe : *$ » (mais voir aussi
'-X'). Sinon, la procédure d'authentification échouera.

Utiliser le plat en ligne en utilisant les services onworks.net


Serveurs et postes de travail gratuits

Télécharger des applications Windows et Linux

  • 1
    Phaser
    Phaser
    Phaser est un open rapide, gratuit et amusant
    framework de jeu source HTML5 qui offre
    Rendu WebGL et Canvas à travers
    navigateurs Web de bureau et mobiles. Jeux
    peut être co...
    Télécharger Phaser
  • 2
    Moteur VASSAL
    Moteur VASSAL
    VASSAL est un moteur de jeu pour créer
    versions électroniques de la carte traditionnelle
    et jeux de cartes. Il fournit un soutien pour
    rendu et interaction des pièces de jeu,
    et...
    Télécharger le moteur VASSAL
  • 3
    OpenPDF - Fork d'iText
    OpenPDF - Fork d'iText
    OpenPDF est une bibliothèque Java pour créer
    et l'édition de fichiers PDF avec une licence LGPL et
    Licence open source MPL. OpenPDF est le
    LGPL/MPL open source successeur d'iText,
    un ...
    Télécharger OpenPDF - Fork d'iText
  • 4
    SAGA SIG
    SAGA SIG
    SAGA - Système d'automatisation
    Analyses géoscientifiques - est un
    Logiciel de système d'information (SIG) avec
    immenses capacités pour les géodonnées
    traitement et an...
    Télécharger le SIG SAGA
  • 5
    Boîte à outils pour Java/JTOOpen
    Boîte à outils pour Java/JTOOpen
    IBM Toolbox for Java / JTOpen est un
    bibliothèque de classes Java prenant en charge
    programmation client/serveur et internet
    modèles vers un système exécutant OS/400,
    i5/OS, ou...
    Télécharger Toolbox pour Java/JTOpen
  • 6
    D3.js
    D3.js
    D3.js (ou D3 pour les documents pilotés par les données)
    est une bibliothèque JavaScript qui vous permet
    produire des données dynamiques et interactives
    visualisations dans les navigateurs Web. Avec D3
    toi...
    Télécharger D3.js
  • Plus "

Commandes Linux

Ad