Старый добрый 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"
Похожие статьи
Приглашаю присоединиться ко мне в следующих сервисах:
Если Вам понравилась статья, то вы можете подписаться на RSS. А также бесплатно подписаться по E-mail и получать актуальную информацию в числе первых.
Вы можете оставить комментарий.
А если локаль будет русская? а то формат отображения может быть разным.
kkvkkvЦитировать
хороший вопрос.
Результат вывода в русской локали отличается от английской,но это не искажение результатов. Нужно только поменять местами переменные Day Month и Year не составит труда.
adminЦитировать
да, но следить за этим сложно. т.к. System может быть английским, а пользователь русским и наоборот.
в Свое время я находил скрипт который всегда выводил время в англиской раскладке. если найду то сброшу вам
kkvkkvЦитировать
а вот и он
работает на любых языках и локалях
Тут я день недели выбирал для скриптов бакапа
@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%
kkvkkvЦитировать
ну если развить тему то возможно его получится использовать.
пока же с исправленными кавычками примерно так.
for /f «tokens=3″ %%a in (‘type «%TEMP%\~.rpt»‘) do if not defined Month SET «weekday=%%A»
adminЦитировать
Ну да. можно. В свое время я скриптами делал Инкрементный баккап Exchange, вот только для 2003 Виндовс смог придумать, сейчас надо для 2008R2 придумать, чтобы было красиво
kkvkkvЦитировать
так пойдет?
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»
}
adminЦитировать
я так понимаю это отдельный пост будет..
а так из пожеланий. бакапить не volume, а folder т.к. в 2008r2 это можно
kkvkkvЦитировать
это и есть папка.
она задается в строке.
$source = New-WBFileSpec -FileSpec «C:\Users»
можно бэкапить папку без подпапок
$source = New-WBFileSpec -FileSpec «C:\Users» -NonRecursive
или папку без определенных файлов
$source = New-WBFileSpec -FileSpec «C:\Data\*.avi» -Exclude
насчет поста подумаю
adminЦитировать