1 (изменено: rzet777, 2015-12-23 16:58:41)

Тема: CMD/BAT:Ежедневная архивация, с последующим удалением лишних архивов

Всем привет.
У меня есть вот такой скрипт. Он каждый день делает архив 1С и должен делать не более 30, потом старые удалять. Скрипт работает, но не удаляет сам старые архивы. Уже замучился искать ошибку, пришлось прийти к вам на форум, может тут помогут

@echo off
rem Задается временный каталог
set temp_dir=d:\sql_backup\tmp

rem Задается имя БД
set dbname=test

rem Задается каталог куда скрипт SQL поместит бэкап БД
set backup_dir=d:\sql_backup\%dbname%
set backup_file=%temp_dir%\%dbname%.dat
rem set query="-S SERVER -Usa -Ptest22 -i d:\sql_backup\test.sql -o d:\sql_backup\Results.txt"
set query="BACKUP DATABASE [%dbname%] TO DISK = '%backup_file%' WITH INIT"

rem Задается каталог размещения сформированных rar-архивов
rem set workdir=d:\sql_backup\%dbname%

rem Задается расположение архиватора rar.exe (консольная версия)
set archexe="c:\Program Files (x86)\7-Zip\7z.exe"

rem Задается количество последних сохраняемых архивов
set archnum=30

if not exist %backup_dir% md %backup_dir%

rmdir /s /q %temp_dir%
md %temp_dir%

rem - авторизация Windows
rem sqlcmd.exe -E -S SRV -Q %query% >%temp_dir%\backup.log

rem - авторизация SQL
"C:\Program Files\Microsoft SQL Server\100\Tools\Binn\sqlcmd.exe" -SSERVER -Usa -Ptest22 -Q %query% 

rem создаем дату
set now=%TIME:~0,-3%
set now=%now::=.%
set now=%now:=0%
set now=%DATE:~-4%.%DATE:~3,2%.%DATE:~0,2%_%now%

%archexe% a %backup_dir%\%dbname%_%now%.7z %backup_file%

IF NOT ERRORLEVEL 0 echo "Archiving DB Error" >%temp_dir%\backup.log 

dir /b /o-d %workdir%\*.7z more +%archnum% > %temp_dir%\delete.lst
for /F %%f in (%temp_dir%\delete.lst) do del %workdir%\%%f
del %temp_dir%\delete.lst
echo Backup complete! %errorlevel% >> %temp_dir%\backup.log

Заранее спасибо за любую подсказку!

2

Re: CMD/BAT:Ежедневная архивация, с последующим удалением лишних архивов

rzet777
workdir закомментирована, а она используется для удаления.

3

Re: CMD/BAT:Ежедневная архивация, с последующим удалением лишних архивов

mozers Спасибо!