Старый добрый NTBackup

Микрозаметка о том каким образом создавать с помощью ntbackup можно создавать бэкапы с именем отформатированным по текущей дате.

В приведенном примере имя файла будет выглядеть следующим образом

день-месяц-год.bkf

В файле D:\Backup\CustomSelection.bks должен быть определен список того что необходимо копировать, например:

SystemState
C:\Users

Или то что требуется.

Вот и сам скрипт.

@echo off
FOR /F "tokens=*" %%i in ('echo %DATE%') do SET Today=%%i
FOR /F "tokens=1-3 delims=/." %%A IN ("%Today%" ) DO (
SET Month=%%A
SET Day=%%B
SET Year=%%C
)
C:\WINDOWS\system32\ntbackup.exe  backup "@D:\Backup\CustomSelection.bks" /v:yes /r:no /rs:no /hc:off /m normal  /j  "CustomBackupJob" /l:s /f "D:\Backup\Custom\%day%-%month%-%year%.bkf"
Буду благодарен, если поделитесь этой статьей:

Приглашаю присоединиться ко мне в следующих сервисах:
facebook Google Plus вКонтакте Twitter
Если Вам понравилась статья, то вы можете подписаться на RSS. А также бесплатно подписаться по E-mail и получать актуальную информацию в числе первых.
Получать обновления на email

Вы можете оставить комментарий.

9 Комментариев »

 
  • 1# kkvkkv (46 комм.):

    А если локаль будет русская? а то формат отображения может быть разным.

      Цитировать

    • 2# admin (36 комм.):

      хороший вопрос.

      Результат вывода в русской локали отличается от английской,но это не искажение результатов. Нужно только поменять местами переменные Day Month и Year не составит труда.

        Цитировать

      • 3# kkvkkv (46 комм.):

        да, но следить за этим сложно. т.к. System может быть английским, а пользователь русским и наоборот.
        в Свое время я находил скрипт который всегда выводил время в англиской раскладке. если найду то сброшу вам

          Цитировать

      • 4# kkvkkv (46 комм.):

        а вот и он :) работает на любых языках и локалях :) Тут я день недели выбирал для скриптов бакапа

        @echo off
        echo.>»%TEMP%\~.ddf»
        makecab /D RptFileName=»%TEMP%\~.rpt» /D InfFileName=»%TEMP%\~.inf» -f «%TEMP%\~.ddf»>nul
        for /f «tokens=3″ %%a in (‘type «%TEMP%\~.rpt»‘) do if not defined weekday set «weekday=%%a»
        del /q «%TEMP%\~.*»
        echo %weekday%

          Цитировать

      • 5# admin (36 комм.):

        ну если развить тему то возможно его получится использовать.

        пока же с исправленными кавычками примерно так.
        for /f «tokens=3″ %%a in (‘type «%TEMP%\~.rpt»‘) do if not defined Month SET «weekday=%%A»

          Цитировать

  • 6# kkvkkv (46 комм.):

    Ну да. можно. В свое время я скриптами делал Инкрементный баккап Exchange, вот только для 2003 Виндовс смог придумать, сейчас надо для 2008R2 придумать, чтобы было красиво

      Цитировать

    • 7# admin (36 комм.):

      так пойдет?

      Add-PSSnapin Windows.Serverbackup
      $backup = New-WBPolicy
      $source = New-WBFileSpec -FileSpec «C:\Users»
      $target = New-WBBackupTarget -VolumePath «D:»

      Add-WBFileSpec -Policy $backup -FileSpec $source
      Add-WBBackupTarget -Policy $backup -Target $target
      Start-WBBackup -Policy $backup

      if ((Get-WBSummary).LastBackupResultHR -eq 0) {
      $newname = «Backup_$(Get-Date -f dd.MM.yyyy)»
      Rename-Item D:\WindowsImageBackup -NewName $newname
      Copy-Item d:\$newname \\192.168.0.199\public\backup -Recurse -Force
      Get-ChildItem «\\192.168.0.199\public\backup» -recurse | where {$_.LastWriteTime -le (Get-Date).AddDays(-7)} | remove-item -recurse»
      Remove-Item d:\$newname -Force
      } else {
      write-host «Error»
      }

        Цитировать

      • 8# kkvkkv (46 комм.):

        я так понимаю это отдельный пост будет..
        а так из пожеланий. бакапить не volume, а folder т.к. в 2008r2 это можно

          Цитировать

      • 9# admin (36 комм.):

        это и есть папка.
        она задается в строке.
        $source = New-WBFileSpec -FileSpec «C:\Users»

        можно бэкапить папку без подпапок
        $source = New-WBFileSpec -FileSpec «C:\Users» -NonRecursive
        или папку без определенных файлов
        $source = New-WBFileSpec -FileSpec «C:\Data\*.avi» -Exclude

        насчет поста подумаю

          Цитировать

 

Добавить комментарий

XHTML: Вы можете использовать тэги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>