Befehl "dcp"

Zweck

Führt Befehle gleichzeitig auf mehreren Knoten und Hardwareeinheiten aus.

Syntax

dcp [-h] [-V] [-q] [-a] [--all-nodes kontextliste] [-A] [--all-devices kontextliste] [-n Knotenliste] [-N Knotengruppen] [-d Einheitenliste] [-D Einheitengruppen] [-C Kontext] [-f Fanout] [-l Benutzer-ID] [-o Knotenoptionen] [-O Einheitenoptionen] [-p] [-P] [-Q] [-r Knoten_ferne_Kopie] [--device-rcp Einheiten_ferne_Kopie] [-R] [-t Zeitlimit] [-X Umgebungsliste] [-T] [-v] Quellendatei... Zielpfad

Beschreibung

Der Befehl dcp kopiert Dateien gleichzeitig auf oder von fernen Zielknoten und/oder Hardwareeinheiten. Es können Ziele aus mehreren Kontexten ausgewählt werden. Ein Kontext ist eine Zieldatenbank, die Definitionen von Knoten und Einheiten enthält, wie z. B. NIM. Der Befehl dcp führt einen Remote Copy-Befehl für jeden angegebenen Knoten bzw. jede angegebene Einheit aus. Wenn Dateien aus einem Ziel extrahiert werden, werden sie unter dem Namen des fernen Knotens oder der Einheit, der dem Namen der kopierten Quellendatei hinzugefügt wird, im Zielpfad gespeichert. Der Befehl /usr/bin/rcp ist das Modell für Syntax und Sicherheit. Der Befehl dcp ist ein DSM-Dienstprogramm für Distributed Shells. Die Konfigurations- und Umgebungseinstellungen für dsh beeinflussen das Verhalten von dcp. Weitere Details finden Sie in der Beschreibung des Befehls dsh .

Parameter

Element Beschreibung
ZIELKONTEXT Die Zielkontextspezifikation ist bei den Befehlen dcp und dsh dieselbe. Weitere Informationen zur Angabe von Kontexten für den Befehl dcp finden Sie im Abschnitt zum Zielkontext auf der Man-Page für dsh .
ZIELSPEZIFIKATION Die Zielspezifikation ist bei den Befehlen dcp und dsh dieselbe. Einzelheiten zur Angabe von Zielen für den Befehl dcp finden Sie in der Man-Page zum Befehl dsh.
ZIELLISTEN Die Ziellistensyntax ist bei den Befehlen dcp und dsh dieselbe.
Ferner Benutzer Für den Remote Copy-Befehl kann eine Benutzer-ID angegeben werden. Die Angabe eines fernen Benutzers ist bei den Befehlen dcp und dsh dieselbe.
BEFEHL ZUM FERNKOPIEREN Der Befehl dcp verwendet einen konfigurierbaren Remote Copy-Befehl, um Laufe auf fernen Zielen auszuführen. Unterstützung wird explizit für den Befehl AIX® Remote Shell rcp , den Befehl OpenSSH scp und den Befehl rsync bereitgestellt. Bei Knotenzielen wird der Remote Copy-Befehl mit den Parametern in der folgenden Vorrangregelung bestimmt:
  1. Flag -r
  2. Umgebungsvariable DCP_NODE_RCP
  3. Befehl /usr/bin/rcp
Für Einheitenziele wird die Remote Shell durch die folgende Vorrangregelung bestimmt:
  1. Flag --device-rcp
  2. Umgebungsvariable DCP_DEVICE_RCP
  3. Vom Zielkontext definierter Standard-Remote-Copy-Befehl
  4. Für das Einheitenziel definierte Attribut RemoteCopyCmd
Der Remote Copy-Befehl wird mit einem Befehlszeilenflag oder einer Umgebungsvariablen mit der folgenden Syntax angegeben:
[context:]path[,[context:]path]... 
Pfad steht für den Pfad zum Remote Copy-Befehl und Kontext: gibt den Remote Copy-Befehlskontext an, der zum Kopieren von Dateien verwendet werden soll. Ein Remote Copy-Befehlspfad, der ohne Kontext angegeben wird, gilt für alle anderen Kontexte, für die kein expliziter Remote Copy-Befehlspfad in der Liste angegeben ist. Die Remote Copy-Befehlsoptionen können mithilfe von Befehlszeilenflags oder Umgebungsvariablen konfiguriert werden. Für Knotenziele werden die Remote Copy-Befehlsoptionen durch die folgende Rangfolge bestimmt:
  1. Flag -o
  2. Umgebungsvariable DCP_NODE_OPTS
Für Einheitenziele werden die Remote Copy-Befehlsoptionen durch die folgende Rangfolge bestimmt:
  1. Flag -O
  2. Umgebungsvariable DCP_DEVICE_OPTS
Die Remote Copy-Befehlsoptionen werden mithilfe der folgenden Syntax angegeben:
[context:]"options"[, [context:]"options"]...
Hier steht Optionen für die Remote Copy-Befehlsoptionen und Kontext: für den Kontext der Remote-Shell-Optionen, der für das Kopieren von Dateien verwendet werden soll. Optionen, die ohne Kontext angegeben werden, gelten für alle anderen Kontexte, für die keine expliziten Optionen in der Liste angegeben wurden. Die Optionen müssen in doppelten Anführungszeichen ("") angegeben werden, um sie von den dcp-Optionen unterscheiden zu können.
Befehlsausführung Gibt gleichzeitige Remote Copy-Befehlsprozesse (Fanout) an, die mit dem Flag -f oder der Umgebungsvariablen DSH_FANOUT angegeben werden können. Der Fanout-Wert wird nur durch die Anzahl der Remote-Shell-Befehle beschränkt, die parallel ausgeführt werden können. Sie können mit dem DSH_FANOUT-Wert auf Ihrem Management-Server experimentieren, um festzustellen, ob höhere Werte geeignet sind. Mit dem Flag -t oder der Umgebungsvariablen DSH_TIMEOUT kann ein Zeitlimitwert für die Ausführung von Remote Copy-Befehlen angegeben werden. Wenn ein fernes Ziel nicht innerhalb des festgelegten Zeitlimits antwortet, zeigt der Befehl dcp zeigt eine Fehlernachricht an und wird dann beendet. Das Flag -T stellt Diagnosetracenachrichten für die Ausführung des Befehls dcp bereit. Es werden Standardeinstellungen und die tatsächlichen Remote Copy-Befehle, die auf den fernen Zielen ausgeführt werden, angezeigt. Der Befehl " dcp kann mit dem Flag " -Q stillschweigend ausgeführt werden; es wird keine Ziel-Standardausgabe oder Standardfehler angezeigt.
Die Parameter für diese Variable sind im Folgenden beschrieben:
Quellendatei...
Gibt den vollständigen Pfad für die Datei an, die auf das Ziel kopiert bzw. vom Ziel kopiert werden soll. Es können mehrere Dateien angegeben werden. In Kombination mit dem Flag -R kann auch nur ein einziges Verzeichnis angegeben werden. In Kombination mit dem Flag -P kann auch nur eine einzige Datei angegeben werden.
Zielpfad
Gibt den vollständigen Pfad zum Kopieren einer oder mehrerer Quellendateien auf das Ziel an. Wenn das Flag -P angegeben ist, ist der Zielpfad die Position für kopierte Dateien auf dem lokalen Host. Die ferne Dateiverzeichnisstruktur wird unter Zielpfad neu erstellt und der ferne Zielname wird an den Namen der kopierten Quellendatei im Verzeichnis Zielpfad angefügt.

Schlüsselwörter

Element Beschreibung
-a Schließt alle Knoten in die Zielliste ein, die im Standardkontext definiert sind. Der Standardkontext kann mit dem Flag -C oder der Umgebungsvariablen DSH_CONTEXT festgelegt werden.
-A Schließt alle Einheiten in die Zielliste ein, die im Standardkontext definiert sind. Der Standardkontext kann mit dem Flag -C oder der Umgebungsvariablen DSH_CONTEXT festgelegt werden. Dieses Flag ist in der HMC inaktiviert.
--all-devices Kontextliste Schließt alle Einheiten in die Zielliste ein, die in den Kontexten definiert sind, die in der Kontextliste aufgeführt sind. Der Standardkontext ist nicht implizit in dieser Liste enthalten. Dieses Flag ist auf der HMC inaktiviert.
--all-nodes Kontextliste Schließt alle Knoten in die Zielliste ein, die in den Kontexten definiert sind, die in der Kontextliste aufgeführt sind. Der Standardkontext ist nicht implizit in dieser Liste enthalten.
-C Gibt den vollständigen Pfad des Remote Copy-Befehls an, der zum Kopieren von Dateien auf oder von Einheitenzielen verwendet wird. Ein Remote Copy-Befehl für einen bestimmten Kontext kann definiert werden, indem context: vor dem Pfad angegeben wird.
--context-Kontext Gibt den Standardkontext an, der verwendet werden soll, wenn der Befehl dcp Zielnamen auflöst. Der Kontextwert muss einem gültigen Kontexterweiterungsmodul im Verzeichnis /opt/ibm/sysmgt/dsm/pm/Context entsprechen.
--device-rcp Remote Copy-Befehl_für_Einheit Startet das Prüfsubsystem. Die Syntax für Remote Copy-Befehl_für_Einheit ist folgende:
[context:]path[,[context:]path]... 
Dieses Flag ist in der HMC inaktiviert. Dieses Schlüsselwort liest die Anweisungen in den Konfigurationsdateien und bestimmt die Remote-Shell für Einheitenziele.
-d | --devices Einheitenliste Gibt eine Liste von Einheitenzielen an, die in die Zielliste aufgenommen werden sollen. Die Einheitenliste muss in der folgenden Syntax angegeben werden:
[context:] [user_ID@] device_name[,\
[context:][user_ID@]device_name]...
Dieses Flag ist in der HMC inaktiviert.
-D | --devicegroups Einheitengruppen Schließt alle Einheiten in die Zielliste ein, die in den Einheitengruppen definiert sind, die in der Liste Einheitengruppen angegeben sind. Die Syntax für Einheitengruppen ist folgende:
[context:] [user_ID@]devicegroup[,\
[context:] [user_ID@]devicegroup]...
Dieses Flag ist in der HMC inaktiviert.
-f | --fanout Ausgabefächerung Gibt einen Fanout-Wert für die maximale Anzahl von gleichzeitig ausgeführten Remote-Shell-Prozessen an. Die sequenzielle Ausführung kann durch Angabe eines Ausgangslastfaktorwertes von 1 spezifiziert werden. Wenn dieses Flag nicht angegeben wird, wird der Standardausgangslastfaktorwert 64 verwendet.
-l | --user Benutzer-ID Gibt einen Remotebenutzernamen an, der für die Ausführung der Remote-Kopie verwendet werden soll.
-h | --help Zeigt den Verwendungshinweis für den Befehl an.
-n | --nodes Knotenliste Gibt eine Liste der Knotenziele an, die in die Zielliste aufgenommen werden sollen. Die Syntax für Knotenliste ist folgende:
[context:] [user_ID@]node_name[,\
[context:] [user_ID@]node_name]...
-o | --node-options Knotenoptionen Gibt Optionen an, die an den Remote Copy-Befehl für Knotenziele übergeben werden sollen. Die Optionen müssen in doppelten Anführungszeichen angegeben werden, um sie von den Optionen des Befehls dcp unterscheiden zu können. Optionen für Knoten in einem bestimmten Kontext können definiert werden, indem context: vor der Optionsliste angegeben wird. Die Syntax von Knotenoptionen folgt:
[context:]"options"[, [context:]"options"]...
-N | --nodegroups Knotengruppen Schließt alle Knoten in die Zielliste ein, die in den Knotengruppen definiert sind, die in der Liste Knotengruppen angegeben sind. Die Syntax von Knotengruppen folgt:
[context:] [user_ID@]nodegroup[,\
[context:] [user_ID@]nodegroup]...
-O --device-options Einheitenoptionen Gibt Optionen an, die an den Remote Copy-Befehl für Einheitenziele übergeben werden sollen. Die Optionen müssen in doppelten Anführungszeichen angegeben werden, um sie von den Optionen des Befehls dcp unterscheiden zu können. Optionen für Einheiten in einem bestimmten Kontext können durch Einfügen von context: vor der Optionsliste definiert werden. Die Syntax für Einheitenoptionen ist folgende:
[context:]"options"[,[context:]"options"]...
Dieses Flag ist in der HMC inaktiviert.
-p | --preserve Behält die Quelldateieigenschaften bei, die vom konfigurierten Remote Copy-Befehl implementiert wurden.
-P | --pull Extrahiert (kopiert) die Dateien von den Zielen und speichert sie im Verzeichnis Zielpfad auf dem lokalen Host. Der Zielpfad muss ein Verzeichnis sein. Den Namen der Dateien, die von fernen Maschinen kopiert werden, wird zur Unterscheidung _target hinzugefügt. Wenn das Flag -P mit dem Flag -R verwendet wird, wird _target an das Verzeichnis angefügt. Es kann jeweils nur eine Datei pro Aufruf des Befehls dcp -P | --pull von den angegebenen Zielen abgerufen werden.
-Q Führt den Befehl dcp im "stillen" Modus aus, in dem keine Standardausgabe und keine Standardfehlerausgabe für das Ziel angezeigt werden.
-q | --show-config Zeigt die aktuellen Umgebungseinstellungen an, die für alle dsh-Dienstprogrammbefehle relevant sind. Dieses Flag schließt die Werte aller Umgebungsvariablen und Einstellungen für alle derzeit installierten und gültigen Kontexte ein. Jede Einstellung hat das Präfix context: , um den Quellenkontext der Einstellung anzugeben.
-r | --node-rcp Remote Copy-Befehl_für_Knoten Gibt den vollständigen Pfad des Remote Copy-Befehls an, der zum Kopieren von Dateien auf oder von Knotenzielen verwendet wird. Ein Remote Copy-Befehl für einen bestimmten Kontext kann definiert werden, indem context: vor dem Pfad angegeben wird. Die Syntax für Remote Copy-Befehl_für_Knoten ist folgende:
[context:]path[,[context:]path]...
Wenn Pfad rsync enthält, wird angenommen, dass der Befehl rsync die Remote Copy-Operation durchführt.
-R | --recursive Kopiert rekursiv Dateien aus einem lokalen Verzeichnis auf die fernen Ziele oder bei Angabe mit dem Flag -P. Es zieht (kopiert) rekursiv Dateien aus einem entfernten Verzeichnis auf den lokalen Host. Mit dem Parameter Quellendatei kann ein einzelnes Quellenverzeichnis angegeben werden.
-t | --timeout Zeitlimit Gibt die Zeit in Sekunden an, die auf die Beendigung des Remote Copy-Befehls auf jedem fernen Ziel gewartet wird. Wenn ein Ziel nicht innerhalb des Zeitlimits antwortet, zeigt der Befehl dcp zeigt eine Fehlernachricht an und stoppt die Remote Copy-Operation für das ferne Ziel. Wenn kein Zeitlimit angegeben ist, wartet der Befehl dcp unbegrenzt auf die Beendigung des Remote Copy-Befehls für jedes Ziel.
-T | --trace Aktiviert den Tracemodus. Sendet die Diagnosenachrichten des Befehls dcp an die Standardausgabe.
-v | --verify Überprüft jedes Ziel vor der Ausführung von Fernbefehlen auf dem Ziel. Wenn ein Ziel nicht antwortet, wird die Ausführung des Fernbefehls für das Ziel abgebrochen.
-X Umgebungsliste Ignoriert die Umgebungsvariablen des Befehls dcp. Diese Option akzeptiert ein Argument, bei dem es sich um eine durch Kommas getrennte Liste von Umgebungsvariablennamen handelt, die nicht ignoriert werden darf. Wenn kein Argument für diese Option angegeben ist oder wenn das Argument eine leere Zeichenfolge ist, wird keine der Umgebungsvariablen des Befehls dcp akzeptiert.
-V | --version Zeigt Versionsinformationen für die Umgebungsvariablen des Befehls dcp an.
DSH_CONTEXT
Gibt den Standardkontext an, der beim Auflösen von Zielen verwendet werden soll. Diese Variable wird vom Flag -C überschrieben.
DSH_DEVICE_LIST
Gibt eine Datei an, die eine Liste von Einheitenzielen enthält. Diese Variable wird vom Flag -d überschrieben. Diese Umgebungsvariable wird auf HMCs ignoriert.
DCP_DEVICE_OPTS
Gibt die Optionen an, die für den Remote Shell-Befehl mit Einheitenzielen (ausschließlich) verwendet werden sollen. Diese Variable wird vom Flag -O überschrieben. Diese Umgebungsvariable wird auf HMCs ignoriert.
DCP_DEVICE_RCP
Gibt den vollständigen Pfad des Remote Copy-Befehls an, der zum Kopieren von Dateien auf oder von Einheitenzielen verwendet wird. Diese Variable wird vom Flag --device-rcp überschrieben. Diese Umgebungsvariable wird auf HMCs ignoriert.
DSH_FANOUT
Gibt den Fanout-Wert an. Diese Variable wird vom Flag -f überschrieben.
DCP_NODE_OPTS
Gibt die Optionen an, die für den Remote Copy-Befehl für Knotenziele (ausschließlich) verwendet werden sollen. Diese Variable wird vom Flag -o überschrieben.
DCP_NODE_RCP
Gibt den vollständigen Pfad des Fernbefehls an, der zum Kopieren von Dateien auf und von Knotenzielen verwendet wird. Diese Variable wird vom Flag -r überschrieben.
DSH_NODE_LIST
Gibt eine Datei an, die eine Liste von Knotenzielen enthält. Diese Variable wird vom Flag -n überschrieben. Diese Variable hat die WCOLL. Variable DSH_NODEGROUP_PFAD. Die Variable DSH_NODE_LIST gibt auch eine durch Doppelpunkte getrennte Liste von Verzeichnissen an, die Knotengruppendateien für den dsh-Kontext enthalten. Wenn das Flag -a im dsh-Kontext angegeben ist, wird eine Liste eindeutiger Knotennamen aus allen Knotengruppendateien im Pfad erfasst.
DSH_TIMEOUT
Gibt an, wie lange (in Sekunden) auf eine Ausgabe jedes fernen Ziels gewartet wird. Diese Variable wird vom Flag -t überschrieben.
RSYNC_RSH
Die Umgebungsvariable rsync gibt die Remote Shell an, die als Transport für den Befehl rsync verwendet werden soll. Der Exitstatus und die Exitwerte für die Ausführung jedes Remote Copy-Befehls werden in Nachrichten des Befehls dcp angezeigt, wenn der Exitwert des Remote Copy-Befehls ungleich null ist. Ein Rückgabecode ungleich null zeigt an, dass während der Ausführung des Remote Copy-Befehls ein Fehler aufgetreten ist. Wenn bei einem Remote Copy-Befehl ein Fehler auftritt, wird die Ausführung des Remote Copy-Befehls auf diesem Ziel umgangen. Der Exit-Code des Befehls dcp ist 0, wenn der Befehl dcp ohne Fehler ausgeführt wurde und alle Remote Copy-Befehle mit dem Exit-Code 0 beendet wurden. Wenn interne dcp-Befehlsfehler auftreten oder die Remote Copy-Befehle nicht erfolgreich ausgeführt werden, ist der Wert für den Befehlsexit dcp größer als 0. Der Exit-Wert wird für jede weitere erfolglose Ausführung eines Fernkopierbefehls um 1 erhöht.

Sicherheit: Der Befehl dcp hat keine Sicherheitskonfigurationsanforderungen. Alle Sicherheitsanforderungen für Fernbefehle (Konfiguration, Authentifizierung und Berechtigung) werden durch den zugrunde liegenden Fernbefehl vorgegeben, der für den Befehl dcp konfiguriert ist. Es wird vorausgesetzt, dass Authentifizierung und Berechtigung zwischen dem lokalen Host und den fernen Zielen konfiguriert sind. Die interaktive Kennworteingabeaufforderung wird nicht unterstützt. Die Ausführung wird umgangen und es wird ein Fehler für ein fernes Ziel angezeigt, wenn eine Kennworteingabeaufforderung angezeigt wird. Die Sicherheitskonfigurationen in Bezug auf die ferne Umgebung und den Remote Shell-Befehl sind benutzerdefiniert. Wenn /usr/bin/rcp als Fernbefehl mit Kerberos Version 5 konfiguriert ist, müssen Sie zuerst den Kerberos-Befehl kinit ausführen, um ein Ticket-Granting-Ticket anzufordern. Sie müssen auch sicherstellen, dass sich Ihr Kerberos-Principal in der Datei .k5login im fernen user&csqg;s-Ausgangsverzeichnis auf den Zielen befindet.

Beispiele

  1. Geben Sie den folgenden Befehl ein, um die Datei /tmp/etc/hosts vom lokalen Host in das Verzeichnis /etc auf den Knoten node3, node4 und node5 und in das Benutzerverzeichnis gregb auf der Einheit device16 im NIM-Kontext zu kopieren:
    dcp -n node3-node5 -d NIM:gregb@device16 /tmp/etc/hosts /etc:
  2. Geben Sie den folgenden Befehl ein, um die Datei /etc/hosts von allen verwalteten Knoten im Cluster in das Verzeichnis /tmp/hosts.dir auf dem lokalen Host zu kopieren:
    dcp -aP /etc/hosts /tmp/hosts.dir
    Ein Suffix, das den Namen des Ziels angibt, wird an jeden Dateinamen angefügt. Der Inhalt des Verzeichnisses /tmp/hosts.dir lautet wie folgt:
         
    hosts._node1 hosts._node4 hosts._node7
    hosts._node2 hosts._node5 hosts._node8
    hosts._node3 hosts._node6  
  3. Geben Sie den folgenden Befehl ein, um das Verzeichnis /var/log/testlogdir von allen Zielen in NodeGroup1 im NIM-Kontext und DeviceGroup4 im dsh-Kontext mit einem Fanout-Wert von 12 zu kopieren und jedes Verzeichnis auf dem lokalen Host als /var/log._target zu speichern:
    dcp -C DSH -N NIM:NodeGroup1 -D DeviceGroup 4 -f 12 \ -RP /var/log/testlogdir /var/log
  4. Geben Sie den folgenden Befehl ein, wenn Sie /localnode/smallfile und /tmp/bigfile mit dem Befehl rsync nach /tmp on node1 kopieren möchten:
    RSYNC_RSH=/usr/bin/ssh; dcp -r /usr/bin/rsync -o "-z" \ -n node1 /localnode/smallfile /tmp/bigfile /tmp
    Dieser Befehl verwendet rsync mit der Umgebungsvariablen RSYNC_RSH und dem Flag -z für rsync.
  5. Geben Sie folgenden Befehl ein, um die Datei /etc/hosts vom lokalen Host auf alle Knoten im Cluster zu kopieren und alle dcp-Umgebungsvariablen zu ignorieren:
    dcp -X -a /etc/hosts /etc/hosts
  6. Geben Sie den folgenden Befehl ein, um die Datei /etc/hosts von den Knoten node1 und node2 in das Verzeichnis /tmp/hosts.dir auf dem lokalen Host zu kopieren und alle dcp-Umgebungsvariablen mit Ausnahme von DCP_NODE_OPTS zu ignorieren:
    dcp -n node1,node2 -P -X ’DCP_NODE_OPTS’ /etc/hosts /tmp/hosts.dir