運用コマンドレファレンス Vol.1


copy

コンフィグレーションをコピーします。

[入力形式]

copy <source file> <target file> [debug]

[入力モード]

装置管理者モード

[パラメータ]

<source file>

コピー元のコンフィグレーションファイルまたはコンフィグレーションを指定します。

<source file>は次の形式で指定できます。

<file name>

コピーするコンフィグレーションファイル名を指定します。ローカルファイルをコピーする場合は,装置内のファイル名を指定してください。リモートファイルをコピーする場合は,リモートのファイル名を,次に示すどれかのURL形式で指定してください。

  • ftp://[<user name>[:<password>]@]<host>[:<port>]/<file path>

  • tftp://<host>[:<port>]/<file path>

  • http://[<user name>[:<password>]@]<host>[:<port>]/[<file path>]

それぞれの変数に指定する値は次のとおりです。

<user name>

 リモートサーバのユーザ名を指定します。

<password>

 リモートサーバのパスワードを指定します。

<host>

 リモートサーバの名称またはIPアドレスを指定します。

 IPv6アドレスを指定する場合は,角括弧([ ])で囲む必要があります。

 (例)[2001:db8::1]

<port>

 ポート番号を指定します。指定できる値は0または1〜65535です。

 <port>を省略した場合,または0を指定した場合は,プロトコルに応じて次のポート番号が使用されます。

 ・ftp指定:21

 ・tftp指定:69

 ・http指定:80

<file path>

 リモートサーバのファイルパスを指定します。

ftpまたはhttp指定時に<user name>と<password>を省略すると,匿名でログインします。<password>だけを省略すると,問い合わせプロンプトが表示されてパスワードの入力を促します。

running-config

ランニングコンフィグレーション

startup-config

スタートアップコンフィグレーションファイル

<target file>

コピー先のコンフィグレーションファイルまたはコンフィグレーションを指定します。

<file name>またはstartup-configを指定できます。ただし,<source file>で指定した形式と同じ種類は指定できません(例えば,ファイルからファイルへのコピー:copy <file name> <file name>はできません)。

また,<target file>へのhttp指定はサポートしていません。

debug

リモートファイル指定時に通信状況の詳細を表示します。

リモートファイル取得時に"The file transfer failed."のエラーになった場合,本パラメータを指定してコマンドを再実行することで,サーバレスポンスなどエラーの詳細を知ることができます。

本パラメータ省略時の動作

通信状況の詳細は表示されません。

[実行例]

図4‒1 ランニングコンフィグレーションをスタートアップコンフィグレーションにコピー
# copy running-config startup-config
  User account information is set in the configuration file.
  The home directory of any deleted users will be deleted.
  Are you sure you want to copy the configuration file to startup-config?
  (y/n): y
図4‒2 ランニングコンフィグレーションをリモートサーバ上のファイルに保存
# copy running-config ftp://staff@[2001:db8::1]/backup.cnf
  Are you sure you want to copy the configuration file to 
  ftp://staff@[2001:db8::1]/backup.cnf? (y/n): y
 
  Authentication for 2001:db8::1.
  User: staff
  Password: xxx        <-1
  transferring
 
  Data transfer succeeded.
#
  1. リモートサーバ上のユーザstaffのパスワードを入力します。

[表示説明]

なし

[通信への影響]

なし

[応答メッセージ]

表4‒3 copyコマンドの応答メッセージ一覧

メッセージ

内容

The command cannot be executed because you are in user mode.

このコマンドは一般ユーザモードでは実行できません。

The command is not authorized by the RADIUS/TACACS+ server or the configuration.

このコマンドはRADIUSサーバ,TACACS+サーバ,またはコンフィグレーションで承認されていません。

The configuration file already exists. Are you sure you want to copy the existing file to <target file>? (y/n):

コピー先のファイル名がすでに存在します。上書きしてコピーするかどうかの確認です。"y"ならコピーを実行します。"n"ならコピーを中止します。

User account information is set in the configuration file. The home directory of any deleted users will be deleted. Are you sure you want to copy the configuration file to <target file>? (y/n):

コピー先のファイル名にコピーするかどうかの確認です。"y"ならコピーを実行します。"n"ならコピーを中止します。

コピー先にスタートアップコンフィグレーションを指定した場合は,コピー元のコンフィグレーションファイルまたはコンフィグレーションに存在しないユーザアカウントとユーザのホームディレクトリは削除されるため注意してください。

このコマンドのエラーメッセージについては,「コンフィグレーションコマンドレファレンス Vol.1」 「19.1.4 コンフィグレーションファイルの操作によるエラー」および「コンフィグレーションコマンドレファレンス Vol.1」 「19.1.6 装置およびソフトウェアの状態によるエラー」を参照してください。

コピー元のコンフィグレーションによるコンフィグレーション編集時のエラーメッセージについては,該当する「コンフィグレーションコマンドレファレンス」を参照してください。

[注意事項]

  1. コンフィグレーションの編集中は本コマンドを実行できません。コンフィグレーションの編集が終了してから本コマンドを実行してください。

  2. スタートアップコンフィグレーションを書き換えても,ランニングコンフィグレーションおよび通信への影響はありません。

  3. 保存先のファイルに書き込み権限がない場合は保存できません。リモートサーバ上のファイルに保存する場合は,リモートサーバで書き込みできるように設定してください。

  4. ボードの搭載構成に合わないコンフィグレーションファイルをコピーした場合,エラーになることがあります。問題となるコンフィグレーションファイルを次に示します。

    • ボードの搭載構成が異なる装置を使用して作成したコンフィグレーションファイル

    • NIFを取り外したあと,該当NIFに対応するポートのコンフィグレーションを削除していない状態で本コマンドを実行して作成したコンフィグレーションファイル

    • 異なるイーサネット種別を収容するNIFへ交換後,交換前のポートのコンフィグレーションを削除していない状態で本コマンドを実行して作成したコンフィグレーションファイル

  5. エディタで編集したコンフィグレーションファイルをコピーした場合,正常終了しても装置の動作が不安定になるおそれがあります。誤ってコピーした場合は,erase configurationコマンドでコンフィグレーションを初期化してから,再度コンフィグレーションを編集してください。

  6. URL形式の指定で,<password>を含めてコマンドを実行しないことをお勧めします。実行されたコマンドは運用ログに記録され,ほかのユーザに参照されるおそれがあります。セキュリティを保つため,<password>は省略して問い合わせプロンプトで入力することをお勧めします。

  7. URL表記上,<host>指定と<file path>指定の間の"/"はパス成分に含みません。例えば,ftpリモートサーバ上の/usr/home/staff/a.cnfを指定する場合はftp://<host>//usr/home/staff/a.cnfとなります。

  8. コピー元がランニングコンフィグレーションでコピー先がスタートアップコンフィグレーションの場合は,saveコマンドと同様の処理が行われます。

  9. コピー先にstartup-configパラメータを指定して実行した場合,コピー元のコンフィグレーションに存在しないユーザアカウントは再起動後に削除されます。また,削除されるユーザのホームディレクトリも削除されるため,必要なファイルはあらかじめ/usr/home/shareに保存するか,外部にバックアップしてください。

  10. 本コマンドを実行しても,ランニングコンフィグレーションおよび編集中のコンフィグレーションに影響はありません。

  11. 本コマンドの実行直後を除いて,本コマンドの実行中に[Ctrl]+[C]キーを入力すると,プロンプトが表示されてコマンド入力待ちになりますが,本コマンドの処理は継続して最後まで実行されます。

    本コマンドの実行中に[Ctrl]+[C]キーを入力してコマンド入力待ちになった場合は,show startup-configコマンドを実行して本コマンドが完了しているかを確認できます。本コマンドで指定したファイルが反映されている場合は,本コマンドが完了しています。「Command execution failed because multiple commands cannot be executed at the same time.」または「Command execution failed because another command was executing.」のエラーメッセージが出力される場合は,本コマンドが実行中です。

  12. コピー元のファイルに設定されたコンフィグレーションが多い場合は,コマンドの実行に時間が掛かることがあります。特に,コンフィグレーションコマンドarp,ipv6 neighbor,ip route,ipv6 routeのどれかが多数あると時間が掛かります。

    本コマンドの実行中は本コマンドの中断およびコンフィグレーションの編集ができないため,コンフィグレーションを編集する必要がないことを確認してから実行してください。

  13. コピー元がコンフィグレーションファイルでコピー先がスタートアップコンフィグレーションの場合は,コピー元に設定されているオプションライセンスは無視され,ランニングコンフィグレーションに設定されているオプションライセンスがスタートアップコンフィグレーションに設定されます。

    コピー元にオプションライセンスを必要とする機能のコンフィグレーションコマンドが設定されている場合は,コンフィグレーションコマンドlicenseでオプションライセンスをランニングコンフィグレーションに設定してから,本コマンドを実行してください。