バックアップ管理

過去に書いたサーバのファイルを自動バックアップする記事のうちクライアント(Windows)でタスクスケジューラにより自動実行する方法の細部を忘れないように書いておく

クライアントでの実行ファイル・最新バックアップファイル・ログファイルの保存場所
C:\backup\
過去のバックアップファイル保存場所
C:\backup\archive\

 

サーバからftpにより取得するための実行ファイル(backup.scr)
※.scr ・・・Windowsのスクリーンセーバーに付けられる拡張子で実行ファイルのひとつ

open サーバ名
ユーザ名
パスワード
binary
get /home/backup/backup.tar.bz2.gpg ← サーバから取得するバックアップファイル
quit

 

バックアップを管理するバッチファイル(backup.bat)

@echo off
REM サーバにpingで応答確認する
ping -n 1 192.168.0.10 | find “bytes=32” >NUL
if ERRORLEVEL 1 (
REM 応答がなければ終了
goto :EOF
) else (
goto Success
)

REM 応答があった場合
:Success
set YMD=%DATE:/=%
set/a YYYYMMDD=YMD-1
set ADIR=.\archive

REM アーカイブフォルダに日付を付けた過去ファイルとして移動する
move “.\backup.tar.bz2.gpg” “%ADIR%\%YYYYMMDD%backup.tar.bz2.gpg”
cd %ADIR%
REM アーカイブファイルの世代管理を7つとして、古いファイルを削除
for /f “skip=7” %%F in (‘dir /b /o-n’) do del %%F
cd ..\

REM ftpを実行してログを保存
ftp -s:backup.scr > backup.log

 

タスクスケジューラにbackup.batを登録する

この方法だとサーバには過去7日分のバックアップファイルを世代管理しているがWindowsをタスクスケジューラにスケジュールされた時間に起動していなければ最新のバックアップファイルから7日分が保存されるとは限らないことに注意

なので、アーカイブの世代数を7日分ではなく7つと記述している

LINEで送る
Pocket

コメントは受け付けていません。