JP1/AJS HULFTの定義出力と先月分の集配信履歴を出力する
HULFTの定義や集配信履歴を定期的に取得しておきたい、という時のために作ってみました。
まず以下のバッチを用意。
定義出力用バッチ
・hul_def_out.bat (HULFT定義出力用バッチ)%1にJP1からsnd、rcvなどを渡すことで任意の定義を出力します。出力ファイルには実行日のYYYYMMDDを付けます。
@echo off "C:\HULFT Family\hulft8\bin\utligen.exe" -f C:\work\tmp\%1_%date:/=%.txt -i %1 -id "*"
集配信履歴出力用バッチ
・hul_lastm_list_out.bat(集配信履歴出力用バッチ)PowerShellを使い、先月のYYYYMMを設定し、先月のYYYYMM01からジョブ実行日までの履歴を出力します。範囲の終わりについては月末は月ごとによって違い、存在しない日付をHULFTのコマンドに渡すとエラーになって面倒なので省略!(笑)%1はJP1から「s」または「r」を与えることで配信履歴、集信履歴を切り替えます。出力ファイルには実行日のYYYYMMDDを付けます。
@echo off FOR /F "usebackq" %%a IN (`powershell [DateTime]::Today.AddMonths"("-1")".ToString"("'yyyyMM'")"`) DO SET lastmonth=%%a "C:\HULFT Family\hulft8\bin\utllist.exe" -%1 -from %lastmonth%01 > C:\work\tmp\utllist_%1_%date:/=%.txt
JP1ジョブ構成
JP1はこんな感じ
配信定義出力ジョブはこんな感じでパラメーターをsnd,rcv,hst,tgrp,jobと変えることで同じバッチでそれぞれの定義を出力しています。
集配信履歴は毎月1日に1か月周期で実行させたかったので別ジョブネットでスケジュールしています。
中身はこんな感じ。パラメータが「s」なら配信履歴、「r」なら集信履歴です。
以上です。