Dir-Purge-1.0 > Dir::Purge

名前

Dir::Purge - ディレクトリを指定された数のファイルに削減します

概要

  perl -MDir::Purge -e 'purgedir (5, @ARGV)' /spare/backups

  use Dir::Purge;
  purgedir ({keep => 5, strategy => "by_age", verbose => 1}, "/spare/backups");

  use Dir::Purge qw(purgedir_by_age);
  purgedir_by_age (5, "/spare/backups");

説明

Dir::Purgeは戦略に従ってディレクトリの中のファイルの数を減らす関数を実装 しています。それは現在1つの戦略を提供しています:古さによるファイルの 削除です。

デフォルトでは、このモジュールは1つのユーザ・サブルーチンを エクスポートします:purgedir.

purgedirの最初の引数は、各ディレクトリにいくつのファイルを保持するかを 示す整数値か、オプションが入ったハッシュへのリファレンスのいずれかでなければ いけません。どちらの場合も保持するファイルの数は必須です。

他の引数は削減されるディレクトリの名前です。この処理が再帰的ではないという ことに注意してください。また隠しファイル(.でファイル名が始まるもの)と プレーンなファイルではないもの(例えば、デイレクトリ、シンボリック・リンク)は 勘定に入りません。

すべてのディレクトリ引数とオプションは何か他のことをする前に チェックされます。特に、全ての引数は存在するディレクトリを 示さなければなりません。そしてプログラムはディレクトリに 読込、書込、検索(実行)アクセスを持っていなければなりません。

命令によって1つの追加関数purgedir_by_ageをエクスポートしたり、 完全に修飾された名前で呼び出すことができます。purgedir_by_agepurgedirを"by age"削除戦略があらかじめ選択されて呼び出します。 これは偶然にもpurgedirのデフォルトの戦略であるため、 purgedir_by_agepurgedirを呼び出すこととほぼ同じです。

警告

ファイルを削除することは非常に破壊的な操作です。完成品とする 前のリハーサルをおこなうため、下記で説明するtestオプションを 与えてください。

オプション

オプションは最初の引数としてハッシュ・リファレンスを与えることに より順応性があります。以下の呼び出しは同等です:

  purgedir ({keep => 3, test => 1}, "/spare/backups");
  purgedir_by_age ({keep => 3, test => 1}, "/spare/backups");
  purgedir ({strategy => "by_age", keep => 3, test => 1}, "/spare/backups");

全てのサブルーチンが同じ引数を取ります。

keep

保持するファイルの数。

もし正の数であれば、最も新しいファイルが保持されます。負の数であれば 絶対値が使われ、最も古いファイルが保持されます。

strategy

削除の戦略をしていします。 デフォルトの(そして唯一許されている)値は"by_age"です。

このオプションはpurgedir専用です。他のサブルーチンにはstrategy オプションを与えてはいけません。

verbose

メッセージの冗長性。デフォルトの値は1.0(ゼロ)はメッセージを抑止 します。

debug

内部デバッグ専用。

test

trueであれば、何もファイルは削除されません。テスト用。

EXPORT

サブルーチンpurgedirはデフォルトでエクスポートされます。

サブルーチンpurgedir_by_ageは、命令によりエクスポートすることができます。

purgedir_by_age()を呼び出すことは、strategy = "by_age">が入った オプション・ハッシュを付けてpurgedir()を呼び出すこととほぼ同じです。

変数$Dir::Purge::VERSIONはモジュールのバージョンを見るために使うことが できます。

作者

Johan Vromans (jvromans@squirrel.nl) がこのモジュールを書きました。

著作権および責任放棄(=COPYRIGHT AND DISCLAIMER)

This program is Copyright 2000 by Squirrel Consultancy. All rights reserved.

This program is free software; you can redistribute it and/or modify it under the terms of either: a) the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version, or b) the "Artistic License" which comes with Perl.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See either the GNU General Public License or the Artistic License for more details.

翻訳者

川合 孝典(GCD00051@nifty.ne.jp)