Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Экзорцист


Сообщения: 969
Благодарности: 127

Профиль | Отправить PM | Цитировать


Цитата:
REM Данный файл занимается разнесением по местам файлов бэкапов
REM созданных программой Acronis True Image и находящихся
REM в папках \\SERVER_NAME\BACKUP
REM Расшифровка имен переменных:
REM q - имя сервера из списка (server1, server2....)
REM day_week - номер дня недели
REM day_month - число
ECHO Получаем число
SET day_month=%DATE:~3,2%
ECHO Текущее число - %day_month%
ECHO Получаем день недели
SET day_week=%DATE:~0,2%
ECHO Текущий день недели: %day_week%
ECHO Определение номера текущего дня недели
IF %day_week%==Пн (SET day_week=1
) ELSE (IF %day_week%==Вт (SET day_week=2
) ELSE (IF %day_week%==Ср (SET day_week=3
) ELSE (IF %day_week%==Чт (SET day_week=4
) ELSE (IF %day_week%==Пт (SET day_week=5
) ELSE (IF %day_week%==Сб (SET day_week=6
) ELSE (IF %day_week%==Вс (SET day_week=7
)))))))

ECHO Ежемесячная копия
IF %day_month%==01 (
FOR %%q IN (server1, server2....) DO (
MD f:\%%q\month\%DATE:~6,2%-%DATE:~3,2%\
ECHO Копирую файлы сервера %%q в каталог f:\%%q\month\%DATE:~6,2%-%DATE:~3,2%\
NET USE R: \\%%q\BackUp
XCOPY r:\*.tib f:\%%q\month\%DATE:~6,2%-%DATE:~3,2%\
NET USE R: /DELETE
))

ECHO Еженедельная копия
IF %day_week%==1 (
FOR %%q IN (server1, server2....) DO (
MD f:\%%q\week\%DATE:~6,2%-%DATE:~3,2%\
ECHO Копирую файлы сервера %%q в каталог f:\%%q\week\%DATE:~6,2%-%DATE:~3,2%\
NET USE R: \\%%q\BackUp
XCOPY r:\*.tib f:\%%q\week\%DATE:~6,2%-%DATE:~3,2%\
NET USE R: /DELETE
))

ECHO Ежедневная копия
FOR %%q IN (server1, server2....) DO (
ECHO Копирую файлы сервера %%q в каталог f:\%%q\%day_week%\
NET USE R: \\%%q\BackUp
DEL /Q f:\%%q\%day_week%\
XCOPY r:\*.tib f:\%%q\%day_week%\
DEL /Q \\%%q\BackUp\*.*
NET USE R: /DELETE
)

Небольшие пояснения:
1 Для WinXP и Win2003: на компе, который будет выполнять это задание необходимо формат даты сделать в виде "ddd dd.MM.yyyy", иначе день недели посредством команды DATE не получишь
2 Образ системы заливается в расшаренную папку BACKUP с сетевым именем BACKUP
3 server1, server2.... – это имена серверов, перечисленные через запятую
4 В корне диска F:\ лежат папки, имена которых соответствуют именам серверов, которые в них бэкапятся, при этом в каталогах лежат следующие папки: 1, 2,3,4,5,6,7, Month и week.
5 При вставке этого кода в cmd-файл не забудь поменять дни недели(Пн, Вт, Ср, Чт, Пт, Сб и Вс) на dos-кодировку
Будут еще вопросы - спрашивай

Отправлено: 08:01, 14-06-2006 | #20