IPMSG のログをバックアップするバッチスクリプト version 1.1.0
ろくにログも出てないのに毎回バックアップするのはどうかと。
- IPMSG のログファイルをバックアップした後、空にします。
- 色々調べてみたけど、OS に依存しない形で日付をフォーマットする方法は見つからなかった。
- かといってVB で書くと移植性悪いしなぁ。
- Windows 標準圧縮は cab (キャビネット方式)らしい。
- ログファイルのサイズが 0 だったらバックアップしない。というのを実装するために、ショートカットでログファイルを引数指定する羽目に。
- バッチって結局自前のスクリプトとか実行ファイルをつなげてつなげてつなげてつなげて。
SCRIPT
@echo off setlocal REM ==================== REM IPMSG のログファイルをcab で圧縮してバックアップする REM @date 2008-07-03 REM @author 金魚屋・J・龍角 REM @copyright 金魚屋見聞録 REM @version 1.1.0 REM ==================== REM はじめに REM -------------------- REM このスクリプトの利用に特に制限はありません。 REM このスクリプトを利用することによって起こったあらゆることについて、 REM 作者はあらゆる責任を負いません。 REM 利用には makecab がインストールされている必要があります。 REM ==================== REM 概要 REM -------------------- REM 指定のログファイルをcab で圧縮して、指定のディレクトリに保存します。 REM 圧縮後、ログファイルは空になります。 REM はじめからログファイルが空のときやサイズが一定以下の場合は何もしません。 REM ==================== REM 使い方 REM -------------------- REM 1. このスクリプトへのショートカットを作成 REM 2. ショートカットのリンク先で、スクリプトのパスの後ろにIPMSG のログファイルへのパスを指定 REM 3. 下記にある<設定></設定>の値を変更する。 REM ==================== REM 設定について REM -------------------- REM %backupdir% REM バックアップファイルを設置するディレクトリのパス REM %backupfile_name% REM バックアップファイルの名前 REM %backupsize% REM バックアップするログファイルの最低サイズ(byte 指定) REM ==================== REM 作成されるバックアップファイルの名前の例 REM -------------------- REM backupfile_name=ipmsg.log REM 実行日時=2008-07-03 10:45:23 REM ファイル名=ipmsg.log.20080703104523.cab REM ==================== REM 更新履歴 REM -------------------- REM 2008-07-06 1.1.0 REM サイズが一定以下の場合はバックアップをしない機能を追加。 REM 2008-07-03 1.0.0 REM 公開 REM ==================== REM <設定> SET backupdir=%HOME%\backup SET backupfile_name=ipmsg.log SET /A backupsize=1024*5 REM </設定> REM ==================== REM メイン処理 REM ==================== if not exist %1 goto logfileerror if not exist "%backupdir%\*" goto backupdirerror if %~z1 == 0 goto end if %~z1 NEQ %backupsize% goto smallsizeend SET logdate=%date:/=% SET logdate=%logdate:-=% SET logtime=%time: =0% SET logtime=%logtime::=% SET logtime=%logtime:~0,6% SET backupfile=%backupdir%\%backupfile_name%.%logdate%%logtime%.cab echo makecab %1 "%backupfile%" makecab %1 "%backupfile%" type nul >%1 goto end :logfileerror echo ログファイルが見つかりません。 pause goto end :backupdirerror echo バックアップディレクトリが見つかりません。 pause goto end :smallsizeend echo ログファイルのサイズが%backupsize% 以下です pause goto end :end endlocal