Архивирование баз данных 1С и не только… (настройка бесплатной программы Cobian Backup 9)




Принцип обмена данными из 1С с сайтом (на MySQL) и выдачи (публикации) этих данных по запросу.
PHP-Скрипт автоматической загрузки данных из файла данных в формате CSV в базу данных сайта работающего на WordPress.

В продолжение моей темы: 1С:Альфа-Авто Автосалон Автосервис: обмен с сайтом.
С помощью данного скрипта можно загружать в автоматическом режиме, по расписанию, данные сервисных книжек (ремонтов авто) из 1С:Альфа-Авто Автосалон Автосервис.
Также можно загружать данные в ручном режиме: для этого делается скрытая страница, где размещается специальная кнопка.
Комментарии размещенные внутри скрипта разъяснят логику и порядок действия.
Комментарии с "/////    echo" использовались для отладки.
Дополнительно создана таблица для журналирования результатов загрузки данных.
Скрипт включает в себя защиту от SQL инъекций (думаю безопасность соблюдена в полной мере).
В кратце:
1. Пишется скрипт, который запускает этот.
2. Создается регламентное задание в WordPress, по которому запускается скрипт из п.1. 
3. Этот скрипт осуществляет проверку на существование файла обмена в папке.
4. Если данные не новые, загрузка не производится.
5. Если данные новые, очищается таблица сервисных книжек.
6. Загружаются новые данные.

Собственно сам скрипт:

<?php // Полная загрузка сервисных книжек, создан 2024-01-05 12:44:55

global $wpdb2;
global $failure;
global $file_hist;

/////  echo '<H2><b>Старт загрузки</b></H2><br>';

$failure=FALSE;
//подключаемся к базе
$wpdb2 = include_once 'connection.php'; ; // подключаемся к MySQL
// если не удалось подключиться, и нужно оборвать PHP с сообщением об этой ошибке
if (!empty($wpdb2->error))
{
/////   echo '<H2><b>Ошибка подключения к БД, завершение.</b></H2><br>';
$failure=TRUE;
wp_die( $wpdb2->error );
}

$m_size_file=0;
$m_mtime_file=0;
$m_comment='';
/////проверка существования файлов выгрузки из 1С
////файл выгрузки сервисных книжек
$file_hist = ABSPATH.'/_1c_alfa_exchange/AA_hist.csv';
if (!file_exists($file_hist))
{
/////   echo '<H2><b>Файл обмена с сервисными книжками не существует.</b></H2><br>';
$m_comment='Файл обмена с сервисными книжками не существует';
$failure=TRUE;
}

/////инициируем таблицу лога
/////если не существует файла то возврат и ничего не делаем
if ($failure){
///включает защиту от SQL инъекций и данные можно передавать как есть, например: $_GET['foo']
/////   echo '<H2><b>Попытка вставить запись в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>$m_comment));
wp_die();
/////    echo '<H2><b>Возврат в начало.</b></H2><br>';
return $failure;
}
/////проверка лога загрузки, что бы не загружать тоже самое
$masiv_data_file=stat($file_hist);   ////передаем в массив свойство файла
$m_size_file=$masiv_data_file[7];    ////получаем размер файла
$m_mtime_file=$masiv_data_file[9];   ////получаем дату модификации файла
////создаем запрос на получение последней удачной загрузки
////выбираем по штампу времени создания (редактирования) файла загрузки AA_hist.csv, $m_mtime_file

/////   echo '<H2><b>Размер файла: '.$m_size_file.'</b></H2><br>';
/////   echo '<H2><b>Штамп времени файла: '.$m_mtime_file.'</b></H2><br>';
/////   echo '<H2><b>Формирование запроса на выборку из лога</b></H2><br>';
////препарируем запрос
$text_zaprosa=$wpdb2->prepare("SELECT * FROM `vin_logs` WHERE `last_mtime_upload` = %s", $m_mtime_file);
$results=$wpdb2->get_results($text_zaprosa);

if ($results)
{   foreach ( $results as $r)
{
////если штамп времени и размер файла совпадают, возврат
if (($r->last_mtime_upload==$m_mtime_file) && ($r->last_size_upload==$m_size_file))
{////echo '<H2><b>Возврат в начало, т.к. найдена запись в логе.</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>'Загрузка отменена, новых данных нет, т.к. найдена запись в логе.'));
wp_die();
return $failure;
}
}
}
////если данные новые, пишем в лог запись о начале загрузки
/////echo '<H2><b>Попытка вставить запись о начале загрузки в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>0, 'last_size_upload'=>$m_size_file, 'comment'=>'Начало загрузки'));

////очищаем таблицу
$clear_tbl_zap=$wpdb2->prepare("TRUNCATE TABLE %s", 'vin_history');
$clear_tbl_zap_repl=str_replace("'","`",$clear_tbl_zap);
$results=$wpdb2->query($clear_tbl_zap_repl);
/////   echo '<H2><b>Очистка таблицы сервисных книжек</b></H2><br>';
if (empty($results))
{
/////   echo '<H2><b>Ошибка очистки таблицы книжек, завершение.</b></H2><br>';
//// если очистка не удалась, возврат
$failure=TRUE;
wp_die();
return $failure;
}

////загружаем данные
$table='vin_history';         // Имя таблицы для импорта
//$file_hist Имя CSV файла, откуда берется информация     // (путь от корня web-сервера)
$delim=';';          // Разделитель полей в CSV файле
$enclosed='"';      // Кавычки для содержимого полей
$escaped='\

99 Comments

  1. alexk-is

    Здесь есть список ссылок на публикации аналогичной направленности http://infostart.ru/public/19363/

    Reply
  2. JohnyDeath

    (0)

    единственный недостаток — это невозможность архивирования открытых файлов, а в случае архивирования баз данных 1С такая ситуация весьма распространена.

    Не правда. Эта программа умеет делать теневое копирование и поэтому заморочки с временной папкой вообще не нужны.

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

    Reply
  3. vovan519

    (2) Да, кнопочка теневое копирование есть, только она мало поможет при монопольном открытии ну и что тоже самое при однопользовательской 1С. Так что информация полезна ИМХО

    Reply
  4. Mx00

    (2) Теневое копирование — это правильно, если им пользоваться, то можно временную папку и не использовать, но само теневое копирование не всегда удобно использовать, конечно это уже вопрос другого обсуждения, но например база лежит на флешке…

    Reply
  5. JohnyDeath

    (4) РАБОЧАЯ База 1С на флешке?? 😮

    Reply
  6. Mx00

    (5) мало того, что рабочая, так ещё и «очень важная» 🙂 просто она всегда должна быть с собой, как почта (Thunderbird), RAdmin и qip…

    поэтому когда прихожу домой информация с флешки дублируется и архивируется в разные места 😉

    Reply
  7. JohnyDeath

    (6) Я понимаю, когда копируют базу на флешку, чтобы перенести её в другое место, но чтоб прям на ней и работали — х.з. Флешка — она ж не жесткий диск, количество циклов записи ограничено.

    Да и вообще непонятно как-то. Ты ж с БД на флешке один работаешь, и вот во время работы (не закрывая 1С) тебе резко хочется сделать бекап??

    Reply
  8. Mx00

    (1) вариантов решения задачи архивирования множество и каждый выбирает то, что ему больше нравится. Я описал систему, которая нравится мне 🙂 если есть желание, можем попытаться выбрать из того перечня который ты указал то, что нужно…

    1. бесплатный

    2. настраиваемый

    3. любые данные (базы и просто папки)

    4. управление архивами

    5. FTP

    сразу укажу, что nnCron не бесплатен, хотя я его с удовольствием использую, там где нет требования к лицензионности ПО

    Reply
  9. Mx00

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

    Моя база лежит на флешке и архивируется не по моему желанию, а по расписанию, и не важно в базе я сижу или нет — архив должен быть, потому как это флешка и держать на ней рабочую базу страшно 😉

    Reply
  10. alexk-is

    (9) Может в таком случае лучше нетбук?

    Reply
  11. Mx00

    (10) не подходит — на нем работать не возможно 🙂

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

    в общем пройденый этап — Portable программы рулят в моей ситуации

    Reply
  12. alexk-is

    (11) Понятно. Может тогда это продам? 🙂

    http://www.transcendrussia.ru/products/ModDetail.asp?ModNo=198&LangNo=60

    Reply
  13. strange2007

    Чем просто cmd+архиватор не устраивает?

    Reply
  14. Mx00

    (13) Если тебе не знакомо понятие «Дифференциальный» и «Инкрементный», то это не значит, что другие об этом не знают. Если ты любишь команду АТ и можешь одним легким движением настроить несколько разных заданий, то флаг тебе в руки. Если ты в cmd напишешь сколько дней хранить архив и как его отправить на FTP, то ты просто молодец 🙂

    А вообще, я так понимаю, что ни кто не читает все эти описания…

    Reply
  15. strange2007

    (14) Как раз мне это знакомо, не издевайтесь. Я не просто вопрос везде такой задаю, т.к. сам сравнивал многие варианты. Но это уже холивар, считаете, что гендальф/кобианы оптимальный вариант — Ваше дело. Я считаю, что для повышения стабильности, лучше использовать по максимуму родной софт винды, в противном случае накладываются баги винды и сторонней программы + снижение производительности.

    Да там много всего

    Reply
  16. Mx00

    (15) родной софт винды — это круто, только не надо «гнуть пальцы» и говорить про родной софт и при этом писать «+архиватор», будьте последовательны и используйте родную архивацию Windiws.

    а если используете «сторонний архиватр», то не морочте людям голову своими разглогольствами на тему «Я считаю…»

    Поправьте свою шкалу самооценки на форуме каких-нибудь тинейджеров и выясняйте какая видеокарта круче для стабильности винды

    Reply
  17. strange2007

    (16) Не нервничай

    Reply
  18. electro_d

    Не нашел в настройках как сохранить базу под новым именем. Хочу архивировать мдшники разных баз, а прога присваивает им всем имя 1cv7

    Reply
  19. Mx00

    (18) да, есть такая недоработка…

    Вариантов я вижу два:

    1. Архивировать не файл, а папку, но в фильтрах установить файл *.MD и исключить папку NEW_STRU, тогда имя архива будет совпадать с именем папки, а не файла

    2. Написать cmd, который запускать после архивирования и который будет переименовывать файл после архивирования

    Reply
  20. electro_d

    (19) что-то я не пойму, добавляю в исключение папку NEW_STRU, а она все равно попадает в архив

    Reply
  21. Mx00

    (20) смотри дополнение в основном тексте «Настройка исключений для баз 1С 7.7»

    Reply
  22. CheBurator

    Осталась нераскрытой тема создания копии монопольно открытой базы с использованием теневого режима — будет работать или нет?

    .

    (2) и (3)…????

    Reply
  23. Mx00

    (22) провел эксперименты 🙂

    cobian с помощью теневого копирования нормально архивирует монопольно занятую базу.

    вот логи

    25.01.2010 2:54:00 Идёт подготовка к теневому копированию тома…

    25.01.2010 2:54:02 Слепок теневой копии тома выполнен

    25.01.2010 2:54:02 Новый теневой диск для «O:» — «\?GLOBALROOTDeviceHarddiskVolumeShadowCopy3»

    25.01.2010 2:54:02 Создание или обновление архива «P:Backup1C.DbEnergy_20100125.7z»

    25.01.2010 2:57:23 Архив «P:Backup1C.DbEnergy_20100125.7z» создан/обновлён. Количество сжатых файлов — 1616

    25.01.2010 2:57:31 1620 файлов проверено в «P:Backup1C.DbEnergy_20100125.7z»

    25.01.2010 2:57:31 Слепок теневой копии тома удалён

    25.01.2010 2:57:31 **** Задание «Energy» завершено. Количество скопированных файлов: 1616. Затраченное время (часы:мин:сек): 0:3:31 ****

    Reply
  24. CheBurator

    (23) ну если эксперименты — то надо во время монопольной работы запустить что-то тяжелое, изменяющее базу типа восстановления ГП, создать резервную копию, потом из нее восстанавливать и прогнать ТиИ чтобы понять все ли ок. Вдобавок по идее при шадоукопи база должна притормозиться и стоять, пока не выполнится создание…

    Reply
  25. Mx00

    (24) это уже относится к механизму теневых копий… я архивы делаю перед восстановлением ГП, поэтому для меня не критично…

    Reply
  26. CheBurator

    (25) это отмазка. ГП — для примера. Не нравится ГП — пусть будет: во время длительного проведения документа запустится теневое копирование — все ок будет?

    Reply
  27. JohnyDeath

    (26) Сергей, что ты подразумеваешь под «все ОК»? Конечно, все ОК не будет. Идеальное время для бекапа — когда в базе вообще никого нет.

    Я думаю, что во время длительного проведения документа, если его проводки еще не попали в соот-щие файлы БД, то и в архиве их, ес-но, не будет. ТИИ должно помочь.

    Я вообще частенько делают «моментальный» снимок текущий базы только копированием ДБФ к себе. Без всяких ТИИ.

    Reply
  28. CheBurator

    (27) это все я к тому, что мне немного непонятна технология теневого копирования…как она делается?

    Reply
  29. vkr

    (13)-(17) +5 баллов 🙂 А вот и не подеретесь… 🙂

    Честно говоря, если делать бэкап ночью, когда бухи спят,

    то что-то ничего лучшего, чем аккуратно написанный bat-файлик,

    в котором RAR архивирует базы, запускаемый Windows-планировщиком,

    не нашлось… Хотя пробовал дофига всяких бэкаперов…

    Сейчас RAR «умеет много гитик» — и файлы/папки исключать,

    и имена архивов по дате/времени генерить и т.п.

    Даже файлы забытых закрыть 1С-баз читать умеет… 🙂

    Если же нужно бэкапить параллельно с основной работой — фиг знает…

    Неправильно это как-то, некузяво…

    Так что, «учите матчасть, сэр» ! 🙂

    Reply
  30. Mx00

    (29) и ты туда же 🙂

    ещё раз повторю: бесплатно + удобно + надежно

    разберем твой вариант

    бесплатно: WinRAR — платный

    удобно: bat-файлик позволяет архивировать базы, а если не только базы, и данных много (хотя бы на 50 гигов в архиве)? сможешь сделать инкрементное архивирование с помощью RAR’a?

    надежно: в какой момент времени ты узнаешь что у тебя НЕ создался архив с твоим bat-файликом? думаю тогда, когда вдруг потребуется архив, а cobian может высылать письмо с ошибками сразу (например не хватает места на диске для архивов)

    ещё раз повторю для ВСЕХ кто мнит себя кулхацкером и считает, что если он этим пользуется, то круче не бывает… думайте прежде чем писать, думайте системно, не только как просто и быстро сделать архив, а как сделать так, чтобы АРХИВ БЫЛ В НАЛИЧИИ ТОГДА, КОГДА ОН НУЖЕН!!!

    а на счет матчасти… было это давно… изучил я всю эту матчасть и даже сделал конфигурацию http://mxmx.narod.ru/mxarch2000.html на 1С для архивирования WinRAR’ом и сообщение по почте отправлял и прочее и прочее, по ходу дела я понял, что создание архива и система архивирования — это «две большие разницы» и специальный софт удобнее и надежнее, чем самопальные приблуды…

    Reply
  31. strange2007

    (30) Делаю инкрементные архивы. Имеется система оповещений. Не использую РАР. Отсылается по ФТП. Отсылаются СМС-ки при ошибках. Ежедневный лог шлется на почту. Когда архивы размером с ДВД диск, шлется мессага для записи.

    План:

    1. Выгрузка из рабочего SQL

    2. Загрузка в резервный SQL

    3. Создание архива средствами 1С

    4. Копирование архива на резервный сервер

    5. Развертывание базы 1С для просмотра начальникам

    6. Развертывание базы для разработчиков

    7. Анализ лога и отсылка сообщений

    8. Распределение по датам/папкам и отсылка сообщений по размерам

    2 конторы так работают.

    Кода по молодости использовал централизованные программы: В один прекрасный момент новый касперский обозвал НКрона вирусом. Поменяли на ХСтартер. Вторая сказала, что под сервером 2003 самом первом «буду работать криво». Все остальные проги не ставил вообще даже на сервера.

    По скорости: Настройка архивации разрабатывается один раз. Если админ каждый месяц настраивает архивация — админа уволить без пособия. Основное время тратится на изучение функционала встроенных средств ОС. Если не верите, попробуйте оценить функционал робокопи.

    И вообще, попробуйте для себя поставить цель понять чем хороши cmd файлы, а не просто возмущаться. Поставьте весы и с одной стороны кладите плюсы пакетных файлов, с другой спец.софт и будете удивлены (но для этого придется, к сожалению, читать)

    Reply
  32. strange2007

    +31 А вообще это просто полемика, не приводящая ни к чему. Удачи Вам.

    Reply
  33. vkr

    (30) Вот-вот, как раз по поводу «системы архивирования»… 🙂

    1. Красивая обертка над бесплатным 7-zip-ом, и не более того.

    Я сам такую писал на Borland C++ Builder лет эдак десять назад,

    просто влом было с глючным софтом кассетного бэкапера ковыряться —

    а ведь тоже — «система архивирования» была 🙂

    2. В RAR-е есть «инкрементные» ключи : -ta и -tn

    3. Если у тебя даже мысль возникает о том, что может не хватить места

    на диске для архивов — сразу встает вопрос, а что происходит в вашей

    техслужбе ?

    4. У меня объем 1С-баз как раз примерно несколько десятков гиг…

    Полтора часа — и архив готов.

    5. И ведь никто не мешает вызывать тот же 7-зип из батника… 🙂

    Короче, давай не будем продолжать «холивар», ОК ? 🙂

    (31)-(32) Полностью с Вами согласен, коллега…

    Под тремя последними абзацами Вашей мессаги подписываюсь обеими руками… 🙂

    Reply
  34. Mx00

    (30) у тебя всё круто, вопросов нет 🙂 только я так и не понял как ты всё это делаешь… ну совсем не понятно каким софтом пользуешься 🙂

    по поводу админа уволить — так нет проблем, просто я обслуживаю 1С не в одном десятке организаций и тратить время «на изучение функционала встроенных средств ОС» мне не нужно, а вот когда сисадмин не может сделать так, чтобы были архивы — приходится настраивать самому 🙂

    а по поводу возмущения — так я же про тех, которые » bat-файлик,

    в котором RAR архивирует базы», если у вас cmd делает всё, что нужно для конечного результата — вопросов нет… другое дело, что я не могу потратить пару недель на написание такого скрипта, слишком дорого это будет стоить клиенту 😉

    Reply
  35. Mx00

    (33) 1. согласен, считай, что это замена самописному bat-файлу

    2. а ты хоть раз ими пользовался? и повторю RAR платный, я не могу устанавливать у клиентов варезный софт

    3.у меня возникает куча мыслей, я не сисадмин, я программист 1С, а как работают сисадмины я насмотрелся 🙂 любая система с оповещением предпочтительнее без таковой

    4. я писал про размер архива, а не исходных данных, это несколько разные вещи… и 1С я не архивирую инкрементно.

    5. ни кто не мешает, но вот скажи, у тебя лично именно в нынешней реализации bat-файлик отправляет информацию об ошибках сисадмину? если нет, то спор беспредметный…

    Reply
  36. vkr

    (34-35) 1. Софтом не пользуюсь никаким — просто bat-файл,

    архиватор RAR (вместо него можно любой фриварный по вкусу)

    и виндовозный планировщик 🙂

    2. Да, а что ? Правда, сейчас у меня немного по-иному батники выстроены.

    3. Согласен. Только архивировать, по идее, все-таки админ должен.

    но, тут Вы правы, коллега — сам не сделаешь, никто не сделает.

    Поэтому я к 1С-программеру — еще и админ… 🙂

    4. Ну, архивы — где-то гиг в десять…

    5. РАР умеет (ключ -ieml), только я дома служебку не читаю 🙂

    Да, в общем-то, о чем спорить ? 🙂

    Просто, плюс к тому, чтобы кнопочки в интерфейсе нажимать,

    неплохо бы еще и знать — как оно все в основе работает…

    (Это так, не к Вам конкретно, а просто мысли вслух) 🙂

    А то слова — DOS, Assembler, командная строка, скрипты и т.п.

    повергают молодое поколение в глубочайший ступор… 🙂

    Хороший пример, кстати, — рассказ Артура Кларка «С кометой»… 🙂

    Все, предлагаю на этом закончить обсуждение, хорошо ?

    Reply
  37. Mx00

    (36) ладно, если ты не получаешь вовремя извещений об ошибках архивирования, то ты являешься типичным сисадмином, который думает что у него всё хорошо, а как на самом деле просто не знает 🙂

    4. я про размер ЕЖДНЕВНОГО архива и не базы 1С, а просто пользовательских папок.

    В этом случае требуется инкрементное архивирование.

    Про кнопочки — если бы кнопочки были плохи, то так бы и сидели в DOS и работали бы не на 1С, а на FoxPRO…

    Reply
  38. vkr

    (37) 4. У меня тоже есть каталоги пользователей… Много… 🙂

    А ошибки архивирования редко-редко — и то по собственному

    недосмотру бывают… И я о них знаю… :Р

    Reply
  39. forexclubalex

    Отлично!Новичкам все понятно и просто!Благодарю!

    Reply
  40. forexclubalex

    Один вопрос почему по расписанию не хочет архивировать?Стоит ежедневно например в 9 утра сегодня посмотрел нет архивов в 9 часов((И дни недели почему то неактивные((

    Reply
  41. swamp

    ERR 26.10.2011 17:05:00 Ошибка теневого копирования тома на «CreateVssBackupComponents»: Доступ закрыт

    что нужно сделать?

    Reply
  42. AzagTot

    Если пользователи не вышли из базы будет работать архивирование?

    Reply
  43. swamp

    (42) AzagTot, да, только надо делать ночью, хоть они и висят, но ничего не делают

    Reply
  44. Black Cat

    Хочу поинтересоваться у сторонников BAT файлов для резервных копий: как запустить BAT файл без единого пользователя в системе (как службу) ? Или постоянно должен хотя бы один пользователь должен выполнить вход в систему ? Этой же проблемой грешат и «Хранитель» и «MZ Архиватор»: ему обязательно нужен активный пользователь. В режиме службы они работать не могут.

    Reply
  45. CheBurator

    С теневым копированием аккуратнее

    Несколько раз напарывался на то, что сделанная работа в базе просто исчезалп

    Reply
  46. Black Cat

    (45) CheBurator, насколько она исчезала ? На момент создания копии (несколько документов) или более глобально ?

    Reply
  47. CheBurator

    Сижу в базе. колбашу. массово исправляю/корректирую документы. все ок. Потом оказывается что изменений нет. вообще. как будто никаких изменений не проводил. было так неоднократно.

    Reply
  48. AlexInqMetal

    (47) CheBurator, можно поподробнее узнать — в тот момент были запущены какие то задания резервного копирования или нет, в какой момент обнаружили пропажу изменений? Просто была тут как то ситуация что бухгалтера жаловались на пропажу документов, списал это на забывчивость и попытки списать все на 1С, по ночам тоже работает кобиан с теневым копированием, вот прочитал Ваше сообщение и подумал, а может претензии бухгалтеров были небезосновательны?

    Reply
  49. Black Cat

    (47) CheBurator, так сколько доков пропало ? За какой момент времени ? Какая конфа ?

    Reply
  50. CheBurator

    Конфа ТиС

    пропажу обнаруживал вообщем тутже практически — спустя пару десятков минут, час, два. Доки не пропали — просто аннулировались все изменения которые делал. Такие траблы — в ночное время — идет работа кобиана.

    днем тоже раз в час кобиан шандарашит, но днем таких не замечалось — возможно потому, что днем идет минимум бэкапирования, а ночью много.

    если в базе никто не работает — все проходит гладко. бэкапится уже кучу лет.

    .

    была еще раз штука что пропало порядка 2.5 часов работы зарплатчика в ЗиКе. причина неясна. Но похоже что сбойнуло что-то, и транзакция осталась незакрытой. а при выходе из проги — все и откатилось в ноль. Большое подозрение на антивирь (разбирали ситуацию с hodgik — возможный вариант вроде придумали как это может быть, но до натурных испытаний не дошло)

    Reply
  51. Mx00

    (50) CheBurator, давно был похожий опыт — рейд контроллер глючил, сам не верил сисадмину пока не заменили рейд контроллер после этого лет 5 уже работают без проблем

    Reply
  52. CheBurator

    (51) как вычислили что рейд-контроллер глючил? в чем проявлялось?

    Reply
  53. Mx00

    (52) Проявлялось пропаданием данных и сбоем базы, вычислял сисадмин, думаю размещение базы не на рейде привело к нормализации ситуации и после этого был куплен новый рейд-контроллер

    Reply
  54. Black Cat

    (53) у Вас серверный Raid контроллер с батарейкой ? Просто у меня под сервером для 7.7 стоит обычный комп с интегрированным raid на материнке. После прочтения стало страшно ставить cobian. Хотя MZ архиватор и Хранитель (лохматой версии) работает нормально.

    Reply
  55. Mx00

    серверный — да, но больше ничего не знаю

    кобиан тут вообще не причем, даже не знаю что могло навести на такую мысль 🙂

    если другие «архиваторы» работают, то «оставь как есть и ничего не трогай» 🙂

    Reply
  56. Black Cat

    (55) ничего не трогать нельзя ! Нужно чтоб бэкапер работал без активного пользователя в системе.

    Reply
  57. Alister

    А можно ли в Кобиане задать расширение для архива? А то современные шифровальщики стали здорово шифровать архивы.(

    Reply
  58. Mx00

    (57) можно шифровать архив самим кобианом и тогда будет другое расширение

    Reply
  59. Alister

    (58) не пробовал… а какое?

    Reply
  60. Mx00

    (59) AES 128-256 bit, но смысл вопроса не понятен 🙂

    Reply
  61. Alister
    AES 128-256 bit

    Это про шифрование, а я спрашивал про расширение файла архива

    и тогда будет другое расширение

    какое?

    По-умолчанию оно, или zip, или 7z.

    Reply
  62. Mx00

    (61) да… уж если задаешь вопросы, то задавай нормально…

    зашифрованный файл имеет своё расширение в зависимости от вида шифрования, какое конкретно я не скажу — проверять лень, но ты сам можешь попробовать установить шифрование и посмотреть на результат 🙂

    Reply
  63. Alister
    какое конкретно я не скажу

    (62) целая лекция, вместо того, чтобы сразу сказать, что не знаешь.)))

    Reply
  64. Mx00

    (63) и хорошо, что не знаю 🙂

    Reply
  65. Alister

    (64) ттт , не дай Бог конечно.

    Reply
  66. Black Cat

    (57) Alister, как вариант, после создания архива, можно cobian’ом запустить батник, который переименует архивы как захочешь. Можно ли напрямую менять расширение cobian’ом — точно не помню.

    Reply
  67. Alister

    (66) Black Cat, переименование понятно, но надо же тогда еще и отслеживать число архивов (в хронологическом порядке), и тоже самостоятельно.

    Reply
  68. Black Cat

    (67) Alister, ну, я думаю, что удалить вручную раз в неделю (месяц) десяток ненужных файлов не составит труда. Как вариант написать скрипт, который будет проверять дату файлов и удалять старые, и запускать его тем же cobian’ом.

    Reply
  69. Alister

    (68) Black Cat, походу так и придется.

    Reply
  70. Alister
    зашифрованный файл имеет своё расширение в зависимости от вида шифрования

    (62) у меня 11-я версия, может в этом дело, включил шифрование, но на названии архива это никак не сказалось, расширение, как было 7z, так и осталось.

    Reply
  71. Mx00

    (69) да, я не прав, в 11-й версии используется шифрование 7-zip и расширение не меняется

    в 10-й версии использовались «какие-то другие шифровальщики» и файл выглядел вот так Base77 2014-10-18 23;00;03.7z.enc, поэтому я с уверенностью писал про другое расширение

    в такой ситуации могу предложить некоторые подходы, но чисто умозрительно — я не сисадмин 🙂

    — отдельный том который всегда размонтирован, а перед архивацией монтируется, на него складываются архивы и в конце опять размонтируем том

    — ftp сервер на другом компьютере и отправляем архивы по ftp

    — bat-файл который переименовывает архивы и удаляет устаревшие архивы

    Reply
  72. Alister

    (71) расширение enc в 11-й версии осталось для зашифрованных файлов без сжатия в архив, добавляется к названию исходных файлов.

    Reply
  73. Black Cat

    (72) Alister, я бы сделал так:

    1. шифрование архивов cobian

    2. переименование (скриптом) в рандомное расширение (желательно всегда разное)

    3. отправка на ftp сервер в сети, причем куда нет другого доступа, и отправка на ftp в «облака»

    4. удаление старых файлов (вручную или скриптом)

    Reply
  74. alexey.karmanov

    Зачем все эти ухищрения со сменой расширений? Если говорить о защите от шифровальщиков, то есть только один 100% способ защиты — это писать архивы под специальной учётной записью (созданной только для этого), под которой никто не работает и у которой есть эксклюзивные права на изменение папки архивов (за счёт прав NTFS), у всех остальных — только чтение.

    Reply
  75. Alister

    (73) Black Cat,

    1) смысл шифрования архива? чтобы по формату не определил?

    2) я думаю не обязательно рандомное, просто не ассоциированное с основными форматами (больше волнует, не проверяет ли шифровальщик содержимое на предмет определенного формата)

    3) это все на обычных компах, у разных клиентов, там фтп нет

    (74) alexey.karmanov, надо попробовать. А администратору и системе можно закрыть доступ?

    Reply
  76. Black Cat

    (75) Alister,

    1) смысл есть в этом если выгружаешь архивы в облако, если внутри локалки — необязательно.

    2) сам задаюсь этим вопросом, а не читает ли шифровальщик заголовки фалов ?

    3) ну тут да, ничего не поделаешь, но облако создать можно.

    Reply
  77. Black Cat

    (74) alexey.karmanov, чем ftp с эксклюзивной учеткой не устраивает ?

    P.s. — а вообще, еще желательно сбрасывать архивы на внешний хард раз в день.

    Reply
  78. Alister

    (76) Black Cat, не согласятся мои бухи копии в облаке держать, даже зашифрованные.)

    Reply
  79. Alister
    желательно сбрасывать архивы на внешний хард раз в день

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

    Reply
  80. CheBurator

    (78) каждый выбирает сам. они пусть еще не согласятся копии держать на другом компе. назначь их ответсвенными за обеспечение сохранности данных — и все…

    Reply
  81. Alister

    (80) CheBurator, да я и так не ответственный, в смысле это не мои должностные обязанности, просто жалко бухов, они тоже люди подневольные.)

    Reply
  82. Black Cat

    (79) Alister, зачем включенным держать ? Тебе прога сделала архивы. Ты утром или вечером подключил хард, скинул их и отключил его. В это и смысл весь, что он физически отключен от компа.

    Reply
  83. Alister

    (82) Black Cat, это компы клиентов, я физически там обычно не присутствую, пробовал поручать бухам тыкать винт, но это дохлый номер (забывают, и включать, и выключать).(

    Reply
  84. CheBurator

    у нас: бэкапы:

    — в сервере на другой хард (в зеркале)

    — на файлсервер

    — в облако

    ..

    ибо на всякий случай

    Reply
  85. Mx00

    (78) ну и я поделюсь своим «правильным» рецептом 🙂

    при таких исходных данных оптимальный вариант это NAS, пусть он стоит дороже обычного внешнего диска, но он имеет некоторые преимущества

    — готовый ftp сервер

    — операционка *nix (шифровальщик не доберется до файлов)

    — не надо подключать/отключать

    … может ещё какие есть полезности 🙂

    Reply
  86. alexey.karmanov

    (75) Alister, конечно, можно. Любые операции с файлами всегда совершаются под какой-то учетной записью. NTFS позволяет настроить — какой учётке можно менять в этой папке данные, а какой нет. Заводим BackupUser и делаем так, чтобы только он мог в эту папку писать и вообще менять в ней что-то. Всем остальным оставляем права только на чтение. Под BackupUser в системе не работаем, используем его только для записи архивов. Cobian насколько я вижу по картинке это позволяет (пункт «писать архивы под другой учетной записью).

    (77) Black Cat, ничего не имею против ftp. Но это не отменяет, а дополняет предыдущий пункт. Как дублирование архивов, но не как защиту от шифровальщиков (ведь на том сервере где будет храниться ftp — чисто теоретически файлы тоже могут оказаться зашифрованными в результате работы вируса).

    Reply
  87. Black Cat

    (88) alexey.karmanov, под FTP сервером я имел ввиду NAS. У нас стоит не особо мудреный QNAP на 4 диска (2 зеркальных рейда). Вот он позволяет настроить отдельно папку, на которую можно получать доступ только по ftp минуя SMB, а также одного пользователя, который имеет право перезаписи файлов в этой папке. В теории вирус туда проникнуть не должен.

    Ну и как я говорил, каждый день перед уходом домой я скидываю архивы на внешний хард.

    Alister, ну пусть не хранят и не покупают хранилище. Разок инфу потеряют во время сдачи отчетности — отдадут любые деньги. Пока гром не грянет…

    Reply
  88. Alister

    (88) alexey.karmanov, в виртуалке все получилось, надеюсь и в реале вирус не доберется (ттт).

    Reply
  89. Alister

    (88) alexey.karmanov, спасибо еще раз за идею. Настроил на рабочей машине: завел юзера в группе «Операторы архива» ) , отменил наследуемые права, дал полные права на папку этому юзеру, группе «админы» дал права на чтение, в самом кобиане сделал авторизацию от юзера его службе (можно и конкретному заданию), все работает, архивы пишутсяудаляются, даже под админом удалить их не нельзя (пришлось только юзеру кобиана кое-где дополнительно права на папки прописать, в моих документах, например).

    Открытым остается вопрос — могут ли вирусы менять разрешения, заданные мной вручную?

    Reply
  90. alexey.karmanov

    (98)»Открытым остается вопрос — могут ли вирусы менять разрешения, заданные мной вручную?»

    Я про такое пока не слышал, считаю этот способ надёжным и использую уже много лег много где. Ни разу не подводил, даже были случаи атак шифровальщиков — бэкапы уцелели. Там в NTFS главное отнять права на смену разрешений для папки архивов у всех, кроме BackupUser. То есть после первоначальной настройки только пользователь BackupUser должен быть в состоянии настраивать права на изменение папки архива. Все другие — только их просматривать.

    Reply
  91. Black Cat

    (98) Alister, как предлагает (99) alexey.karmanov, вроде не сможет, если вирус не запустится под юзером для бэкапов. Но остается еще одна проблема, если вирус пропишется как служба под локальной учеткой, то вполне, т.к. она (насколько я помню) имеет доступ везде. Но это его первоначально нужно запустить минимум от админа. И ни в какую группу я бы бэкапного юзера не стал пихать.

    У Вас там что под 1С ? Терминальный сервер или еще что-то ?

    Еще как вариант, отруби сервак от инета, потому что большинству заразы, нужен инет для скачивания доп элементов. Но это может спасти, если трояна запускать на сервере. Если по сети с другого компа — тут это бестолку.

    Еще вариант поднять хранилище на старом железе и линуксе (можно вообще спец софт на линуксе использовать), наверняка на фирме где-то стоит старый core2duo.

    P.s. — тут как с машинами, если она заказана, хоть автоматчика поставь — угонят.

    Reply
  92. Alister
    Там в NTFS главное отнять права на смену разрешений для папки архивов у всех, кроме BackupUser. То есть после первоначальной настройки только пользователь BackupUser должен быть в состоянии настраивать права на изменение папки архива. Все другие — только их просматривать.

    (99) alexey.karmanov, надо ли бэкап-юзеру давать права администратора?

    (100) Black Cat, это обычные буховские машины клиентов (большинство под XP), и жлобы директора ))), поэтому извращаемся, как можем, т.е. совсем без денег.

    если вирус пропишется как служба под локальной учеткой, то вполне, т.к. она (насколько я помню) имеет доступ везде. Но это его первоначально нужно запустить минимум от админа

    С этим проблема — бухи не хотят обычного пользователя, им мешает видите ли. Поэтому объясняю, а дальше как хотят, сисадмина нет, а мне не за это платят, чтобы еще нервы на них тратить.(

    И ни в какую группу я бы бэкапного юзера не стал пихать.

    А как без группы может быть юзер? В операторы архива я его запихнул, чтобы при загрузке не вылезал, по-умолчанию он-то в пользователях создается.

    Reply
  93. Black Cat

    (101) Alister,

    это обычные буховские машины клиентов (большинство под XP), и жлобы директора ))), поэтому извращаемся, как можем, т.е. совсем без денег.

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

    С этим проблема — бухи не хотят обычного пользователя, им мешает видите ли. Поэтому объясняю, а дальше как хотят, сисадмина нет, а мне не за это платят, чтобы еще нервы на них тратить.(

    Ну не хотят — их дело. Пусть теряют данные. Я бы впрягаться в таком случае не стал.

    А как без группы может быть юзер? В операторы архива я его запихнул, чтобы при загрузке не вылезал, по-умолчанию он-то в пользователях создается.

    Очень просто. Удаляешь его изо всех групп и он не будет появляться на экране приветствия.

    Reply
  94. Alister

    (103) Black Cat,

    Я бы впрягаться в таком случае не стал.

    Делаю то, что мне по возможностям и чтобы потом нервов меньше тратить для восстановления… так что не впрягаюсь.)

    Удаляешь его изо всех групп и он не будет появляться на экране приветствия.

    Бум знать.)

    Reply
  95. alexey.karmanov

    (101) Alister, BackupUser-у админские права ни к чему.

    Reply
  96. Alister

    (106) alexey.karmanov, просто столкнулся с ситуевиной, что нужно было изменить кое-что в папке архива и с ходу сделать этого не удалось, потому что прав бэкап-юзера не хватало для запуска FAR (как пример), пришлось давать права, заходить под юзером, потом все вертать обратно.

    Reply
  97. Black Cat

    (98) Alister, забыли еще указать, что и владелец папки с архивами, должен быть бэкап юзер, потому что менять разрешения может владелец, независимо от настройки прав других юзверей. Т.е., если у тебя владелец папки «Вася», и ты группе «Все» запрещаешь всё, то «Вася» все равно может настроить разрешения для любого юзверя.

    Reply
  98. Alister

    (118) Black Cat, это уже когда все отлажено будет.)

    Reply
  99. Black Cat

    (119) Alister, и еще одна ложка дегтя при работе бухов под админами: как бы вы не старались защитить папку с архивами на этом компе (разрешая только бекап юзеру ее использовать, делать его владельцем этой папки), любой юзверь группы «администратор» легко и непринужденно может стать владельцем этой папки и получить полное управление ею со всеми вытекающими последствиями.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *