Сегодня мы рассмотрим: Настоящие ценители музыки знают, что для качественного...
Давайте сразу начнём с простого примера. К примеру нам надо постоянно архивировать какую-то папку, или папки, или файлы и т.д. То-есть нам надо постоянно выполнять одну и туже операцию по архивации. Запускать архиватор, искать файлы, выбирать место и т.д. В общем, эта операция описана в этой статье -
Как этого избежать? Точнее не избежать, а автоматизировать этот нудный процесс? А очень просто, надо просто создать ярлык с определёнными свойствами и прописать там нужные папки. И после клика по этому ярлыку нужные папки будут автоматически архивироваться и помещаться в нужное место. Ну блин очень удобно, особенно когда работаешь над проектом, или постоянно заливаешь файлы, или ещё что-то. Надо просто закинуть нужные файлы в нужную папку, ткнуть по ярлыку и архив готов. И не надо постоянно лазить по настройкам архиватора, каждый раз настраивая архивацию заново. Всё довольно просто и удобно. И в этом нам поможет командная строка.
Внимание, для этого нам понадобится архиватор WinRAR . Конечно есть и другие архиваторы и всё такое. Но я работаю именно с этим. Но ведь тут главное понять принцип создания архива при помощи командной строки , дальше будет проще. Какой архиватор захотите, тот и будете "пользовать", ну или "юзать" Только учтите, команды у разных архиваторов разные. Что прокатит с архиватором WinRAR, то не прокатит с другими архиваторами. Но если знаете принцип создания архива, то легко разберётесь и с другими архиваторами. Итак:
Тут всё до безобразия просто. Давайте опять всё разберём на простом примере. Вот мне к примеру надо постоянно архивировать сайты, ведь я их создаю и всё такое. И чтобы меньше париться и чтобы всегда можно было легко откатиться до более ранней версии, по мере работы над сайтами, я постоянно создаю архивы. Кстати, таким-же образом можно легко делать резервные копии системных файлов и т.д. Что довольно удобно. Ведь архиватор показывает и скрытые файлы, значит, если какие-то скрытые файлы поломаются, то в процессе восстановления, вам не придётся лишний раз ползать по настройкам компьютера. Если вдруг случится косяк, просто открываете архив и восстанавливаете нужный файл в нужное место с заменой и все дела. Извините отвлекся.
Итак, для начала надо создать ярлык . Просто тупо кликаем правой кнопкой мыши по рабочему столу. Далее в контекстном меню переходим по пункту Создать\Ярлык. Прописываем там строку и сохраняем:
F:\portable\zraznoe\WinRAR\WinRARPortable.exe a -ep1 -r -u -rr10% -y -ibck -t F:\Разное\site-разное\arhiv\история\site.rar F:\Разное\site-разное\site\*.*
Вам конечно придётся прописать другую строку. Эта строка чисто для примера, чтобы разобраться что и куда тут надо тыкать Итак:
F:\Разное\site-разное\arhiv\история\site.rar - здесь указывается место, где будет создан архив и его название, в данном случае я обозвал его site.rar
F:\Разное\site-разное\site\*.* - здесь указывается папка, которую надо архивировать, в данном случае это папка site А значки *.* обозначают, что будет архивироваться всё содержимое выбранной папки.
F:\portable\zraznoe\WinRAR\WinRARPortable.exe - а вот здесь вы указываете путь до вашего архиватора. Мне проще, я пользуюсь портативной версией, поэтому могу хранить её где угодно. А если у вас стандартная версия архиватора WinRAR , то придётся поискать его на диске "С". Примерно в этой папочке - C:\Program Files (x86). Ну или примерно где-то там Но лучше конечно пользовать портативные версии программ, они круче. Помните я их описывал? Не помните? Ну вы блин и даёте. Вот ведь эта статья -
a -ep1 -r -u -rr10% -y -ibck -t - а вот эта вот ерунда, это всякие команды и ключи . Вот сейчас мы их и разберём немного:
a - это команда для добавления файлов в архив. Дальше пойдут ключи:Ep1 - исключаем из пути базовую папку.
R - обрабатываем вложенные папки.
U - во время архивации, старые папки и файлы в архиве, заменяем на новые.
Rr10% - информация для восстановления. В принципе 10% многовато, просто я перестраховщик. По мне, лучше пускай побольше места занимает, зато понадёжнее хранится. Ведь чем больше выделите места под эту информацию, тем надёжнее. Но как правило бьются архивы довольно редко. Лично у меня ещё ни разу в жизни ни один архив не поломался. Ой, а вот если у вас стоят антивирусы, оптимизаторы и прочая и прочая, то тут конечно риски возрастают.
Y - на все запросы ответ "Да". Это чтобы лишний раз не отвлекаться.
Ibck - а это чтобы архиватор WinRAR запускался в фоновом режиме, чтобы лишний раз глаза не мозолил. Ведь эту архивацию можно запланировать по времени, при помощи планировщика, что довольно удобно. И у вас всегда будет свеженький архив нужных файлов. У меня так сохранки игр постоянно сохраняются, ибо я постоянно забывал про них во время восстановления системы и приходилось всё переигрывать заново, а это напрягало и напрягало довольно сильно
T - а это надо, чтобы файлы протестировались после упаковки.., мало-ли...
Вот и всё. Создаёте ярлык, прописываете там нужные команды и ключи. Теперь просто тыкаете по ярлыку и нужная папка помещается в архив и размещается в нужном месте и все дела.
А чтобы ярлык не попутать, можно значок ему подобрать. Просто заходите в "Свойства" ярлыка и тыкаете по кнопочке "Сменить значок". Затем выбираете тот, который приглянулся, жимкаете "Ок" и все дела. Теперь вы ваш ярлык для архивации ни с чем не попутаете Кстати, если хотите ярлык самого архиватора, то ярлыки программ как правило хранятся в папках с программами. Но можно просто тупо создать ярлык самого запускающего файла WinRARPortable.exe это если портативная программа, или WinRAR.exe если стационарная и уже там прописать нужные команды и ключи и тогда париться с поиском значка не придётся. В общем, разберётесь. Тут ведь главное направление знать, куда рыть, а там накопаем
Запуск архивации при помощи планировщика заданий.
Вот хорошо что про планировщик заданий вспомнили. Сейчас научимся, как запускать архивацию, при помощи планировщика заданий, в нужное нам время . Тут только есть один момент, точнее два. В планировщике можно сразу прописывать нужные команды , а можно эти команды прописывать в ярлыке и потом при помощи батника запускать его в планировщике. Первый вариант простой и без запарок. Второй с запарками. Но ради чего париться? Сейчас объясню.
Тут всё просто. В первом варианте, если у вас полетит система и вы восстановите её до внесения изменений в планировщик, то всё придётся вносить заново. Опять искать эти ключи, команды, в общем напрягать "моск" и всё такое. Если будет второй вариант, то вам придётся всего-лишь заново создать задачу в планировщике и указать нужный путь до батника. И кроме того, при использовании батника, вам надо будет вносить изменения только в ярлык архиватора, а планировщика заданий вы больше касаться не будете, что блин довольно удобно.
Итак первый вариант, как я и говорил, он без запарок. Запускаем планировщик заданий. Он вот тут - Панель управления\Система и безопасность\Администрирование. Далее создаём простую задачу, настраиваем там всё как вам надо. Если встретятся танкисты, то только в коментах чиркните, мигом изображу статью, как пользоваться планировщиком заданий и всё такое. Это я не стебусь, ведь именно благодаря танкистам и появляются новые статьи. А если они ещё и броники одевают, то тут уже вообще целые серии статей появляются. Так-что огромная им благодарность за их вопросы. Да и вообще.., если смотреть с чисто философской точки зрения, то все мы танкисты, просто у каждого свои "танковые" сферы Ой.., отвлёкся.., извиняюсь
Итак, настраиваем всё под себя, даём название задаче, устанавливаем время запуска и т.д. А вот на вкладочке "Действие" выбираем "Запуск программы". А на вкладочке "Запуск программы" в поле "Программа, или сценарий" вводим выше приведённые команды, которые мы прописывали для ярлыка. Вот собственно говоря и всё. Теперь архивация будет запускаться в нужное вам время и с нужными параметрами.
А теперь для любителей сложностей. Запуск при помощи батника. Открываем блокнот и прописываем там путь к вашему ярлыку:
start F:\"portable\zraznoe\WinRAR"\rez_kop.lnk
start F:\"portable\zraznoe\WinRAR"\ - это команда на запуск (start ) и путь к вашему ярлыку, у вас путь конечно другой будет.
rez_kop.lnk - а это название вашего ярлыка. Название может быть любое, не забудьте только обязательно ставить расширение .lnk это расширение ярлыка.
Далее даём сему документу любое название и дописываем расширение .bat Я к примеру долго не парился просто обозвал его rez_kop.bat и всё. А вот теперь открываем планировщик заданий, далее "Запуск программы", ну и прописываете там путь к вашему батнику и все дела.
Внимание. Если у вас в батнике, в пути будут русские буквы, названия папок, файлов на русском языке, то надо сохранить его в кодировке OEM 866. В простом блокноте такой фишки нет, но она есть в нотепаде (Notepad). Путь в нотепаде будет такой - Меню\Кодировки\Кодировки\Кириллица\OEM 866. Меняете кодировку и батник заработает.
Обрисую всё в общих чертах для наглядности. Создаёте ярлык с нужными командами и ключами, затем создаёте батник, где прописываете путь до этого ярлыка, затем в планировщике прописываете путь до этого батника, все дела. Теперь нужно вносить изменения только в ярлык. Что весьма удобно. Ведь бывает что надо и вручную ткнуть по ярлыку и всё такое. А вот в первом варианте все изменения нужно вносить только в планировщик заданий. И чтобы вручную ткнуть, надо сперва запустить этот грешный планировщик. Но тут конечно на вкус и цвет фломастеры разные
А напоследок выложу таблицы команд и ключей для архиватора WinRAR. Итак, встречайте:
Таблицы команд и ключей для архиватора WinRAR
Список команд
A | Добавить файлы в архив |
C | Добавить архивный комментарий |
CH | Изменить параметры архива |
CV | Преобразовать архивы |
CW | Записать в файл комментарий архива |
D | Удалить файлы из архива |
E | Извлечь файлы из архива, игнорируя пути |
F | Освежить имеющиеся файлы в архиве |
I | Найти строку в архивах |
K | Заблокировать архив |
M | Переместить файлы и папки в архив |
R | Восстановить повреждённый архив |
RC | Воссоздать недостающие тома |
RN | Переименовать файлы в архиве |
RR[N] | |
RV[N] | |
S[имя] | Преобразовать архив в самораспаковывающийся |
S- | Удалить SFX-модуль |
T | Протестировать файлы в архиве |
U | Обновить файлы в архиве |
X | Извлечь файлы из архива с полными путями |
Список ключей
-- | Прервать дальнейший поиск ключей в командной строке |
-@[+] | Запретить [разрешить] списки файлов |
-ac | Снять атрибут "Архивный" после архивации или извлечения |
-ad | Добавить к пути назначения имя архива |
-af<тип> | Указать формат архива |
-ag[формат] | Добавить к имени архива текущую дату и время |
-ai | Игнорировать файловые атрибуты |
-ao | Добавить файлы с установленным атрибутом "Архивный" |
-ap<путь> | Установить путь внутри архива |
-as | Синхронизировать содержимое архива |
-av | Добавить электронную подпись |
-av- | Запретить добавление/проверку электронной подписи |
-cfg- | Игнорировать профиль по умолчанию и переменную окружения |
-cl | Преобразовать имена файлов в нижний регистр |
-cp<имя> | Выбрать профиль упаковки |
-cu | Преобразовать имена файлов в верхний регистр |
-df | Удалить файлы после архивации |
-dh | Открывать совместно используемые файлы |
-dr | Удалить файлы в Корзину |
-ds | Не сортировать файлы при архивации |
-dw | Уничтожить (затереть) файлы после архивации |
-ed | Не добавлять пустые папки |
-en | Не добавлять блок "Конец архива" |
-ep | Исключить пути из имён |
-ep1 | Исключить из пути базовую папку |
-ep2 | Сохранять полные пути файлов |
-ep3 | Сохранять полные пути, включая букву диска |
-e[+]<атр> | Задать исключение или включение файлов из/в обработку по маске атрибутов |
-f | Освежить имеющиеся файлы |
-hp[пароль] | Шифровать и данные, и заголовки файлов |
-iadm | Запрашивать административный доступ для SFX-архива |
-ibck | Запустить WinRAR как фоновый процесс в системном лотке |
-ieml[.][адрес] | Отправить архив по электронной почте |
-iicon<имя> | Указать значок для SFX-модуля |
-iimg<имя> | Указать логотип для SFX-модуля |
-ilog[имя] | Записывать протокол ошибок в файл |
-inul | Не выводить сообщения об ошибках |
-ioff | Выключить компьютер |
-k | Заблокировать архив |
-kb | Сохранять на диске файлы, извлечённые с ошибками |
-log[формат][=имя] | Записывать имена в файл-протокол |
-m |
Установить метод сжатия |
-mc<параметры> | Указать дополнительные параметры сжатия |
-md |
Установить размер словаря |
-ms[список] | Указать типы файлов для архивирования без сжатия |
-mt<потоки> | Установить число потоков |
-n<файл> | Включить в обработку только указанный файл |
-n@<файл-список> | Включить в обработку только файлы, указанные в файле-списке |
-oc | Установить NTFS-атрибут "Сжатый" |
-or | Переименовывать файлы автоматически |
-os | Сохранить потоки NTFS |
-ow | Обработать информацию о правах доступа к файлам |
-o[+,-] | Установить режим перезаписи |
-p[пароль] | Установить пароль |
-r | Обрабатывать вложенные папки |
-r- | Запретить рекурсию (обработку вложенных папок) |
-r0 | Обрабатывать вложенные папки только по шаблону |
-ri | Установить приоритет и время простоя |
-rr[N] | Добавить информацию для восстановления |
-rv[N] | Создать тома для восстановления |
-s | Создать непрерывный архив |
-s |
Создать непрерывные группы, используя счётчик файлов |
-sc<набор символов>[объекты] | Указать набор символов (и объекты) |
-se | Создать непрерывные группы, используя расширения файлов |
-sfx[имя] | Создать самораспаковывающийся архив |
-sl<размер> | Обрабатывать файлы размером меньше указанного |
-sm<размер> | Обрабатывать файлы размером больше указанного |
-sv | Создать независимые непрерывные тома |
-sv- | Создать зависимые непрерывные тома |
-s- | Запретить создание непрерывных архивов |
-t | Протестировать файлы после архивирования |
-ta<дата> | Обрабатывать файлы, изменённые после указанной даты |
-tb<дата> | Обрабатывать файлы, изменённые до указанной даты |
-tk | Сохранять исходное время архива |
-tl | Установить время архива по самому новому файлу |
-tn<время> | Обрабатывать файлы не старее, чем указанный период времени |
-to<время> | Обрабатывать файлы более старые, чем указанный период времени |
-ts |
Сохранить/восстановить время файлов (модификации, создания, последнего доступа) |
-u | Обновить файлы |
-v |
Создать многотомный архив |
-vd | Очищать сменный диск перед архивацией на него |
-ver[n] | Управление версиями файлов |
-vn | Использовать старую схему именования томов |
-vp | Делать паузу перед каждым томом |
-w<путь> | Задать папку для временных файлов |
-x<файл> | Не обрабатывать указанный файл |
-x@<файл-список> | Не обрабатывать файлы, указанные в файле-списке |
-y | Подразумевать ответ "Да" на все запросы |
-z<файл> | Прочитать комментарий архива из файла |
Коды возврата WinRAR
В случае успешного окончания архивации WinRAR завершает работу с нулевым (0) кодом возврата. Если-же код возврата отличается от нулевого, значит пошёл косяк. И вот по коду вы сможете понять что это за косяк и как с ним бороться.
0 | Операция успешно завершена. |
1 | Предупреждение. Произошли некритические ошибки. |
2 | Произошла критическая ошибка. |
3 | Неверная контрольная сумма CRC32. Данные повреждены. |
4 | Предпринята попытка изменить заблокированный архив. |
5 | Произошла ошибка записи на диск. |
6 | Произошла ошибка открытия файла. |
7 | Ошибка при указании параметра в командной строке. |
8 | Недостаточно памяти для выполнения операции. |
9 | Ошибка при создании файла. |
10 | Нет файлов, удовлетворяющих указанной маске, и параметров. |
255 | Операция была прервана пользователем. |
Синтаксис командной строки
WinRAR допускает управление из командной строки. Общий синтаксис командной строки таков:
WinRAR <команда> -<ключ1> -<ключN> <архив> <файлы> <@файл-список> <путь для извлечения\>
команда | Комбинация символов, определяющая действие, которое будет выполнять WinRAR. |
ключ | Ключи используются для определения специфических действий, степени сжатия, типа архива и пр. |
архив | Имя обрабатываемого архива. |
файлы | Имена обрабатываемых файлов. |
файл-список | Файлы-списки - это обычные текстовые файлы,
содержащие имена файлов для обработки. Каждое имя файла должно быть
указано на отдельной строке и начинаться с первой позиции строки. В
файл-список допускается помещать комментарии, признак начала
комментария - символы //. Например, для архивирования файлов *.txt
из папки c:\work\doc, файлов *.bmp из папки c:\work\image и всех
файлов из папки c:\work\misc можно создать backup.lst, содержащий
следующие строки:
c:\work\doc\*.txt//резервная копия текстов c:\work\image\*.bmp//резервная копия рисунков После этого для архивирования достаточно будет выполнить команду: winrar a backup @backup.lst В одной командной строке разрешается указывать как обычные имена или группы файлов для обработки, так и файлы-списки. Если не указаны ни файлы, ни файлы-списки, то подразумевается шаблон *.* (т.е. WinRAR обработает все файлы). |
путь для извлечения | Используется только с командами e и x и указывает папку, в которую нужно извлекать файлы. Если эта папка не существует, то она будет создана. |
Примечания
а) Если не указаны ни файлы , ни файл-список , то подразумевается шаблон *.* , т.е. WinRAR обработает все файлы.
б) Если не указано расширение архива, то WinRAR будет использовать формат архива по умолчанию, выбранный в профиле архивации по умолчанию, но если вы хотите указать тип архива явно, то это можно сделать добавлением к имени архива расширения RAR или ZIP.
в) Ключи, введённые в командной строке, имеют более высокий приоритет, чем соответствующие установки в диалоге конфигурации, т.е. используются параметры, заданные ключами.
г) Для команд C , E , S , T , RR , K и X в имени архива допускается использовать шаблоны, поэтому одной командой можно обработать сразу нескольких архивов. Более того, если вместе с этими командами указать ключ , то поиск архивов будет вестись и во всех вложенных папках.
д) Некоторые команды и ключи применимы только к архивам RAR, некоторые к архивам RAR и ZIP, а некоторые к архивам всех поддерживаемых форматов. Это зависит от возможностей, заложенных в формат архива.
е) Команды и ключи не зависят от регистра символов, поэтому вы можете набирать их как строчными, так и прописными буквами.
- Вступление
- Как будет работать бэкап
- Скрипты
- Командная строка WinRAR
- Командные файлы
- Планировщик
- Заключение
- Ссылки
Вступление
Бэкапы надо делать всегда. Особенно для серверов. Это аксиома. Существуют разные способы бэкапа - просто копирование, архивация, множество специализированного софта (в том числе, например, и штатный бэкап от Microsoft), работающего с дисками, лентами, МО и т.д. Но что делать, если сторонний софт устанавливать нельзя, а возможностей штатного не хватает? Например, хочется иметь бэкап некоторых ценных папок сервера, в автоматическом режиме, за, скажем, последнюю неделю? Писать свою софтину? Можно. Но не охота. Из пушки по воробьям. Охота обойтись просто скриптом. И в этом нам поможет хороший архиватор WinRAR , встроенный планировщик Windows и книга Джесси Торреса "Скрипты для администратора Windows ".
Как будет работать бэкап
Итак, мне требуется:
- Хранить бэкап за каждый день в виде архивного файла
- Каждый файл должен создаваться с уникальным именем (в идеале включать дату создания в имя файла)
- Процесс создания бэкапа должен проходить в автоматическом режиме
- Файлы старше 1 недели должны автоматически удаляться
Архивацией будет заниматься WinRAR , он же будет автоматически именовать файлы. Определять возраст и удалять старые файлы будет скрипт (VBScript ), а автоматизировать все я буду с помощью встроенного Планировщика Windows .
Скрипты
Основу скриптов составляют процедуры из книги Джесси Торреса
"Скрипты
для администратора Windows
" (а конкретно из главы 3
"Обслуживание файлов
"). Они были дополнены мной для реализации
моих задач.
Вот какие функции нам понадобятся (привожу код целиком):
Этот код помещаем в файл remove_old_backups.vbs .
Командная строка WinRAR
Архиватор WinRAR обладает мощной поддержкой командной строки. В частности, он может формировать имя файла на основе пользовательского шаблона, включая в него разную служебную информацию, например, дату. Что нам, собственно говоря, и требуется. Кроме того, он умеет работать со списком файлов или директорий на архивацию, что сильно облегчает редактирование командного файла.
Я использую следующую командную строку для архивирования (прописана в файле make_daily.bat):
"c:\program files\winrar\winrar.exe" a -s -r -rr10p -dh -ed -m3 -ilogC:\DailyBackupScript\dailybackup.log -ag+YYYYMMDD X:\DailyBackup\backup
Разберем ее по составляющим:
- "c:\program files\winrar\winrar.exe" - путь к WinRAR-у
- a - команда на добавление файлов
- -s - режим сжатия "solid "
- -r - с поддиректориями
- -rr10p - на всякий случай добавляем информацию для восстановления (-rr), в количестве 10% (10p)
- -dh - открывать шареные фалы. Полезно, если кто-нибудь засиделся до 12 ночи, и редактирует файл, который должен уйти в бэкап
- -ed - не добавлять пустые директории
- -m3 - степень сжатия 3
- -ilogC:\DailyBackupScript\dailybackup.log - вести лог (-ilog) и записывать его в "C:\DailyBackupScript\dailybackup.log"
- -ag+YYYYMMDD X:\DailyBackup\backup - формировать имя файла, прибавляя в начало текущий год, месяц и число. Имя файла будет иметь примерно такой вид: 20060927backup.rar
- X:\DailyBackup\backup - папка, куда писать бэкапы и имя бэкапа (к которому в начало дописываются год, месяц, число)
Командные файлы
Вся работа по созданию бэкапа строится на основе командных файлов (.bat-файлов). У меня их два:
- make_daily.bat - содержит команды для создания архивного файла или файлов.
- backup_task.bat
- выполняет следующие действия:
- вызывает интерпретатор скриптов cscript и передают ему на выполнение скрипт, удаляющий старые файлы.
- вызывает make_daily.bat и передает ему в качестве параметра либо папку, которую надо архивировать, либо файл-список (в котором несколько папок на архивацию).
- В свою очередь, backup_task.bat вызывается Планировщиком Windows в назначенное время
Содержимое файла make_daily.bat (в одну строку):
@"c:\program files\winrar\winrar.exe" a -s -r -rr10p -dh -ed -m3 -ilogC:\DailyBackupScript\dailybackup.log -ag+YYYYMMDD X:\DailyBackup\backup %1
Содержимое файла backup_task.bat :
@cscript remove_old_backups.vbs call make_daily.bat @backup.lst
Для работы также необходимо создать файл backup.lst (обычный текстовый файл). Он должен содержать список директорий, которые включаются в бэкап. Каждая директория должна располагаться на отдельной строчке, например, так:
C:\Projects c:\VeryImportantProjects c:\Folder Name With Spaces\SubFolder
Обратите внимание, что имя директории-источника, содержащее пробелы, не обязательно заключать в кавычки, если вы пользуетесь файл-списком. Если же вы передаёте его напрямую, то кавычки обязательны. Не ставьте завершающий слэш - WinRAR этого не поймёт.
Планировщик
Планировщик можно вызвать через меню Start|Programs|Accessories|System Tools|Scheduled Tasks , или через Control Panel . Откроется папка Scheduled Tasks , в которую и надо добавить новую задачу. Это можно сделать следующим образом (я привожу только основные шаги).
Дважды щелкаем Add Scheduled Task, чтобы добавить новую задачу
Выберем наш bat-файл:
Зададим имя и периодичность задачи
Зададим время запуска
Зададим учетную запись и пароль, от имени которой будет выполняться задача. Обязательно!
Задача добавлена
Редактировать свойства задачи можно, щелкнув правой кнопкой мыши на иконке задачи в папке Sheduled Tasks и выбрав пункт меню Properties .
Заключение
Вот мы и создали простейший, но мощный:) "бэкапер" (или бэкапщик? как правильно?) из подручных средств. Его можно расширять и настраивать, менять архиваторы, прикручивать
всякие проверки и т.д. И все это без использования сторонних продуктов и почти без
программирования.
Надеюсь, мой опыт окажется для вас полезным.
Время от времени приходится настраивать сжатие логов и прочих данных, берущих не столько гигабайтами, сколько количеством. RAR позволяет очень гибко настроить сжатие устаревших данных и повесить это все на планировщик.
И вот, в очередной раз пересматривая rar.txt, я нашел разумной мысль сделать шпаргалку по самым используемым параметрам командной строки rar/winrar 5.0
Общий формат коммандной строки rar или winrar
RAR
[
Пример:
"C:\Program Files\WinRAR\Rar.exe" a -to3d -s -m5 -x*.rar -df -dh -- archive.rar *.log
Еще раз повторюсь, это не мануал, который не помешает покурить, благо он коротенький, а просто шпаргалка.
Сперва разумеется указывается путь к rar. В общем случае это "C:\Program Files\WinRAR\Rar.exe" (с кавычками). Однако есть возможность использования не консольной, а gui-версии. Для этого нужно прописать "C:\Program Files\WinRAR\WinRar.exe".
Команды/command
Первый параметр коммандной строки - команда.
a
- добавление в архив
m
- перемещение в архив
e/x
- извлечение файлов из архива
f
- обновление архива (только те что уже есть в архиве)
i
- поиск строки
l
- список содержимого архива
s
- создание sfx архива
t
- тест архива
u
- обновление файлов в архиве (с добавлением новых)
Ключи/switches
На втором месте - всевозможные ключи (опции), разделенные одним или несколькими пробелами. Для удобства и исключения некоторых ошибок "колбасу" ключей можно завершать двойным дефисом (--)
Самые важные ключи
-r
- рекурсивный проход каталогов
-s
- непрерывный (solid) архив. Очень полезная опция для большого количества однотипных и/или небольших файлов. В непрерывшом архиве словарь для всех файлов будет общим.
-m
-dh
- открывать файлы, открытые в данный момент другими процессами (open shared files)
Ключи безопасности
-dw
- удаляя, перезаписывать (wipe) файлы
-dr
- удалять файлы в корзину (windows)
-ht
- тип хэша . Для rar 5 рекомендуется использовать BLAKE2 как более криптостойкий.
-p[пароль]
- шифровать данные
-hp[пароль]
- шифровать и данные и заголовки (имена файлов)
-rr
- добавлять информацию для восстановления. Актуально при невосстановимых ошибках чтения/записи носителя информации.
-t
- тест после архивирования перед удалением (например для команды m)
Ключи для оптимизации
-ma
- выбор версии RAR. ma4 выбирает 4-ю версию, ma и ma5 - пятую. По умолчанию архивы создаются в 4й версии. Пора использовать уже пятую.
-mt<потоки>
- количество потоков. По умолчанию RAR выберет количество потоков по количеству ядер. Если процесс архивирования предполагается фоновым, лучше занять только одно ядро, указав ключ -mt1
-md
-v<размер>
- разбивка архива на тома определенного размера. Большие файлы могут вызвать проблемы при их передаче/пересылке/хранении. -v2G - размер тома 2Gb.
-ri<приоритет>[:<задержка>]
- приоритет процесса и задержка после каждой операции чтения-записи. (только в windows). Приоритет: 0 - по умолчанию системы, 1 - минимальный, 15 - максимальный. Задержка: 0..1000 ms. Задание задержки после каждой файловой операции позволяет сделать процесс архивирования менее заметным для других процессов системы.
-ms
- типы файлов, которые следует добавлять в архив, но не сжимать (-ms*.rar;*.zip;*.jpg)
Выбор файлов
-to<время>
- добавляет файлы старше указанного возраста. Формат: [
-tn<время>
- добавляет файлы новее указанного возраста
-x*.rar
- не включать в архив файлы или папки по маске файла/пути. *\filename - не включать файл filename во всех каталогах
<имяфайла>
- исключить файлы, указанные файле <имяфайла>
-n
- дополнительный фильтр по маске файла/пути
Разные ключи
-ilog
- запись лога в файл
-log[=name]
- запись списка обработанных файлов в лог-файл
-ap
установить путь внутри архива
-ver[n]
хранение в архиве предыдущих версий файла
-df
- удалить файлы после архивирования
-ed
- не добавлять пустые каталоги
-ep
- добавлять файлы в архив без каталогов
-ep1..ep3
- опции сохранения пути внутри архива (1 - без родительского каталога, 2 - полный путь, 3 - с диском/windows)
-ag[формат]
- добавить к имени архива текущую дату и время
Символы в формате: Y - год, M - месяц, MMM - месяц (Jan, Feb, etc.), W - номер недели, A - день недели (пн - 1, вс - 7), D - день месяца, E - день года, H - час, M - минута (если указано после "H"), I - минута, S - секунда, N - порядковый номер, добавляемый к архиву так, чтобы оно было уникальным.
--
Прекратить обнаружение опций
Опции команды rar.exe
http://www.forum.mista.ru/topic.php?id=227495
WinRAR допускает управление из командной строки. Общий синтаксис командной строки таков: WinRAR <команда> –<ключ1> –<ключN> <архив> <файлы…> <@файл-список…> <путь для извлечения\> команда Комбинация символов, указывающая на действие, которое будет выполнять WinRAR. ключ Ключи используются для определения специфических действий, степени сжатия, типа архива и пр. архив Имя обрабатываемого архива. файлы Имена обрабатываемых файлов. файл-список Файлы-списки – это простые текстовые файлы, содержащие имена файлов для обработки. Каждое имя файла должно быть указано на отдельной строке и начинаться с первой позиции строки. В файл-список допускается помещать комментарии, признак начала комментария – символы //. Например, для архивирования файлов *.txt из папки c:\work\doc, файлов *.bmp из папки c:\work\image и всех файлов из папки c:\work\misc можно создать backup.lst, содержащий следующие строки:c:\work\doc\*.txt //резервная копия текстовc:\work\image\*.bmp //резервная копия рисунковc:\work\miscПосле этого для архивирования достаточно будет выполнить команду:rar a backup @backup.lstВ одной командной строке разрешается указывать как обычные имена или группы файлов для обработки, так и файлы-списки. Если не указаны ни файлы, ни файлы-списки, то подразумевается шаблон *.* (т.е. WinRAR обработает все файлы). путь для извлечения Используется только с командами e и x и указывает папку, в которую нужно извлекать файлы. Если эта папка не существует, то она будет создана. Замечания а) Если не указаны ни файлы, ни файл-список, то подразумевается шаблон *.*, и WinRAR обработает все файлы. б) Если не указано расширение архива, то WinRAR будет использовать формат архива по умолчанию, выбранный в профиле архивации по умолчанию, но если вы хотите указать тип архива явно, то это можно сделать добавлением к имени архива расширения RAR или ZIP. в) Ключи, введенные в командной строке, имеют более высокий приоритет, чем соответствующие установки в диалоге конфигурации, т.е. используются параметры, заданные ключами. г) Для команд c, e, s, t, rr, k и x в имени архива допускается использовать шаблоны, поэтому одной командой можно обработать сразу нескольких архивов. Более того, если вместе с этими командами указать ключ -r, то поиск архивов будет вестись и во всех вложенных папках. д) Некоторые команды и ключи применимы только к архивам RAR, некоторые - к архивам RAR и ZIP, а некоторые - к архивам всех поддерживаемых форматов. Это зависит от возможностей, заложенных в формат архива. е) Команды и ключи не зависят от регистра символов, поэтому вы можете набирать их как строчными, так и прописными буквами.
Опции:
Ac Снять атрибут "архивный"
после архивации или извлечения
-ad
Добавить к пути назначения имя архива
-af<тип> Указать формат архива
-ag[формат] Добавить к имени
архива текущую дату и время
-ao
Добавить файлы с установленным
атрибутом "архивный"
-ap
Установить путь внутри архива
-as
Синхронизировать содержимое
архива
-av Добавить электронную
подпись
-av- Запретить
добавление/проверку электронной подписи
-cl Преобразовать имена файлов
в нижний регистр
-cu Преобразовать
имена файлов в верхний регистр
-df
Удалить файлы после архивации
-dh
Открывать совместно используемые
файлы
-ds Не сортировать файлы
при архивации
-ed Не добавлять
пустые папки
-en Не добавлять
блок "конец архива"
-ep
Исключить пути из имен
-ep1
Исключить из пути базовую папку
-ep2 Сохранять полные пути файлов
-f Освежить файлы
-hp[пароль]
Шифровать и данные, и заголовки
файлов
-ibck Запустить WinRAR как
фоновый процесс в системном лотке
-ieml
Отправить архив по электронной
почте
-ilog[имя] Записывать
протокол ошибок в файл
-inul Не
выводить сообщений об ошибках
-k
Заблокировать архив
-kb Сохранять
на диске файлы, извлечённые с ошибками
-m
Команды:
A Добавить файлы в архивC Добавить архивный комментарий D Удалить файлы из архива EИзвлечь файлы из архива, игнорируя путиF Освежить файлы в архиве K Заблокировать архив M Переместить файлы и папки в архив R Восстановить поврежденный архив RC Воссоздать недостающие тома RR[N] Добавить информацию для восстановления RV[N] Создать тома для восстановления S[имя] Преобразовать архив в самораспаковывающийся S- Удалить SFX-модуль T Протестировать файлы в архиве U Обновить файлы в архиве X Извлечь файлы из архива с полными путями
L: просмотр содержимого архива.
Наши примеры:
Добавить в архив с именем arh.rar все файлы, имеющие расширение.dbf и.cdx.
1. Создаем в каталоге BAZA подкаталогArhiv.
2. Устанавливаем путь к подкаталогуArhiv:
SET DEFAULT TO "D:\BAZA\Arhiv"
RUN WinRAR\RAR.exe a arh.rar D:\BAZA\*.dbf
RUN WinRAR\RAR.exe a arh.rar D:\BAZA\*.cdx
Извлечь файлы из архива, игнорируя пути (все файлы, имеющие расширение.dbf и.cdx):
1. Создаем в каталоге BAZA подкаталогRazarh.
2. Устанавливаем путь к подкаталогуRazarh:
SET DEFAULT TO "D:\BAZA\Razarh"
3. Помещаем программу WinRAR в каталогArhiv.
4. Вводим команды командной строки МS-DОS:
RUN WinRAR\unrar.exe e -y arh.rar *.dbf "D:\BAZA\razarh"
RUN WinRAR\unrar.exe e -y arh.rar *.cdx "D:\BAZA\razarh"