4

コマンドNFSの出力を解析しなくてもクォータ情報にアクセスできる Python モジュールはありますか? quota十分な動機があれば、Python のxdrlibモジュールを使用して独自の ONC/RPC コードを作成できることは承知していますが、NFS の内部にそれほど深く関与する必要がないことを心から望んでいます。

理想的には、既存の RPC 実装か、より高いレベルのモジュール (既存の C ライブラリのラッパーなど) を期待しています。

受け入れられる代替手段は、quotaより機械可読な出力を生成するコマンドのようなものです。

4

2 に答える 2

1

この質問はもともと、コマンドのバージョン 3.13 の問題によって発生しましたquota。これは、エンド ユーザーがクォータ情報を確認するためのツールとしては本質的に役に立ちません。たとえば、alicerunsの場合quota、次のような出力が表示される可能性があります。

Disk quotas for user alice (uid 100): 
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
fileserver.example.com:/staff/b/bob
                9254720  9728000 10240000          119768       0       0       

アリスは、これが自分のアカウントと何の関係があるのか​​疑問に思うでしょう。

quota-utilsパッケージの背後にいる人々は、ついにツールに内在する問題に気付いたことが判明しました。quotaバージョン 4.00 (Fedora 16 で利用可能) では、コマンドを実際に有用な情報を生成するものに変えるいくつかの新しいオプションが利用可能です。

特に興味深い-fオプションは次のとおりです。

-f, --filesystem-list     display quota information only for given filesystems

したがって、ユーザーは次を実行できます。

quota -f ~

そして、ホーム ディレクトリのクォータ情報を取得します。さらに、この-sオプションは、すべてをブロックとして表示する代わりに、「人間が読める」数字を表示します。

アリスの場合、これは次のようになります。

$ quota -s -f ~
Disk quotas for user alice (uid 100): 
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
fileserver.example.com:/staff/a/alice
              9038M   9500M  10000M            120k       0       0        

quotaさらに、スクリプトからの出力をより簡単に処理できるようにする 2 つのオプションがあります。

  • この-wオプションは、「ファイルシステム」名が長すぎる場合に行の折り返しを禁止します。
  • ユーザーがクォータ超過の状況にない場合、この-pオプション0は猶予時間のために表示されます。これは、フィールドの数が常に同じであることを意味します (一方、以前のバージョンのquotaフィールドの数は状況によって異なる可能性があります)。

上記のすべてを組み合わせると、次のようになります。

$ quota -wp -f ~
Disk quotas for user alice (uid 100): 
     Filesystem   space   quota   limit   grace   files   quota   limit   grace
fileserver.example.com:/staff/a/alice 9254720  9728000 10240000       0  119768 0

これは、自動化にはるかに役立ちます。

于 2012-03-20T18:47:57.897 に答える