ログをバックアップする
ログを格納しているフォルダ内にサブフォルダを作成して、ログをバックアップするプログラムを作成しました。具体的にログを格納しているフォルダは以下です。
フォルダ | ログ |
C:\logs | application_yyMMdd.txt security_yyMMdd.txt system_yyMMdd.txt (※yyMMddは前日日付) |
フォルダ | サブフォルダ |
C:\logs | yyMMdd ※yyMMddは前日日付 |
# ---------------------------------------- # ログをバックアップする # 対象ファイル: C:\logs\application_yymmdd.txt # C:\logs\security_yymmdd.txt # C:\logs\system_yymmdd.txt # バックアップ先: C:\logs\yymmdd # ---------------------------------------- set-PSDebug -strict # 前日日付の取得 $today = get-Date $yesterday = $today.AddDays(-1) # ログ取得 $log_folder = "C:\logs" $logs = get-ChildItem -path "C:\logs" # バックアップフォルダが既に存在するか確認 $backup_folder = $log_folder + "\" + $yesterday.ToString("yyMMdd") $result = test-Path -path $backup_folder if ($result) { throw "バックアップフォルダが既に存在します" } # バックアップフォルダ作成 new-Item -path $backup_folder -type Directory > NULL # ログをバックアップフォルダへコピー foreach ($log in $logs){ Copy-Item $log.FullName -destination $backup_folder } # コピー元ファイルを削除 foreach ($log in $logs){ remove-Item $log.FullName } write-Host "完了しました" trap{ break }