JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle® ZFS Storage Appliance 管理ガイド、Release 2013.1.3.0
Oracle Technology Network
ライブラリ
PDF
印刷ビュー
フィードバック
search filter icon
search icon

ドキュメント情報

Oracle ZFS Storage Appliance の概要

Oracle ZFS Storage Appliance の主な機能

サポートされているプロトコル

Oracle ZFS Storage Appliance データサービス

データ可用性

Oracle ZFS Storage Appliance の構成

ブラウザユーザーインタフェース (BUI)

ネットワークのアイコン

ダッシュボードのアイコン

Analytics ツールバーのアイコン

アイデンティティーマッピングのアイコン

サポートされるブラウザ

コマンド行インタフェース (CLI)

CLI コンテキスト

CLI のプロパティー

CLI スクリプトの操作

バッチコマンドの使用

CLI スクリプトコマンドについて

CLI スクリプト環境へのアクセス

CLI の組み込み関数について

run 関数の使用

get 関数の使用

list 関数の使用

children 関数の使用

choices 関数の使用

出力を生成するための関数の使用

CLI スクリプトエラーについて

Oracle ZFS Storage Appliance の構成

サービスの操作

Oracle ZFS Storage Appliance の管理

シェアの操作

アプリケーションと Oracle ZFS Storage Appliance の統合

list 関数の使用

  1. 動的な子が存在するコンテキストでは、これらの子をプログラムから繰り返し処理すると非常に有効です。これを行うには、動的な子の配列を返す list 関数を使用します。たとえば、すべてのプロジェクト内のすべてのシェアを繰り返し処理し、消費されている容量と空きスペースを出力するスクリプトを次に示します。
    script
           run('shares');
           projects = list();
    
           for (i = 0; i < projects.length; i++) {
                   run('select ' + projects[i]);
                   shares = list();
    
                   for (j = 0; j < shares.length; j++) {
                           run('select ' + shares[j]);
                           printf("%s/%s %1.64g %1.64g\n", projects[i], shares[j],
                               get('space_data'), get('space_available'));
                           run('cd ..');
                   }
    
                   run('cd ..');
           }
  2. このスクリプトが「space.aksh」という名前のファイルに保存されたと仮定して、スクリプトを実行した出力を次に示します。
    % ssh root@koi < space.aksh
    Password: 
    admin/accounts 18432 266617007104
    admin/exports 18432 266617007104
    admin/primary 18432 266617007104
    admin/traffic 18432 266617007104
    admin/workflow 18432 266617007104
    aleventhal/hw_eng 18432 266617007104
    bcantrill/analytx 1073964032 266617007104
    bgregg/dashbd 18432 266617007104
    bgregg/filesys01 26112 107374156288
    bpijewski/access_ctrl 18432 266617007104
    ...
  3. この結果の「きれいに出力された」バージョン (ただし、プログラムの処理はより困難になる) が必要な場合は、get コマンドの出力を直接解析することもできます。
    script
           run('shares');
           projects = list();
    
           printf('%-40s %-10s %-10s\n', 'SHARE', 'USED', 'AVAILABLE');
    
           for (i = 0; i < projects.length; i++) {
                   run('select ' + projects[i]);
                   shares = list();
    
                   for (j = 0; j < shares.length; j++) {
                           run('select ' + shares[j]);
    
                           share = projects[i] + '/' + shares[j];
                           used = run('get space_data').split(/\s+/)[3];
                           avail = run('get space_available').split(/\s+/)[3];
    
                           printf('%-40s %-10s %-10s\n', share, used, avail);
                           run('cd ..');
                   }
    
                   run('cd ..');
           }
  4. これが「prettyspace.aksh」という名前であると仮定して、この新しいスクリプトを実行した出力の一部を次に示します。
    % ssh root@koi < prettyspace.aksh
    Password:
    SHARE                                    USED       AVAILABLE 
    admin/accounts                           18K        248G      
    admin/exports                            18K        248G      
    admin/primary                            18K        248G      
    admin/traffic                            18K        248G      
    admin/workflow                           18K        248G      
    aleventhal/hw_eng                        18K        248G      
    bcantrill/analytx                        1.00G      248G      
    bgregg/dashbd                            18K        248G       
    bgregg/filesys01                         25.5K      100G      
    bpijewski/access_ctrl                    18K        248G      
    ...