Форум системных администраторов: Помогите с написанием батника - Форум системных администраторов

Перейти к содержимому

  • (2 Страниц)
  • +
  • 1
  • 2
  • Вы не можете начинать новые темы
  • Вы не можете отвечать в этой теме

Помогите с написанием батника Резервное квированиеопирование файлов и их архие

#1 Пользователь не на сайте   B@ktery 

  • Старожил
  • PipPipPipPip

Отправлено 09 July 2010 - 21:22

Есть задача копировать файлы doc, xls, pdf (в больших обьемах) на внешнее устройство, и архивировать их в rar (желательно чтоб был назван датой создания, и запаролен), а папка с которой делался rar, после создания архива была удалениа (желательно мимо корзины).

* Только не смейтесь. Начал с XCOPY

xcopy C:\UserData D:\BackupUserData /s

как можно дальше проболжить батник? Подкиньте какую то инфу, хочу разобратся.

#2 Пользователь не на сайте   B@ktery 

  • Старожил
  • PipPipPipPip

Отправлено 09 July 2010 - 22:32

xcopy C:\UserData\*.doc D:\BackupUserData\%DATE%\%TIME%\ /s папка с текущей датой создается но не копируется содержимое папки UserData, в чем моя ошибка?

#3 Пользователь не на сайте   Kazun 

  • Активный участник
  • PipPipPip

Отправлено 09 July 2010 - 23:23

Проблема в переменной %time%

#4 Пользователь не на сайте   B@ktery 

  • Старожил
  • PipPipPipPip

Отправлено 09 July 2010 - 23:34

а что именно не так?

#5 Пользователь на сайте   konstanteen 

  • Старожил
  • PipPipPipPip

Отправлено 10 July 2010 - 01:43

Просмотреть сообщениеB@ktery, 9.7.2010, 23:34, сказал(а):

а что именно не так?

C:\Users\konstanteen>echo %time%
1:37:40,49

Т.е. вы хотите создать директорию, которая в названии будет содержать двоеточие.

#6 Пользователь не на сайте   B@ktery 

  • Старожил
  • PipPipPipPip

Отправлено 10 July 2010 - 14:45

Спасибо, разобрался. Копирует.
Но я подумал а какой смысл копировать файлы а потом их архивировать (двойная работа +лапатить такой обьем файлов), может зделать проще: сразу архивировать в..

зделал так: "C:\Program Files\WinRAR\winrar" a -r -hp@password C:\BackupUserData\%DATE%.rar C:\UserData

получилось )

#7 Пользователь на сайте   konstanteen 

  • Старожил
  • PipPipPipPip

Отправлено 10 July 2010 - 21:20

Просмотреть сообщениеB@ktery, 10.7.2010, 14:45, сказал(а):

Спасибо, разобрался. Копирует.
Но я подумал а какой смысл копировать файлы а потом их архивировать (двойная работа +лапатить такой обьем файлов), может зделать проще: сразу архивировать в..

зделал так: "C:\Program Files\WinRAR\winrar" a -r -hp@password C:\BackupUserData\%DATE%.rar C:\UserData

получилось )

Я использую 7-zip, потому что он бесплатен и обеспечивает лучшее сжатие. Даже выбирая не максимальный уровень сжатия:
7z.exe a -t7z D:\Backup\Oreon.SYS.7z D:\Backup\Day2\* -mx7

я умудрялся более 20Гб данных пользователей уместить на одну 700Мб CD болванку. Непосредственно архивирование занимает 4,5 часа, но серверу ночью всё равно нечего делать :D

#8 Пользователь не на сайте   B@ktery 

  • Старожил
  • PipPipPipPip

Отправлено 10 July 2010 - 21:35

попробую и с 7-zip. А им можно паролить и шифровать архивы?

#9 Пользователь не на сайте   Kazun 

  • Активный участник
  • PipPipPip

Отправлено 11 July 2010 - 12:34

Просмотреть сообщениеB@ktery, 10.7.2010, 22:35, сказал(а):

попробую и с 7-zip. А им можно паролить и шифровать архивы?

Можно,но шифровать вроде только через GUI,а паролить -p{Password}: set Password .

#10 Пользователь на сайте   konstanteen 

  • Старожил
  • PipPipPipPip

Отправлено 11 July 2010 - 19:09

При создании архива в формате 7-Zip из командной строки с ключем -p шифрование применяется автоматически. Для ZIP формата шифруются только данные, но не список файлов(дерево структуры архива), а вот для формата 7-Zip с ключом -mhe зашифруется и список файлов, пример:
7z.exe a -t7z -mx7 -p"My very strong password." -mhe D:\Backup\Oreon.SYS.7z D:\Backup\Day2\*

Соответственно проверить, что данные зашифрованы с помощью AES:
7z.exe l -p"My very strong password." D:\Backup\Oreon.SYS.7z


#11 Пользователь не на сайте   B@ktery 

  • Старожил
  • PipPipPipPip

Отправлено 13 July 2010 - 20:45

Скажите, а в Vista и 2008 Server, есть в коробке 7Zip? Ненахожу :D

Подскажите как удалить самые старые бэкапы желательно в этом же батнике? Например проходит месяц, накопятся архивы, и добавляю строчку в этот же батник которая каждую неделю начинает удалять самый старый архив. Можно так зделать?
в справке del /? такой комманды ненашел

#12 Пользователь не на сайте   Kazun 

  • Активный участник
  • PipPipPip

Отправлено 13 July 2010 - 21:17

Просмотреть сообщениеB@ktery, 13.7.2010, 21:45, сказал(а):

Скажите, а в Vista и 2008 Server, есть в коробке 7Zip? Ненахожу :D

Подскажите как удалить самые старые бэкапы желательно в этом же батнике? Например проходит месяц, накопятся архивы, и добавляю строчку в этот же батник которая каждую неделю начинает удалять самый старый архив. Можно так зделать?
в справке del /? такой комманды ненашел

7zip нет по умолчанию (http://www.7-zip.org/) .

Для удаления самого старого архива:

Цитата

@echo off
set d=C:\Backup
for /F %%i in ('dir %d% /O:D /B') do (del %d%\%%i & exit)


#13 Пользователь не на сайте   nisk 

  • Участник
  • PipPip

Отправлено 14 July 2010 - 08:23

в отличие от 7zip, rar очень красиво именует файлы с датой (кстати, лучше, по-моему, использовать rar.exe а не winrar.exe).
%date% в имени файла -- не люблю, т.к. "01.08.2010" меньше, чем "31.07.2010", неудобно смотреть список? на границах месяцев и лет он перемешан.
сам использую
set DAY=%DATE:~0,2%
set MONTH=%DATE:~3,2%
set YEAR=%DATE:~6,4%
set ORDERDATE=%YEAR%.%MONTH%.%DAY%
(не подходит для win2k)

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

#14 Пользователь не на сайте   B@ktery 

  • Старожил
  • PipPipPipPip

Отправлено 19 July 2010 - 23:24

скажите, а батник для архивации, нужно запускать на том ПК на котором лежат сами данные для архивации?
можно так чтоб запустить его с сервера, и он архивировал ту инфу что у пользователя на ПК, к себе на сервер?

#15 Пользователь не на сайте   Kazun 

  • Активный участник
  • PipPipPip

Отправлено 20 July 2010 - 01:30

Просмотреть сообщениеB@ktery, 20.7.2010, 0:24, сказал(а):

скажите, а батник для архивации, нужно запускать на том ПК на котором лежат сами данные для архивации?
можно так чтоб запустить его с сервера, и он архивировал ту инфу что у пользователя на ПК, к себе на сервер?

Можно,все зависит от прав доступа.

#16 Пользователь не на сайте   B@ktery 

  • Старожил
  • PipPipPipPip

Отправлено 20 July 2010 - 21:07

Понял, спасибо буду пробывать.

а как лучше всего зделать поиск файлов батником по маске? допустим у пользователя на диске С полно файлов xls, pdf, doc разбросаных по разным папкам. Хотелось бы найти все по маске и скопироваль или заархивировать на другой локальный диск.
Подскажите, какой должен быть синтаксис?

#17 Пользователь не на сайте   Kazun 

  • Активный участник
  • PipPipPip

Отправлено 20 July 2010 - 21:26

Просмотреть сообщениеB@ktery, 20.7.2010, 22:07, сказал(а):

Понял, спасибо буду пробывать.

а как лучше всего зделать поиск файлов батником по маске? допустим у пользователя на диске С полно файлов xls, pdf, doc разбросаных по разным папкам. Хотелось бы найти все по маске и скопироваль или заархивировать на другой локальный диск.
Подскажите, какой должен быть синтаксис?

for /F %%i in ('dir C:\*.txt,*doc,*.log /s) do (copy %%~fi D:\backup)

#18 Пользователь на сайте   konstanteen 

  • Старожил
  • PipPipPipPip

Отправлено 20 July 2010 - 23:07

dir C:\*.txt,*doc,*.log /s
это круто, и поможет если у вас пользователи могли писать в корень, но имхо лучше ограничится директорией учётной записи, предварительно изучив содержания корня диска C:

#19 Пользователь не на сайте   B@ktery 

  • Старожил
  • PipPipPipPip

Отправлено 23 July 2010 - 21:11

напримаер для директории профиля пользователя на Vista dir C:\Users\*doc,*.log /s но нужно же не просто найти файлы по маске а и скопировать на другой диск, так понимаю что нужно кудато подставить xcopy , а куда именно? По идее так dir C:\Users\*doc,*.log /s xcopy D:\dir не выходит (

#20 Пользователь не на сайте   arrrt 

  • Новичок
  • Pip

Отправлено 23 July 2010 - 22:12

Просмотреть сообщениеB@ktery, 23.7.2010, 21:11, сказал(а):

напримаер для директории профиля пользователя на Vista dir C:\Users\*doc,*.log /s но нужно же не просто найти файлы по маске а и скопировать на другой диск, так понимаю что нужно кудато подставить xcopy , а куда именно? По идее так dir C:\Users\*doc,*.log /s xcopy D:\dir не выходит (

мляя....
да используйте то профили, <здесь был мат>.

Сообщение изменено: diggerzz (28 July 2010 - 11:51 )
Причина редактирования: мат в тематике


  • (2 Страниц)
  • +
  • 1
  • 2
  • Вы не можете начинать новые темы
  • Вы не можете отвечать в этой теме

1 пользователей читают эту тему
0 зарегистрированных, 1 гостей, 0 скрытых