Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Junos PyEZを使用してファイルシステム操作を実行

Junos PyEZを使用して、Junosデバイス上のファイルとディレクトリの管理、チェックサムの計算、システムストレージの表示とクリーンアップを行います。

Junos PyEZアプリケーションは、 jnpr.junos.utils.fs ユーティリティを使用して、Junosデバイス上で以下を含むファイルシステム操作を実行できます。

  • ファイルの管理

  • ディレクトリの管理

  • ディスク容量の管理

このトピックでは、ユーティリティを使用して一般的なファイルシステム操作を実行する方法について説明します。

ファイル操作の実行

jnpr.junos.utils.fs ユーティリティを使用すると、一般的なファイルやディレクトリの操作を実行できます。たとえば、次のことができます。

  • ファイルおよびディレクトリ情報の表示

  • ディレクトリの作成と削除

  • ファイルの表示、削除、移動、コピー

  • ファイルのチェックサムを計算する

このセクションでは、いくつかの一般的な操作について説明します。サポートされている操作の完全なリストについては、 jnpr.junos.utils.fs のドキュメントを参照してください。

ファイルリストの表示

ls() メソッドを使用して、特定のパスにあるファイルとディレクトリのリストを表示できます。例えば:

ファイルの管理

jnpr.junos.utils.fsユーティリティを使用すると、ターゲットデバイス上で一般的なファイル操作を実行できます。表 1 にメソッドの概要を示します。メソッド名は、Unixライクなオペレーティングシステムの対応するコマンドと同じです。

表 1:Junos PyEZ ファイルの操作方法

方式

形容

cat()

ファイルを表示します。

cp()

ファイルをコピーします。

mv()

ファイルの名前を変更します。

rm()

ファイルを削除します。

以下の Junos PyEZ アプリケーションは、Junos デバイスに接続し、 cat() メソッドを使用してファイルの内容を表示します。ファイルが存在しない場合、アプリケーションは Noneを出力します。

次のアプリケーションは、Junos デバイスに接続し、 /var/tmp ディレクトリから /var/db/scripts/op ディレクトリにファイルをコピーします。アプリケーションは、操作が成功した場合は True を出力し、エラーが発生した場合は False を出力します。

Junos PyEZ Release 2.6.8 以降、ファイル コピー操作のルーティング インスタンスを指定できます。 routing_instance 引数を含め、インスタンスの名前を指定します。例えば:

チェックサムの計算

checksum() メソッドを使用して、ファイルのチェックサムを計算できます。デフォルトでは、checksum() は MD5 チェックサムを計算します。アルゴリズムを明示的に指定するには、calc 引数を含み、次のいずれかの値を指定します。

  • MD5の

  • SHA256

  • SHA1

以下のJunos PyEZアプリケーションは、Junosデバイスに接続し、 cat() 方式でファイルの存在を確認し、ファイルが存在する場合はSHA256チェックサムを計算します。

ファイル・システム・ストレージの管理

次のセクションで説明するように、 jnpr.junos.utils.fs ユーティリティを使用して、ファイルシステムのストレージを管理できます。

ファイル・システムのディスク容量使用量の表示

storage_usage()メソッドを使用すると、ファイルシステムの使用済みスペースと使用可能なスペースに関する情報を返すことができます。このメソッドは、show system storage コマンドの出力を返します。この情報は、Unix df コマンドの出力と似ています。

以下のJunos PyEZアプリケーションは、接続されたデバイスのディスク容量の使用状況を取得して出力します。

ディレクトリの使用状況の表示

directory_usage() メソッドを使用すると、特定のディレクトリとそのサブディレクトリのディスク容量使用量を表示できます。このメソッドは、デバイス上で show system directory-usage path コマンドを実行し、情報を返します。水深を指定しない場合、Junos PyEZはデフォルトの水深である0を使用します。この情報は、Unix du コマンドによって返される統計情報と似ています。

次のJunos PyEZアプリケーションは、 /var/tmp ディレクトリのディスク容量使用量を出力します。

システムストレージのクリーンアップ

storage_cleanup()方法を使用して、Junos デバイスのディスク領域を解放できます。このメソッドは、ログファイルを回転させ、一時ファイルを削除する request system storage cleanup コマンドを実行します。

クリーンアップ操作で削除されるファイルの一覧のみを表示するには、代わりに storage_cleanup_check() メソッドを使用します。このメソッドは、デバイス上で request system storage cleanup dry-run コマンドを実行し、候補ファイルを削除せずにリストを返します。

次の Junos PyEZ アプリケーションは、最初に storage_cleanup_check 操作を実行し、削除候補のファイルのリストを出力します。次に、アプリケーションは、ユーザーがストレージのクリーンアップを続行してファイルを削除するかどうかを照会します。ユーザーがクリーンアップ操作を確認すると、アプリケーションは storage_cleanup() 操作を実行してファイルを削除し、削除されたファイルの一覧を印刷します。