スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

定期的にフォルダのバックアップを取得する(指定した日数以前のフォルダは削除)

以下のスクリプトをタスクスケジューラで実行すると、
ローカルのフォルダを、定期的にファイルサーバにバックアップします

バックアップ結果をメールで送信する機能を付けたりしても良いかも。。。


Option Explicit
'====================
'-- Declare
'====================
'バックアップ基準フォルダ
Const BACKUP_ROOT_FOLDER = "\\LANDISK\All-User\MyBackup\"
'バックアップ元フォルダ
Dim srcFolders
'バックアップ先
Dim dstFolder
'フォルダ残存日数
Const ALIVE_DAY = 7
'オブジェクト
Dim objFSO
'====================
'-- Begin
'====================
srcFolders = Array("C:\xampp\xampp\htdocs", _
"C:\GAEJ\eclipse3.5\workspace" _
)

dstFolder = BACKUP_ROOT_FOLDER & getTimeStamp(now()) & "\"

Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")

'バックアップ基準フォルダのチェック (なければ中止)
if not objFSO.FolderExists(BACKUP_ROOT_FOLDER) then
msgbox "処理を中止します",,"確認メッセージ"
WScript.Quit
end if

'直下にタイムスタンプ毎のフォルダを作成
objFSO.CreateFolder(dstFolder)

'バックアップ
backup srcFolders, dstFolder

'指定日以前のフォルダ削除
delFolders BACKUP_ROOT_FOLDER, ALIVE_DAY


'====================
'-- End
'====================
'--指定日以前のフォルダ削除
private sub delFolders(backupRootFolder, aliveDay)
Dim objFolder, subFolder
Dim dateCreatedFolder '作成日時
Dim diff '日付の差分
Set objFolder = objFSO.GetFolder(backupRootFolder)

For Each subFolder In objFolder.SubFolders
dateCreatedFolder = subFolder.dateCreated
diff = datediff("d", now(), dateCreatedFolder)
If diff = aliveDay then
objFSO.DeleteFolder subFolder
End If
Next
end sub

'--バックアップ
private sub backup(srcFolders, destFolder)
Dim srcFolder
for each srcFolder in srcFolders
objFSO.CopyFolder srcFolder ,destFolder,false
next
end sub

'--タイムスタンプ取得
private function getTimeStamp(now)

Dim timeStamp

timeStamp = year(now)
timeStamp = timeStamp*100 + month(now)
timeStamp = timeStamp*100 + day(now)
timeStamp = timeStamp*100 + hour(now)
timeStamp = timeStamp*100 + Minute(now)
timeStamp = timeStamp*100 + Second(now)

getTimeStamp = timeStamp


end function
スポンサーサイト
プロフィール

tjnet777

Author:tjnet777
Solaris, VPNのサポート業務を1年

金融系SIerで業務アプリの開発、メンテを3年半

離職して大学院大学 1年生

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。