Бэкап баз 1C 7.7 средствами командной строки
„Все админы делятся на две категории: те, кто делают бэкап, и те, кто пока ещё ничего не потерял.“
Решение задачи под Windows – забираем данные с общих ресурсов файлового сервера Samba и складываем их на жесткий диск Windows 2003.
Собственно, здесь вместо баз 1C 7.7 могло быть все, что угодно – любые папки и файлы.
Возможно, вариант с cron’ом вместо Task Sheduler был бы более близким по духу к эхотагу – но, в своей задаче, я рассматривал, в первую очередь, встроенные средства операционной системы.
Какой тип архива всегда был родным для Microsoft? Я считаю, что это – CAB (и, по-минимуму, ZIP также открывался Проводником сразу после первого логина в ОС).
К сожалению, насколько я понял, утилита makecab в составе XP не умеет „забирать“ данные из сети и не принимает в качестве параметра папки. Не знаю, умееет ли она сжимать в один архив несколько файлов. Другая утилита входит в состав MSDN и называется cabarc, но, несмотря на ее возможности, мне быстрее удалось достать IZArc. Утилита IZArc Command Line бесплатна (скачать)
Идеально бэкапы хранить так
Можно создать батник с командой для архивации определенной папки, либо же эту команду сразу поместить в Task Sheduler:
1 |
"C:\Program Files\IZArc\izarcc.exe" -a -r -cb -w -p C:\Backup1C7\accountant_USN_%DATE%.cab "\\BIGFILESERVER\1Cv7Bases\Bookkeeping_USN\*" |
Здесь:
a – добавить файлы в архив;
r – рекурсивно (включая подпапки);
cb – максимальный уровень сжатия;
w – включить в архив скрытые и системные файлы;
p – пути сохранять относительные,
затем – путь к архиву – destination и после – источник (source).
%DATE% – добавить в имя файла дату в формате ДД.ММ.ГГГГ.
NB: Для английской версии Advanced Server 2000 батник был таким:
1 2 |
FOR /F "TOKENS=2* DELIMS= " %%A IN ('date/t') DO SET shortdate=%%A "C:\Program Files\IZArc\izarcc.exe" -a -r -cb -w -p C:\Backup1C7\accountant_usn_%SHORTDATE%.cab "\\BIGFILESERVER\1Cv7Bases\Bookkeeping_USN\*" |
Добавлю, что с русскими именами проблем нет. Остается только добавить в Task Sheduler задание выполнять батник.
Чтобы распаковать cab архив из командной строки, вы можете использовать утилиту expand, входящую в состав Windows:
1 |
expand c:\Backup1C7\accountant_USN_12.12.2009.cab -F:* C:\Temp\ |
P.S. Кроме cabarc можете еще взглянуть на PowerArchiver Command Line.
Guest
26.01.2015 @ 23:22
лучше оставить как есть izarc –
cabarc дурацкий при опции „включать имена папок“ сжимает в архив их абсолютными путями. открываешь потом архив, а там Documents and Settings\Администратор\Рабочий стол\1С\файлы*.*
Uchla
26.01.2015 @ 23:23
Чтобы добавить в контекстное меню любой папки возможность сжимать эту папку целиком в CAB – можно так же использовать izarc. Просто создайте файл Folder_toCAB.reg с таким содержанием:
и импортируйте его в реестр.
Guest
26.01.2015 @ 23:32
Люди делятся на две категории: одни не знают, кто такой Билл Гейтс, а другие его ненавидят.
Люди делятся на три категории: одни умеют считать, другие — нет. (этот пункт веселит только людей из третьей категории)
Люди делятся на 10 категорий: одни понимают, что такое двоичное счисление, другие — нет.