スプールファイルの整理について
Question
古いスプールファイルを整理したいと思っています。必要なものもありますので、CLROUTQでまとめて消去することもできません。まずはスプールファイルの作成日を基にして、1か月、または2か月経過したものを削除したいと思っていますが、手動で行うにも膨大な量で困っています。
何か良いコマンドはありませんでしょうか。
Answer
残念ながら要件を満たせるようなシステム提供コマンドはございません。いくつか方法がありますので以下に説明させていただきます。
スプールファイル属性のファイル満了日(パラメータEXPDATE)を使用する方法
通常、ファイルの満了日は*NONEになっていますが、こちらを変更することでスプールファイル管理を行う方法です。以下にその中の2つの方法の詳細を記述します。
一つ目は、スプールファイル作成後、CHGSPLFAコマンドを使って満了日を指定する方法です。指定された日付(あるいは日数)になると該当日の23:59:59にスプールファイルが満了と判断されるようになります。
指定方法は、ファイルの満了日(EXPDATE)に日付を指定するか、あるいは、日付ではなく、*DAYSを指定し、その下のファイル満了までの日数(DAYS)に日数(指定を行った日を含んで日数を数える)を設定することが可能です。例)
ファイルの満了日 ...... *DAYS
ファイル満了までの日数 ...... 3(作成されてから、3日で満了となります。)二つ目は、該当のスプールファイルを作成するプリントファイルに、CHGPRTFコマンドを使ってファイルの満了日(EXPDATE)を指定してしまうという方法です。こちらの場合は、残しておきたいスプールファイルや消去したいスプールファイルを区別せず、該当のプリンタファイルから作成されるスプールファイルはすべて同じように決められた日数で満了するよう設定されます。
満了したスプールファイルは、コマンドは「満了スプール・ファイルの削除 (DLTEXPSPLF)」によってまとめて削除することができます。
スプールファイルの日付けを確認し、作成日である期間を過ぎたものを移動し、移動先のOUTQをCLROUTQする方法
以下はその手順になります。
- OUTQに入っているスプールファイルの一覧情報をスプールに出力します。
- 次に1)で作成したスプールを物理ファイルにして取り出します。
- 物理ファイルとした2)のファイルを順次読みとり、作成日の古いスプールファイルをCHGSPLFAコマンドで削除用のOUTQへ移動します。
※DLTEXPSPLFを使用する場合は、この時に満了日をセットします。 - 最後に削除用のOUTQに対し、CLROUTQを行います。
API(DLTOLDSPLF)を使用する方法
上記、2をAPIを使用して削除する方法です。
以上、ご利用のシステム環境に合わせて手法を検討してください。