Еще один скриптик для сохранения dbf баз с помощью архиватора. Коротенько (5 строк!) и работает ;) ТЕПЕРЬ 3 строки!!!

Опубликовал Константин (const000) в раздел Администрирование - Архивирование (backup)

Работает на Win XP,2003 и далее. Хорошо запускается из планировщика.
В результате получается архив с именем что-то типа
arc2008-09-17-17-14
Стало актуальным в свете борьбы за легальность софта - 7-zip бесплатен и отлично работает, больше ничего не требуется.
Вместо
c:
cd "C:\Program Files\7-Zip"
можно указать иное расположение архиватора. (Да, я знаю, что можно вписать прямо в путь вызова, но работает НЕ ВСЕГДА и не знаю почему).
Вместо D:\Arhive\ - путь архивирования
Вместо C:\Shop\ - что архивировать
-x!*.cdx - указывает, что не нужно архивировать индексы

Благодаря Diamin получилось умять все в 3 строки!
Смотрим версию 2
Дополнительные фичи в посте Diamin

Скачать файлы

Наименование Файл Версия Размер
Скриптик
.1221657577 0,24Kb
25.09.09
748
.1221657577 0,24Kb 748 Скачать
второй укороченный вариант
.1227014062 0,15Kb
25.09.09
211
.1227014062 0,15Kb 211 Скачать

См. также

Комментарии
0. Константин (const000) 88 24.09.08 09:35 Сейчас в теме
Работает на Win XP,2003 и далее. Хорошо запускается из планировщика.
В результате получается архив с именем что-то типа
arc2008-09-17-17-14
Стало актуальным в свете борьбы за легальность софта - 7-zip бесплатен и отлично работает, больше ничего не требуется.


Перейти к публикации

1. V. L. (Vladal) 410 24.09.08 09:35 Сейчас в теме
Оригинальное решение!
А я парился... [infostart.ru/projects/1106]
2. Константин (const000) 88 24.09.08 11:37 Сейчас в теме
(1) Блин, у тебя намного интереснее. А мне-то всего и нужно было экстренно настроить бекап баз в магазинах. Договорились с операторами, что ЭТО стоит в автозагрузке и они по утрам пьют чай в течение 3-х минут после включения компьютера ;) Как ни странно, в 5-и магазинах работает уже три года - при плановом объезде только старые архивы удаляю, чтобы диск не переполнялся.
3. GSoft. (GSoft) 2762 25.09.08 00:00 Сейчас в теме
(2) а что мешает настроить автоудаление в том же скрипте
к примеру лет пять назад настраивал архивирование по следующей схеме
1. утром создается архив с текущей датой
2. каждые два часа создается текущий архив
3. вечером переписывается архив с текущей датой
4. в конце текущего месяца бэкапы прошлого сливались на ленту и удалялись

итого: каждый день имелся утренний архив, текущий с актуальностью не более 2 часов и в конце дня уже вечерний и куча +
все было реализовано с помощью winrar`a bat-файла и планировщика windows)))
4. Константин (const000) 88 25.09.08 10:53 Сейчас в теме
(3) Да в принципе ничего. Можно тем же for разобрать имя файла архива и сравнить с текущим месяцем/годом. Но если все это корректно делать (где-то здесь похожий скриптик был), то это будет уже прога строк на 50, в которой без стакана не разберешься. А так все просто и понятно. Для большинства плюсанувших это ИМХО просто маленькая демонстрация возможностей командной строки ;)
5. Александр (KooLooShin) 30.09.08 08:58 Сейчас в теме
> Да, я знаю, что можно вписать прямо в путь вызова, но работает НЕ ВСЕГДА и не знаю почему

Можно использовать 7z для командной строки - 7za. Закидываешь его в папку с Виндой и больше не паришься с указанием пути.

Для удаления старых файлов - nCron рулит. А чтобы иконка не светилась в трее - nCron Lite рулит и педалит.
6. Сергей (seermak) 656 10.10.08 19:31 Сейчас в теме
мне понравилось - немного переделал, вставил в процедуру ПриСменеРасчетногоПериода (конфа ЗП), все равно бух работает монопольно и при начале нового месяца расчета получаю архив. Минусы: с русским каталогом базы - облом; Надо ложить программу чтобы сделать архив, (ложу автоматом) - бух поначалу пугалась, потом привыкла
7. Дмитрий Пономарев (Diamin) 18.11.08 11:14 Сейчас в теме
Вот готовое решение для максимального сжатия только необходимого(получаем закрытый паролем "123" архим минимального размера с имененем "База_ГГГГ.ММ.ДД" и раскидываем его копию по дублирующим хранилищам в сети не имеющим общедостуных шар, на текущем сервере храним только последнюю версию бекапа):

Батник :
rem жмем
"C:\Program Files\7-Zip\7zG.exe" a -t7z E:\ZiK_%date:~-4%.%date:~-7,2%.%date:~-10,2%.7z -i!E:\Bases\2007\ZP\PRBasic\* -x@E:\Batch\Zip1cBases\ZiK_ExcludeFiles.ini -mhe -mx9 -p123 -y

rem удаляем старое
del E:\BackUp1cBases\ZiK_*.7z /F /Q

rem Копируем свежее
xCopy E:\ZiK_%date:~-4%.%date:~-7,2%.%date:~-10,2%.7z E:\BackUp1cBases\ /h /r /y /z

rem удаляем свежее
del E:\ZiK_*.7z /F /Q

rem авторизуемся на сетевом ресурсе
net use \\192.168.0.1\F$ /User:Robot Pasword

rem копируем на сетевой ресурс
xCopy E:\BackUp1cBases\ZiK_%date:~-4%.%date:~-7,2%.%date:~-10,2%.7z \\192.168.0.1\F$\ /h /r /y /z

rem авторизуемся на сетевом ресурсе
net use \\192.168.0.144\1cbackup /User:robot Pasword

rem копируем на сетевой ресурс
xCopy E:\BackUp1cBases\ZiK_%date:~-4%.%date:~-7,2%.%date:~-10,2%.7z \\192.168.0.144\1cbackup /h /r /y /z

ZiK_ExcludeFiles.ini - Файл исключений:
E:\Bases\2007\ZP\PRBasic\ExtDb
E:\Bases\2007\ZP\PRBasic\NEW_STRU
E:\Bases\2007\ZP\PRBasic\*.CDX

если кому необходимо могу дать решение:
для создания архива WinRar'ом из командной строки
для записи данных на болванку с помощью Nero с запуском из командной строки.
для записи данных на болванку с помощью бесплатной программы с запуском из командной строки.
8. Константин (const000) 88 18.11.08 14:23 Сейчас в теме
(7) А что будет если в прошлую сессию архивирования сеть не работает/не отвечают компы/сменился пароль, а мы это просмотрели? Такое архивирование ОПАСНО!!!
Минус - 7zip в максимальной компрессии не очень быстр, но это на любителя
P.S. Я не знал, что можно сделать %date:~-x.x%. Удобно, хотя и не очень читабельно. Но зачем нам точки в имени файла?
9. Дмитрий Фамилия (freek) 28.12.11 14:13 Сейчас в теме
10. simuljakr (simuljakr) 153 28.03.13 17:08 Сейчас в теме
А если есть работающие пользователи ?
Нормально все заархивируется ?
11. Константин (const000) 88 28.03.13 18:07 Сейчас в теме
(10) simuljakr, Да, сам пользую. Если запущено в монопольном режиме - естественно не заархивируется (точнее будет все, кроме *dbf :) ). Если идет сложный процесс перепроведения - могут быть косяки времени проведения, но это лечится тестированием/исправлением. Все-таки это простая штучка для мелких баз.
Опыт восстановления из таких архивов есть успешный неоднократный.