Commande dcp

Objectif

Exécute des commandes simultanément sur plusieurs noeuds et unités matérielles.

Syntaxe

dcp [-h] [-V] [-q] [-a] [--all-nodes liste_contexte] [-A] [--all-devices liste_contexte] [-n liste_noeud] [-N groupe_noeuds] [-d liste_unités] [-D devicegroups] [-C context] [-f fanout] [-l ID_utilisateur] [-o options_noeud] [-O options_unité] [-p] [-P] [-Q] [-r node_remote_copy] [--device-rcp copie_distant_périphérique] [-R] [-t délai d'attente] [-X liste_env] [-T] [-v] fichier_source... chemin_cible

Descriptif

La commande dcp copie simultanément des fichiers vers ou depuis des noeuds cible distants, des unités matérielles ou les deux. Les cibles peuvent être sélectionnées dans plusieurs contextes. Un contexte est une base de données cible qui contient des définitions de noeuds et d'unités, telles que NIM. La commande dcp émet une commande de copie à distance pour chaque noeud ou unité spécifié. Lorsque des fichiers sont extraits d'une cible, ils sont placés dans target_path avec le nom du noeud ou de l'unité distant qui est ajouté au nom source_file copié. La commande /usr/bin/rcp est le modèle de syntaxe et de sécurité. La commande dcp est un utilitaire DSM Distributed Shell. Les paramètres de configuration et d'environnement de dsh ont un impact sur le comportement de dcp. Pour plus de détails, voir la commande dsh .

Paramètres

Tableau 1. Paramètres
Article Descriptif
CONTEXTE CIBLE La spécification de contexte cible est identique pour les commandes dcp et dsh . Voir le contexte cible dans la page d'aide dsh pour plus de détails sur la spécification des contextes pour la commande dcp .
SPÉCIFICATION DE L'OBJECTIF La spécification cible est identique pour les commandes dcp et dsh . Voir la page d'aide dsh pour plus de détails sur la spécification de cibles pour la commande dcp .
LISTES DE CIBLES La syntaxe de la liste cible est identique pour les commandes dcp et dsh .
Utilisateur distant Un ID_utilisateur peut être spécifié pour la commande de copie à distance. La spécification de l'utilisateur distant est identique pour les commandes dcp et dsh .
COMMANDE DE COPIE À DISTANCE La commande dcp utilise une commande de copie à distance configurable pour exécuter des commandes à distance sur des cibles distantes. La prise en charge est explicitement fournie pour la commande AIX® Remote Shell rcp , la commande OpenSSH scp et la commande rsync . Pour les cibles de noeud, la commande de copie à distance est déterminée en utilisant les paramètres dans l'ordre de priorité:
  1. L'indicateur -r .
  2. La variable d'environnement 'DCP_NODE_RCP
  3. La commande /usr/bin/rcp .
Pour les cibles d'unité, le shell distant est déterminé par l'ordre de priorité suivant:
  1. L'indicateur --device-rcp .
  2. La variable d'environnement 'DCP_DEVICE_RCP
  3. Commande de copie à distance de l'unité par défaut, telle que définie par le contexte cible.
  4. Attribut RemoteCopyCmd défini pour la cible d'unité.
La commande de copie à distance est spécifiée avec un indicateur de ligne de commande ou une variable d'environnement à l'aide de la syntaxe suivante:
[context:]path[,[context:]path]... 
chemin est le chemin d'accès à la commande de copie à distance et contexte: identifie le contexte de la commande de copie à distance à utiliser pour la copie des fichiers. Un chemin de commande de copie à distance spécifié sans contexte s'applique à tous les autres contextes dans lesquels un chemin de commande de copie à distance explicite n'est pas spécifié dans la liste. Les options de commande de copie à distance peuvent être configurées à l'aide d'indicateurs de ligne de commande ou de variables d'environnement. Pour les cibles de noeud, les options de la commande de copie à distance sont déterminées par l'ordre de priorité suivant:
  1. L'indicateur -o .
  2. La variable d'environnement 'DCP_NODE_OPTS
Pour les cibles d'unité, les options de la commande de copie à distance sont déterminées par l'ordre de priorité suivant:
  1. L'indicateur -O .
  2. La variable d'environnement 'DCP_DEVICE_OPTS
Les options de la commande de copie à distance sont spécifiées à l'aide de la syntaxe suivante:
[context:]"options"[, [context:]"options"]...
options sont les options de la commande de copie à distance et context: identifie le contexte des options du shell distant à utiliser pour la copie des fichiers. Les options spécifiées sans contexte s'appliquent à tous les autres contextes dans lesquels des options explicites n'ont pas été spécifiées dans la liste. Les options doivent être spécifiées entre guillemets ("") pour les distinguer des options dcp .
Exécution de commande Spécifie les processus de commande de copie à distance simultanés (fanout) qui peuvent être spécifiés avec l'indicateur '-f ou la variable d'environnement 'DSH_FANOUT La distribution est limitée uniquement par le nombre de commandes shell distantes pouvant être exécutées en parallèle. Vous pouvez expérimenter la valeur " DSH_FANOUT sur votre serveur de gestion pour voir si des valeurs plus élevées sont appropriées. Un délai d'attente pour l'exécution de la commande de copie à distance peut être spécifié avec l'indicateur '-t ou la variable d'environnement 'DSH_TIMEOUT Si une cible distante ne répond pas dans le délai imparti, la commande " dcp affiche un message d'erreur et quitte le système. L'indicateur " -T fournit des informations de diagnostic pour l'exécution de la commande " dcp Les paramètres par défaut et les commandes de copie à distance réelles exécutées sur les cibles distantes sont affichés. La commande " dcp peut être exécutée silencieusement en utilisant l'indicateur " -Q; aucune sortie standard cible ou erreur standard n'est affichée.
Les paramètres de cette variable sont les suivants:
fichier_source ...
Indique le chemin complet du fichier à copier vers ou depuis la cible. Vous pouvez indiquer plusieurs fichiers. Lorsqu'il est utilisé avec l'indicateur -R , un seul répertoire peut être spécifié. Lorsqu'il est utilisé avec l'indicateur -P , un seul fichier peut être spécifié.
chemin_cible
Indique le chemin complet dans lequel copier un ou plusieurs fichiers source_file sur la cible. Si l'indicateur -P est spécifié, target_path est l'emplacement de l'hôte local pour les fichiers copiés. La structure de répertoires de fichiers distants est recréée sous target_path et le nom de la cible distante est ajouté au nom source_file copié dans le répertoire target_path .

Des mots clés

Tableau 2. mots clés
Article Descriptif
-a Inclut dans la liste cible tous les noeuds définis dans le contexte par défaut. Le contexte par défaut peut être défini en utilisant l'indicateur '-C ou la variable d'environnement 'DSH_CONTEXT
-A Inclut dans la liste cible tous les périphériques définis dans le contexte par défaut. Le contexte par défaut peut être défini en utilisant l'indicateur '-C ou la variable d'environnement 'DSH_CONTEXT Cet indicateur est désactivé sur les consoles HMC.
--all-devices liste_contexte Inclut dans la liste cible tous les périphériques définis dans les contextes répertoriés dans liste_contexte. Le contexte par défaut n'est pas inclus implicitement dans cette liste. Cet indicateur est désactivé sur la console HMC.
--all-nodes liste_contexte Inclut dans la liste cible tous les noeuds définis dans les contextes répertoriés dans context_list. Le contexte par défaut n'est pas inclus implicitement dans cette liste.
-C Indique le chemin complet de la commande de copie à distance utilisée pour copier des fichiers vers ou depuis des cibles d'unité. Une commande de copie à distance pour un contexte spécifique peut être définie en incluant context: avant le chemin.
--contextcontexte Indique le contexte par défaut à utiliser lorsque la commande dcp résout les noms de cible. La valeur de contexte doit correspondre à un module d'extension de contexte valide dans le répertoire /opt/ibm/sysmgt/dsm/pm/Context .
--device-rcp copie_distant_unité Démarre le sous-système d'audit. La syntaxe de device_remote_copy est la suivante:
[context:]path[,[context:]path]... 
Cet indicateur est désactivé sur les consoles HMC. Ce mot clé lit les instructions dans les fichiers de configuration et détermine le shell distant pour les cibles d'unité.
-d | --devices liste_unités Indique une liste de cibles d'unité à inclure dans la liste de cibles. La syntaxe de device_list est la suivante:
[context:] [user_ID@] device_name[,\
[context:][user_ID@]device_name]...
Cet indicateur est désactivé sur les consoles HMC.
-D | --devicegroups groupes d'unités Inclut dans la liste cible tous les terminaux définis dans les groupes de terminaux spécifiés dans la liste devicegroups . La syntaxe devicegroups est la suivante:
[context:] [user_ID@]devicegroup[,\
[context:] [user_ID@]devicegroup]...
Cet indicateur est désactivé sur les consoles HMC.
-f | --fanout sortance Indique une valeur de sortance pour le nombre maximal de processus shell distants exécutés simultanément. L'exécution séquentielle peut être spécifiée en indiquant une valeur de sortance de 1. Si cet indicateur est omis, la valeur de sortance par défaut de 64 est utilisée.
-l | --user ID_utilisateur Indique un nom d'utilisateur distant à utiliser pour l'exécution de la copie à distance.
-h | --help Affiche les informations d'utilisation de la commande.
-n | --nodes liste_noeuds Indique une liste de cibles de noeud à inclure dans la liste de cibles. La syntaxe de node_list est la suivante:
[context:] [user_ID@]node_name[,\
[context:] [user_ID@]node_name]...
-o | --node-options optilisations_noeud Indique les options à transmettre à la commande de copie à distance pour les cibles de noeud. Les options doivent être spécifiées entre guillemets pour les distinguer des indicateurs de commande dcp . Les options des noeuds d'un contexte spécifique peuvent être définies en incluant context: avant la liste d'options. La syntaxe de node_options est la suivante:
[context:]"options"[, [context:]"options"]...
-N | --nodegroups groupes de noeuds Inclut tous les noeuds de la liste cible qui sont définis dans les groupes de noeuds spécifiés dans la liste nodegroups . La syntaxe de nodegroups est la suivante:
[context:] [user_ID@]nodegroup[,\
[context:] [user_ID@]nodegroup]...
-O --device-options options_unité Indique les options à transmettre à la commande de copie à distance pour les cibles d'unité. Les options doivent être spécifiées entre guillemets pour les distinguer des indicateurs de commande dcp . Les options des unités dans un contexte spécifique peuvent être définies en incluant context: avant la liste d'options. La syntaxe de device_options est la suivante:
[context:]"options"[,[context:]"options"]...
Cet indicateur est désactivé sur les consoles HMC.
-p | --preserve Conserve les caractéristiques du fichier source telles qu'elles sont implémentées par la commande de copie à distance configurée.
-P | --pull Extrait (copie) les fichiers des cibles et les place dans le répertoire target_path sur l'hôte local. target_path doit être un répertoire. Les fichiers qui sont extraits de machines distantes sont ajoutés _target au nom de fichier pour les distinguer. Lorsque l'indicateur -P est utilisé avec l'indicateur -R , _target est ajouté au répertoire. Un seul fichier par appel de la commande dcp -P | --pull peut être extrait des cibles spécifiées.
-Q Exécute la commande dcp en mode silencieux de sorte qu'aucune sortie standard cible ou erreur standard ne s'affiche.
-q | --show-config Affiche les paramètres d'environnement en cours relatifs à toutes les commandes de l'utilitaire dsh . Cet indicateur inclut les valeurs de toutes les variables d'environnement et les paramètres de tous les contextes actuellement installés et valides. Chaque paramètre est préfixé avec context: pour identifier le contexte source du paramètre.
-r | --node-rcp copie_distant_noeud Indique le chemin d'accès complet de la commande de copie à distance utilisée pour copier des fichiers vers ou depuis des cibles de noeud. Une commande de copie à distance pour un contexte spécifique peut être définie en incluant context: avant le chemin. La syntaxe de node_remote_copy est la suivante:
[context:]path[,[context:]path]...
Si path contient rsync, il est supposé que la commande rsync effectue la copie à distance.
-R | --recursive Copie récursivement les fichiers d'un répertoire local vers les cibles distantes, ou lorsqu'il est spécifié avec l'indicateur -P . Il extrait (copie) de manière récursive les fichiers d'un répertoire distant vers l'hôte local. Un répertoire source unique peut être spécifié à l'aide du paramètre source_file .
-t | --timeout délai d'attente Indique le délai d'attente, en secondes, avant que la commande de copie à distance ne termine chaque cible distante. Si une cible ne répond pas dans le délai imparti, la commande dcp affiche un message d'erreur et arrête le processus de copie à distance pour la cible distante. Si elle n'est pas spécifiée, la commande dcp attend indéfiniment que le processus de copie à distance termine chaque cible.
-T | --trace Active le mode de trace. Envoie les messages de diagnostic de la commande dcp à la sortie standard.
-v | --verify Vérifie chaque cible avant d'exécuter des commandes distantes sur la cible. Si une cible ne répond pas, l'exécution de la commande distante pour la cible est annulée.
-X liste_env Ignore les variables d'environnement de la commande dcp . Cette option accepte un argument, qui est une liste de noms de variables d'environnement séparés par des virgules, qui ne doit pas être ignoré. S'il n'y a pas d'argument pour cette option ou si l'argument est une chaîne vide, toutes les variables d'environnement dcp ne sont pas acceptées.
-V | --version Affiche les informations de version pour les variables d'environnement de la commande dcp .
CONTEXTE DSH_EXT
Indique le contexte par défaut à utiliser lors de la résolution des cibles. Cette variable est remplacée par l'indicateur -C .
DSH_DEVICE_LIST
Indique un fichier contenant une liste de cibles d'unité. Cette variable est remplacée par l'indicateur -d . Cette variable d'environnement est ignorée sur les consoles HMC.
DCP_DEVICE_OPTS
Indique les options à utiliser pour la commande shell distante avec des cibles d'unité uniquement. Cette variable est remplacée par l'indicateur -O . Cette variable d'environnement est ignorée sur les consoles HMC.
DCP_DEVICE_RCP
Indique le chemin complet de la commande de copie à distance utilisée pour copier des fichiers vers ou depuis des cibles d'unité. Cette variable est remplacée par l'indicateur --device-rcp . Cette variable d'environnement est ignorée sur les consoles HMC.
DSH_FANOUT
Indique la valeur de sortance. Cette variable est remplacée par l'indicateur -f .
DCP_NODE_OPTS
Indique les options à utiliser pour la commande de copie à distance avec des cibles de noeud uniquement. Cette variable est remplacée par l'indicateur -o .
DCP_NODE_RCP
Indique le chemin d'accès complet de la commande distante utilisée pour copier des fichiers vers et depuis des cibles de noeud. Cette variable est remplacée par l'indicateur -r .
DSH_NODE_LISTE
Indique un fichier contenant une liste de cibles de noeud. Cette variable est remplacée par l'indicateur -n . Cette variable a remplacé la variable " WCOLL. DSH_NODEGROUP_PATH. La variable " DSH_NODE_LIST spécifie également une liste de répertoires séparés par deux points contenant des fichiers de groupe de nœuds pour le contexte " dsh. Lorsque l'indicateur -a est spécifié dans le contexte dsh , une liste de noms de noeud uniques est collectée à partir de tous les fichiers de groupe de noeuds du chemin.
DÉLAI_DSH_ATTENTE
Indique le délai d'attente, en secondes, pour la sortie de chaque cible distante. Cette variable est remplacée par l'indicateur -t .
RSYNC_RSH
Cette variable d'environnement rsync spécifie le shell distant à utiliser comme transport pour la commande rsync . L'état de sortie et les valeurs de sortie de chaque exécution de commande de copie à distance sont affichés dans les messages de la commande dcp , si la valeur de sortie de la commande de copie à distance est différente de zéro. Un code retour différent de zéro provenant d'une commande de copie à distance indique qu'une erreur s'est produite lors de la copie à distance. Si une commande de copie à distance rencontre une erreur, l'exécution de la copie à distance sur cette cible est ignorée. Le code d'exit de la commande dcp est 0 si la commande dcp a été exécutée sans erreurs et que toutes les commandes de copie à distance se sont terminées avec les codes d'exit 0. Si des erreurs de commande dcp internes se produisent ou si les commandes de copie à distance ne s'exécutent pas correctement, la valeur de l'exit de commande dcp est supérieure à 0. La valeur de sortie est augmentée de 1 pour chaque instance successive d'une exécution de commande de copie à distance ayant échoué.

Sécurité: la commande dcp n'a pas de configuration de sécurité requise. Toutes les exigences de sécurité des commandes à distance (configuration, authentification et autorisation) sont imposées par la commande à distance sous-jacente qui est configurée pour la commande dcp . L'authentification et l'autorisation sont supposées être configurées entre l'hôte local et les cibles distantes. L'invite de mot de passe interactive n'est pas prise en charge ; l'exécution est ignorée et une erreur est affichée pour une cible distante si l'invite de mot de passe se produit. Les configurations de sécurité relatives à l'environnement distant et à la commande shell distante sont définies par l'utilisateur. Lorsque /usr/bin/rcp est configuré en tant que commande distante à l'aide de Kerberos version 5, vous devez d'abord exécuter la commande Kerberos kinit pour obtenir un ticket d'octroi d'autorisations. Vous devez également vous assurer que votre principal Kerberos se trouve dans le fichier .k5login du répertoire de base user&csqg;s distant sur les cibles.

Exemples

  1. Pour copier le fichier /tmp/etc/hosts de l'hôte local vers le répertoire /etc sous node3, node4, node5, et vers l'utilisateur gregb sous device16 dans le contexte NIM, entrez la commande suivante:
    dcp -n node3-node5 -d NIM:gregb@device16 /tmp/etc/hosts /etc:
  2. Pour copier le fichier /etc/hosts de tous les noeuds gérés du cluster vers le répertoire /tmp/hosts.dir sur l'hôte local, entrez la commande suivante:
    dcp -aP /etc/hosts /tmp/hosts.dir
    Un suffixe spécifiant le nom de la cible est ajouté à chaque nom de fichier. Le contenu du répertoire /tmp/hosts.dir est similaire à ce qui suit:
    Tableau 3. Contenu du répertoire '/tmp/hosts.dir
    Article Article Article
    hosts._node1 hosts._node4 hosts._node7
    hosts._node2 hosts._node5 hosts._node8
    hosts._node3 hosts._node6  
  3. Pour copier le répertoire /var/log/testlogdir à partir de toutes les cibles dans NodeGroup1 dans le contexte NIM et DeviceGroup4 dans le contexte dsh , avec un sortance de 12, et sauvegarder chaque répertoire sur l'hôte local en tant que /var/log._target, entrez la commande suivante:
    dcp -C DSH -N NIM:NodeGroup1 -D DeviceGroup 4 -f 12 \ -RP /var/log/testlogdir /var/log
  4. Pour copier /localnode/smallfile et /tmp/bigfile dans /tmp sous node1 à l'aide de la commande rsync , entrez la commande suivante:
    RSYNC_RSH=/usr/bin/ssh; dcp -r /usr/bin/rsync -o "-z" \ -n node1 /localnode/smallfile /tmp/bigfile /tmp
    Cette commande utilise 'rsync avec la variable d'environnement 'RSYNC_RSH et l'indicateur '-z sur 'rsync.
  5. Pour copier le fichier /etc/hosts de l'hôte local vers tous les noeuds du cluster et ignorer toutes les variables d'environnement dcp , entrez la commande suivante:
    dcp -X -a /etc/hosts /etc/hosts
  6. Pour copier le fichier '/etc/hosts de 'node1 et 'node2 dans le répertoire '/tmp/hosts.dir sur l'hôte local et ignorer toutes les variables d'environnement 'dcp à l'exception de 'DCP_NODE_OPTS, entrez la commande suivante :
    dcp -n node1,node2 -P -X ’DCP_NODE_OPTS’ /etc/hosts /tmp/hosts.dir