Судя по учестившимся вопросам которые задают мне лично и в этот форум, начинающие админы и пользователи выполняющие их функции наконец таки начали задумываться об сохранении информации. чтобы не писать кучу раз я попробую рассказать что я нарыл в свое время и как использую в своей работе. (и не
только.)
1 надо определиться какая информация нужна (винт, сервер и пр.)
2 посчитать приблизительный обьем будущего архива.
3 определиться с периодичностью архивации. чем чаще тем лучше, но резко возрастают обьемы.
4 определить какие старые архивы нужны. (т.е. нужна
реальная копия "на вчера" или "а чтобы и за полгода назад восстановить" )
5 установить какую нить фичу, удовлетворяющим следующим требованиям:
5.1 "фича" должна архивировать что нам надо.
5.2 "фича" должна создавать уникальное имя самого архива
5.3 "фича" должна уметь снимать
атрибут архивный (после архивации)
5.4 "фича" должна уметь распознавать наличие атрибута архивный (типо если его нет то не трогать)
5.5 было бы приятно, если у "фичи" была бы какая то хистори
5.6 "фича" имела бы возможность двух режимов 1- полный это когда архивирует все и второй
измененный это когда архивируются только файлы , которые были изменены за какой то период.
6 ставим "фичу" на машину и настраиваем автозапуск (или ручной) так как нам надо.
7 архивация должна проходить так:
7.1 раз в неделю (пятница) архивируется все и снимаются атрибуты "архивный"
со всех файлов.
7.2 в остальные дни недели архивируются только файлы имеющие атрибут "архивный"
7.3 раз в какой то промежуток все архивы сливаются на какой то внешний носитель (либо уничтожаются за ненадобностью).
в связи с тем что такая фигня мне была нужна давно, я
написал прогу на паскале (и пульнул как курсовой )))) )
что она может.
1 берет внешний архиватор (проверял на arj и rar) генерит ему командную строку и запускает его с ней...
далее я напишу как есть сейчас (для rar)
в имени файла должна стоять дата ггггммдд**. ( **
- любые буквы напримет mat для материальной группы). считывается из системы в настроечном файле прописываем также всякие команды для самого архиватора.
вот строка которая подставляется архиватору
a -r -v620000 -ao -ac 20030520mat C:\1C_Bases\1C_Mat\1SBDB\*.*
расшифрую:
сжать
с поддиректориями
том не больше 600 мегов
снять атрибут "архивный" с файла
архивировать только файлы с атрибутом "архивный"
дата + имя архива
что и откуда брать (здесь все из католога...)
вот такое решение было. плохо конечно
что на паскале , но на то время я и это ели ели написал.
если есть желание можно будет пообщаться.
icq 12065497
или az_av@mail.ru только в теме укажите что Е1
p.s. господа "правильные" программисты и супер админы. типо просьба не
пинать. каждый что может то и делает. )))
{ А....... Александр }
{ alex@............ru, az_av@mail.ru }
{$M $4000,0,0 }
{Загружаем переменные из из настроечного файла a_sys.ini}
uses Dos,Crt;
var
perem:text;
{файл-переменная для загрузки переменных}
arxivat:string; {тип архиватора}
full:string; {переменная для архива полный}
obnov:string; {переменная для обновления}
nummax:integer; {переменная максимального количества архивов обновлений}
num:text; {файл-переменная для проверки типа архива полный/обновление}
numt:integer; {переменная текущего архива}
kommstr:string; {переменная для использования .... полный/обновление }
f_arhiv:text; {файл-переменная для
загрузки списка архива }
s_arhiv:string; {переменная для загрузки списка архива }
kommstrend:string; {конечная переменная для формирования коммандной строки}
{проверяем номер архива на полный/неполный n = 1 или нет}
if numt=1
then
begin
{ Writeln
('N=', numt, 'считываем параметры для полного архива');}
kommstr:=full; {привязываем к файлу полного архива}
{Блок "истории архива - начало"}
Writeln (f_history, 'текущий архив : полный ');
{Writeln (f_history);}
{Блок "истории архива - конец"}
end
else
begin
{ Writeln ('N=', numt, 'считываем параметры для обновленного архива');}
kommstr:=obnov; {привязываем к файлу обновленного архива}
{Блок "истории архива - начало"}
Writeln (f_history, 'текущий архив : обновление ');
{Writeln (f_history);}
{Блок "истории архива - конец"}
end;
{проверяем номер архива на последний/не последний}
if numt=nummax
then
begin
{ Writeln ('N=', numt, 'это был последний архив');}
numt:=1;
{Блок "истории архива - начало"}
Writeln (f_history, 'это был последний архив. ');
{Writeln (f_history);}
{Блок "истории архива -
конец"}
end
else
begin
{ Writeln ('N=', numt, 'добавляем к значению номера архива единицу');}
numt:=numt+1;
end;
close (num);
{Writeln ('N=', numt);}
Assign (num, 'narx.ini');
Rewrite
(num);
Writeln (num, numt);
close (num);
: 1 , так сиди и помалкивай , если и такое написать не смог )))))
: 2, да фиг его знает... писалось то не для виндов, все настраивалось под arj тачка 486, сеть 10 мб сервер новелл 3.12 операционка дос 5.*
а там ntbackup, небыло...
просто есть решение и
работает кучу лет.
если есть время и нормальные ручки, можно переписать, а если нет то можно и так пользоваться...
результат один.. (почти)
прога есть хорошая BackUP32 - делает все!!! (ну почти все), но не может стартовать самостоятельно, нужно запускать (из командной строки или кнопкой старт)
А так почти все пункты перечисленные выше есть
На самом деле кто как может так и архивит у кого на сколько знаний хватает
Я выот к примеру не навижу программить и выше приведенный код я просто не смотрел :-)
Внимание! сейчас Вы не авторизованы и не можете подавать сообщения как зарегистрированный пользователь.
Чтобы авторизоваться, нажмите на эту ссылку (после авторизации вы вернетесь на
эту же страницу)