Настройка предыдущих версий файлов windows server 2016

Подробная инструкция по теневому копированию томов для создания предыдущих версий файлов. Теневое копирование в Windows Server 2016 как дополнение к backup

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

Для включения этой функции достаточно выполнить следующие операции: Открыть свойства соответствующего диска и перейти на закладку “Теневые копии”.

Теневые копии

Встать на соответствующий диск и нажать “Включить”.

Включить диск

Система выдаст дополнительную информацию, предупредит что будет снята первая копия и что расписание резервного копирования будет изменено, а также запросит подтверждение операции.

Включение теневого копирования

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

Изменение параметров копий

Параметры теневого копирования

Теперь у каждой папки и файла на закладке “предыдущие версии” есть информация о теневых копиях откуда можно просмотреть содержимое папки на предшествующий период или восстановить файл.

Для того чтобы восстановить файл или папку, надо открыть его свойства и перейти на закладку “предыдущие копии”, выбрать нужную версию файла и нажать кнопку “восстановить”, также можно посмотреть содержимое файла или папки нажав кнопку “открыть”.

Так эта закладка выглядит для файла

Закладка для файла

А так для папки

Закладка для папки

На этом настройка теневого копирования томов на Windows Server 2016 окончена. В нашей базе знаний вы найдёте ещё множество статей посвящённых различным аспектам работы в Windows, а если вы ищете надежный виртуальный сервер под управлением Windows, обратите внимания на нашу услугу — Аренда виртуального сервера Windows.

 

Последнее обновление: 17.08.2022


Средняя оценка: 5,0, всего оценок: 3
Спасибо за Вашу оценку!
К сожалению, проголосовать не получилось. Попробуйте позже

Содержание

  1. Как включить и настроить теневые копии Windows
  2. Открываем консоль Управление дисками
  3. Включаем теневые копии
  4. Настраиваем расписание теневых копий
  5. Как пользоваться созданными копиями
  6. Записки IT специалиста
  7. Windows Server. Настраиваем теневые копии для общих папок.
  8. HOW-TO: Как настроить теневые копии в Windows
  9. Xakep #208. Атака на сигналку
  10. Система архивации данных Windows Server 2016 Печать

Как включить и настроить теневые копии Windows

Открываем консоль Управление дисками

Для этого кликаем правой кнопкой по Пуск и выбираем пункт Управление дисками:

В более ранних версиях Windows нажимаем ПускАдминистрированиеУправление компьютером:

В открывшемся окне раскрываем Запоминающие устройстваУправление дисками:

Включаем теневые копии

В списке дисков находим нужный и кликаем по нему правой кнопкой мыши. Выбираем Свойства.

В появившемся окне переходим на вкладку Теневые копии и нажимаем кнопку Включить:

Если появится предупреждение, прочитайте его и нажмите Да. Пройдет несколько секунд и появится первая теневая копия.

Настраиваем расписание теневых копий

В этом же окне нажимаем Параметры:

В открывшемся окне кликаем по Расписание:

Составляем новое расписание или оставляем имеющееся:

Нажимаем OK 3 раза.

Как пользоваться созданными копиями

Теневые копии создаются только для измененных файлов и по заданному расписанию.

Чтобы восстановить предыдущую версию файла, кликаем по нему правой кнопкой мыши и выбираем Свойства. В открывшемся окне переходим на вкладку Предыдущие версии и находим список всех версий файла:

* если список окажется пустым, значит либо файл не менялся с момента создания, либо еще не отрабатывало задание по созданию теневой копии.

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

Записки IT специалиста

Технический блог специалистов ООО»Интерфейс»

  • Главная
  • Windows Server. Настраиваем теневые копии для общих папок.

Windows Server. Настраиваем теневые копии для общих папок.

Наиболее распространенная проблема с которой сталкиваются пользователи и администраторы файловых серверов — это случайное удаление или перезапись файлов. Бороться с этим явлением весьма сложно, технические средства здесь не помогут, а административные часто оказываются неэффективными. Очень часто сотрудники сами случайно перезаписывают нужные файлы. Что делать? Ответ прост — настраивать теневое копирование общих папок.

Теневое копирование — специальный механизм, позволяющий делать копии файлов соответствующее определенному моменту времени, даже если они открыты или заблокированы системой. Теневые копии позволяют просматривать содержимое общих папок по состоянию на тот или иной момент времени в прошлом.

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

Теневое копирование поддерживают серверные ОС начиная с Windows Server 2003, клиентское ПО для работы с теневыми копиями доступно начиная с Windows XP SP2.

При использовании теневых копий следует учитывать следующие ограничения:

  • При превышении лимита выделенного дискового пространства старые теневые копии будут удалены без возможности восстановления.
  • На одном томе может быть не более 64 теневых копий для каждого файла.
  • Теневое копирование включается на уровне тома, т.е. нельзя выбрать общие папки и файлы для которых будет или не будет выполнятся теневое копирование.
  • На компьютерах с двумя ОС при загрузке более старой системы или при подключении тома к другому ПК теневые копии могут быть повреждены.

Перед тем, как настраивать теневое копирование, следует продумать расписание. Для этого нужно проанализировать активность пользователей и критичность данных, найдя компромисс между частотой создания теневых копий и промежутком времени который должно охватывать теневое копирование. При этом следует отталкиваться от того, потерю какого промежутка рабочего времени можно считать допустимым, после чего рассчитать за какой промежуток времени будет достигнут предел, составляющий 64 копии. Не рекомендуется делать теневые копии чаще чем раз в час. Также продумайте расписание таким образом, чтобы копии делались только в рабочее время.

Для включения теневых копий перейдите в оснастку Управление компьютером в меню Администрирование.

В левой части окна найдите пункт Общие папки и, щелкнув правой кнопкой мыши, выберите Все задачи — Настроить теневые копии.

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

Затем нажмите на кнопку Параметры и укажите размер дискового пространства, выделяемый для хранения теневых копий.

Следующим шагом задайте расписание.

Теперь самое время проверить работу теневых копий в действии. В обучающих целях мы установили небольшой промежуток между созданием теневых копий и провели несколько типовых действий с файлами в общей папке.

Самая распространенная и труднорешаемая проблема — файл перезаписали.

Открываем свойства файла, переходим на закладку Предыдущие версии и выбираем одну из доступных теневых копий (в нашем случае только одна).

Мы можем открыть, восстановить или скопировать файл. Для начала просто откроем.

Убедившись, что перед нами необходимая версия файла, мы можем ее восстановить или скопировать, если нам нужны оба варианта файлов.

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

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

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Или подпишись на наш Телеграм-канал:

HOW-TO: Как настроить теневые копии в Windows

Потеря информации при перезаписи важных файлов может быть настоящей проблемой. Особенно часто она возникает при работе с файловыми серверами, доступ к которым есть у целого коллектива. В современных версиях Windows перезапись или удаление файла можно откатить благодаря наличию теневой копии.

В теневых копиях (VSS) содержатся записи об изменениях файлов. Копии делаются автоматически каждый час — по умолчанию Windows хранит целых 64 копии файла. Использовать их можно без прав администратора, что удобно — как для пользователей, так и для самого администратора :).

Вот несколько важных особенностей теневых копий:

  • По умолчанию максимальное количество хранимых снапшотов для диска — 64. При превышении этого значения служба VSS начинает циклическую перезапись теневых копий и удаляет самые ранние слепки.
  • Под теневые копии система выделяет 10% емкости раздела, однако это значение можно изменить.
  • Теневое копирование включается для тома целиком, и включить его для отдельной папки невозможно.
  • Microsoft не рекомендует создавать снапшоты чаще, чем раз в час.

Поскольку механизм VSS копирует не данные целиком, а лишь изменения, то объем оказывается не таким большим, как может показаться на первый взгляд. Все файлы теневых копий хранятся в служебном каталоге System Volume Information. Эти файлы можно отличить по названиям — в каждом из них есть идентификатор службы VSS — 3808876b-c176-4e48-b7ae-04046e6cc752 . Для включения VSS нужно открыть оснастку «Управление компьютером», развернуть блок «Служебные программы» и, кликнув правой кнопкой мыши по элементу общей папки, выбрать «Все задачи —> Настроить теневые копии».

Включение теневых копий

Xakep #208. Атака на сигналку

После этого нужно выбрать раздел, активировать его и настроить расписание копирования. Если через какое-то время кликнуть на файл правой кнопкой мышки и зайти в «Свойства —> Предыдущие версии», то можно будет увидеть список доступных теневых копий.

Список теневых копий

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

Система архивации данных Windows Server 2016 Печать

У операционной системы Windows Server имеется собственное средство резервного копирования, помогающее сэкономить на приобретении сторонних программ. Мы разберем по пунктам все необходимые шаги.

Содержание

Сетевая папка

Во избежании различного рода проблем для начало подключим удалённую сетевую папку к Вашему серверу.

Вы можете найти подробную инструкцию, как это сделать в нашей базе знаний.

Установка средства резервного копирования

Откройте «Диспетчер серверов». В меню «Управления» нажмите на «Добавить роли и компоненты».

Откроется установочное окно, где перед началом работ нажмите кнопку «Далее».

Выберите «Установка ролей и компонентов» и нажмите «Далее».

Выберите Ваш сервер из пула серверов и нажмите «Далее».

На вкладке «Выбор ролей сервера» нажмите «Далее».

После этого подтвердите нажав кнопку «Установить».

Начнется процесс установки компонента и по завершению закройте программу.

Настойка утилиты WBADMIN

Чтобы открыть систему архивации данных Windows, зайдите в Диспетчер серверов и в правом верхнем углу выберите Средства. Из перечисленного списка выберите «Система архивации данных Windows Server».

В открывшемся окне в меню слева нажмите «Локальная архивация». В горизонтальном меню справа можно настроить: расписание резервного копирования, одноразовое создание копии или восстановление.

Для настройки по расписанию выберите данный пункт в меню. Далее у Вас откроется меню параметров. Нажмите кнопку «Далее».

Вы можете настроить резервную копию операционной системы целиком или выбрать отдельно тома и архивы, которые требуются для бэкапа. Рекомендуем выбирать сервер целиком.

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

При выборе удалённой папки укажите месторасположения её целиком IP-сервераназвание папки

После этого, Вас попросят указать «Имя пользователя и пароль». Все необходимые данные вы можете найти в личном кабинете.

По окончанию требуется проверить все настраиваемые параметры сверху и нажать «Готово».

Начнется создание расписания архивации.

По завершении нажмите кнопку «Закрыть».

Добавление необходимого пользователя

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

Для начало требуется зайти «Пуск» — «Панель управления».

Далее выбираем «Учетные записи пользователей».

После этого выберите «Управление другой учетной записью».

Добавьте новую учетную запись пользователя.

Внимание! Вносим имя пользователя и пароль от услуги Fairy Disk!

После создания учетной записи обязательно смените тип учетной записи на «Администратор».

Возможные Ошибки

Ошибка 1. Если у Вас ошибка — «Неверное имя пользователя или пароль»

Решение: Неправильно введенные данные доступа. Пожалуйста проверьте язык ввода и выключен ли у Вас (Caps Lock).

Ошибка 2. Если у Вас ошибка — «Архивации данных не удалось запланировать выполнение архивации, поскольку пользователь, учетные данные которого были указаны, не входит в группу локальных администраторов или операторов архива».

Решение: Неправильно создан пользователь. Смотрите главу «Добавление необходимого пользователя» выше

Восстановление

Выберите в оснастке «Восстановление», чтобы открыть Мастера по восстановлению системы.

Выберите источник резервной копии «Архив находится в другом расположении».

Тип размещения будет «Удаленная общая папка».

Введите путь до сетевой папки.

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

Далее укажите, что именно требуется восстановить. На выбор: файлы и каталоги, тома файловой системы, приложения или состояние системы. В нашем случае, мы восстановим систему полностью, выбрав «Состояние системы».

Оставляем «Исходное размещение».

Далее Вас оповещают, что система восстановления может быть восстановлена некорректно, если возникнут проблемы с сетью. Нажмите «ОК».

Подтвердите, что хотите восстановить состояние системы полностью. Нажмите «Восстановить».

Обратите внимание, что систему восстановления после начало работы нельзя будет приостановить!

После этого начнется процесс восстановления системы.

После завершения потребуется перезагрузить сервер и по завершению откроется терминатьное окно, об успешносм восстановлении системы.


Прочитано:
7 148

Порой сталкиваешься на рабочем месте, что к тебе как к системному администратору обращается пользователь с просьбой восстановить файл который он редактировал весь день, а потом вернулся к рабочему месту, но весь его труд утерян. Да, на его совести тот момент если он отошел от своего компьютера и не заблокировал вручную экран (приучаю нажимать сочетание клавиш: Win + L), а таймаут выставленный групповой политикой еще не активировался. Использовать такую отговорку, что можно восстановить файл(ы) только из вчерашнего бекапа — ну это не профессионализм. Вот в этом случае каждый системный администратор должен совершенствоваться и знать, что система Windows имеет такую важную настройку как использование «Теневых копий».

За основу функции/настройки теневого копирования отвечает служба теневого копирования (Volume Shadow Copies, VSS). Служба VSS применяется ко всему логическому диску и создаем снимок всех находящихся на нем файлов. После через запланированные промежутки времени отслеживает изменения и снова создает снимок.

Покажу на примере, как такая настройка «Теневые копии» включается и что она дает обычному пользователю.

Есть файловый сервер под управлением Windows Server 2016 Standard (на заметку: настройка «Теневые копии» работает и на Server 2008 R2,Server 2012/R2).

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

На заметку: при использовании настройки «Теневые копии» следует под общие папки (файловый ресурс) заложить большой логический диск для хранения снимков. Если используется система виртуализации Hyper-V или ESXi то проблем с его расширением быть не должно и отрепетирована процедура его расширения.

На логическом диске D: создана папка с именем fileserver и настроена как общая с отключенным наследованием.

Запускаю оснастку «Управление компьютером»:

Win + R → control.exe — Просмотр: Категория — Мелкие значки — «Администрирование» — «Управление компьютером» — «Служебные программы» — и на «Общие папки» через правый клик мышью выбираю «Все задачи» — «Настроить теневые копии», выделяю том, в моем случае том D: и нажимаю «Настроить».

В данных настройках задается максимальный размер использования теневой копии, но не менее 300 МБ. По умолчанию хранилище теневых копий занимает 10 % от размера диска, а в снимках хранятся только изменения, а не сами изменившиеся файлы. Если места не достаточно, то при создании нового снимка старые снимки удаляют.

Как выбрать какой размер задать, прикинем, всего файлов под файловый ресурс 50 Gb, то я бы выбрал 50% от размера диска или: Максимальный размер: => не ограничен.

После нажимаю «Расписание» чтобы указать как часто будут делаться теневые копии. Если обратить внимание на рекомендацию, то не следует указывать создание одной теневой копии в час, вот только здесь уже каждый системный администратор должен все правильно взвесить как отразится потеря данных на продуктивной работе организации. Т.к. у меня жесткий диск под 2Tb, а данных всего 500Gb, то я делаю под себя следующее расписание:

Нажимаю «Дополнительно…»

  • Дата начала: текущая дата
  • Повторять задание: отмечаю галочкой
  • Каждые: 2 часа
  • Выполнять: в течение: 10 час

и получается расписание: Каждые 2 часа с 09.00 по 10 час начиная с текущей даты и каждый день.

В процессе эксплуатации я подкорректирую данное расписание.

и нажимаю кнопку Ok окна настройки расписания для тома D: — кнопку OK окна «Параметры» и выделив том D: нажимаю «Создать» тем самым создаю теневую копию текущего диска.

Создаю снимок для функции "Теневые копии"Из представленного выше скриншота видно, что текущий снимок занимаем целых 2.5G, так что об выделяемом размере под теневые копии каждый должен смотреть самостоятельно.
Также функцию теневые копии можно включить если перейти из оснастки «Управление компьютером» — «Запоминающие устройства» — «Управление дисками» — через правый клик по тому D: вызвать «Свойства» и перейдя во вкладку «Теневые копии».

Если сымитировать добавление файлов и последующее нажатие создания снимка можно будет видеть как изменяется размер и количество теневые копий в оснастке тома:

Пример количества снимков на томеИтак копии имеются, объясняю пользователю что он может сделать сам на своем рабочем месте если что-то у него пропало.

Под Windows 10 Pro:

Шаг №1: Перейти на файловый ресурс

Шаг №2: По каталогу (или по файлу) внутри которого располагаются его файлы нажать на нем через правый клик мышью перейти на меню «Восстановить прежнюю версию» после чего на вкладку «Предыдущие версии».

Шаг №3: Тут он увидит сделанные снимки и открывая последний ориентируясь на дату и время будут открываться экраны с файлами/или файл за указанный временной промежуток при нажатии на кнопку «Открыть» или через правый клик мышью по нему «Изменить» ту версию где результаты его работы самые последние.

Шаг №4: После чтобы его восстановить нужно либо когда файл найден и открыт сделать «Файл» — «Сохранить как» и сохранить в ту директорию где он был затерев не актуальный или же нажать кнопку «Восстановить» и воспользоваться мастером восстановления:

Восстанавливаю файл(ы) при использовании "Теневого копирования" из снимкаНажимаю «Восстановить» и получаю сообщение «Файл был успешно переведен в предыдущее состояние».

Шаг №5: Пользователь возвращается к редактированию на том месте файл(ы) которого были восстановлены.

Шаг №6: После этого момента пользователь становится чуть счастливее от того что теперь он сам может это делать и ему не надо писать заявку на helpdesk или подходить к Вам лично.

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

На заметку: если выключить «Теневое копирование тома» в свойства диска, то все снимки будут удалены, а файлы будут оставлены как есть.

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

Итого, я для себя оформил те моменты с которыми сталкиваешься когда задействуешь «Теневые копии» для тома и что пользователь может сам сделать в случае проблемы с потерей файла(ов).

На этом я прощаюсь, если что будет интересного я дополню данную заметку, а пока собственно и всё, с уважением автор блога Олло Александр aka ekzorchik.


Обновлено и опубликовано Опубликовано: 12.09.2016

Что такое теневые копии простыми словами.

Открываем консоль Управление дисками

Для этого кликаем правой кнопкой по Пуск и выбираем пункт Управление дисками:

Открываем консоль управления дисками

В более ранних версиях Windows нажимаем ПускАдминистрирование Управление компьютером:

Открываем консоль управления компьютером

В открывшемся окне раскрываем Запоминающие устройстваУправление дисками:

Раскрываем управление дисками

Включаем теневые копии

В списке дисков находим нужный и кликаем по нему правой кнопкой мыши. Выбираем Свойства.

Открываем свойства диска

В появившемся окне переходим на вкладку Теневые копии и нажимаем кнопку Включить:

Включаем теневые копии

Если появится предупреждение, прочитайте его и нажмите Да. Пройдет несколько секунд и появится первая теневая копия.

Настраиваем расписание теневых копий

В этом же окне нажимаем Параметры:

Параметры теневых копий

В открывшемся окне кликаем по Расписание:

Переходим к расписанию теневых копий

Составляем новое расписание или оставляем имеющееся:

Переходим к расписанию теневых копий

Нажимаем OK 3 раза.

Как пользоваться созданными копиями

Теневые копии создаются только для измененных файлов и по заданному расписанию.

Чтобы восстановить предыдущую версию файла, кликаем по нему правой кнопкой мыши и выбираем Свойства. В открывшемся окне переходим на вкладку Предыдущие версии и находим список всех версий файла:

Список предыдущих версий файла для восстановления

* если список окажется пустым, значит либо файл не менялся с момента создания, либо еще не отрабатывало задание по созданию теневой копии.

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

Дмитрий Моск — частный мастер

Была ли полезна вам эта инструкция?

Да            Нет

windows-server-shadow-copies-000.jpgНаиболее распространенная проблема с которой сталкиваются пользователи и администраторы файловых серверов — это случайное удаление или перезапись файлов. Бороться с этим явлением весьма сложно, технические средства здесь не помогут, а административные часто оказываются неэффективными. Очень часто сотрудники сами случайно перезаписывают нужные файлы. Что делать? Ответ прост — настраивать теневое копирование общих папок.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Теневое копирование — специальный механизм, позволяющий делать копии файлов соответствующее определенному моменту времени, даже если они открыты или заблокированы системой. Теневые копии позволяют просматривать содержимое общих папок по состоянию на тот или иной момент времени в прошлом.

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

Теневое копирование поддерживают серверные ОС начиная с Windows Server 2003, клиентское ПО для работы с теневыми копиями доступно начиная с Windows XP SP2.

При использовании теневых копий следует учитывать следующие ограничения:

  • При превышении лимита выделенного дискового пространства старые теневые копии будут удалены без возможности восстановления.
  • На одном томе может быть не более 64 теневых копий для каждого файла.
  • Теневое копирование включается на уровне тома, т.е. нельзя выбрать общие папки и файлы для которых будет или не будет выполнятся теневое копирование.
  • На компьютерах с двумя ОС при загрузке более старой системы или при подключении тома к другому ПК теневые копии могут быть повреждены.

Перед тем, как настраивать теневое копирование, следует продумать расписание. Для этого нужно проанализировать активность пользователей и критичность данных, найдя компромисс между частотой создания теневых копий и промежутком времени который должно охватывать теневое копирование. При этом следует отталкиваться от того, потерю какого промежутка рабочего времени можно считать допустимым, после чего рассчитать за какой промежуток времени будет достигнут предел, составляющий 64 копии. Не рекомендуется делать теневые копии чаще чем раз в час. Также продумайте расписание таким образом, чтобы копии делались только в рабочее время.

Для включения теневых копий перейдите в оснастку Управление компьютером в меню Администрирование.

windows-server-shadow-copies-001.jpg

В левой части окна найдите пункт Общие папки и, щелкнув правой кнопкой мыши, выберите Все задачи — Настроить теневые копии.

windows-server-shadow-copies-002.jpg

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

windows-server-shadow-copies-003.jpg

Затем нажмите на кнопку Параметры и укажите размер дискового пространства, выделяемый для хранения теневых копий.

windows-server-shadow-copies-004.jpg

Следующим шагом задайте расписание.

windows-server-shadow-copies-005.jpg

Теперь самое время проверить работу теневых копий в действии. В обучающих целях мы установили небольшой промежуток между созданием теневых копий и провели несколько типовых действий с файлами в общей папке.

Самая распространенная и труднорешаемая проблема — файл перезаписали.

windows-server-shadow-copies-006.jpg

Открываем свойства файла, переходим на закладку Предыдущие версии и выбираем одну из доступных теневых копий (в нашем случае только одна).

windows-server-shadow-copies-007.jpg

Мы можем открыть, восстановить или скопировать файл. Для начала просто откроем.

windows-server-shadow-copies-008.jpg

Убедившись, что перед нами необходимая версия файла, мы можем ее восстановить или скопировать, если нам нужны оба варианта файлов.

windows-server-shadow-copies-009.jpg

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

windows-server-shadow-copies-010.jpg

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

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Продолжаем серию статей о методах противодействия вирусам-шифровальщикам. В прошлый раз мы рассмотрели простую методику превентивной защиты от шифровальщиков на файловых серверах с помощью FSRM. Сегодня речь пойдет о методе восстановления данных, позволяющем безболезненно восстановить файлы, в случаях, если вирус уже прорвался и зашифровал документы на компьютере пользователя.

Самый простой способ вернуть оригинальные данные после шифрования документов трояном-шифровальщиком – восстановить данные из резервной копии. И если централизованное резервное копирование данных на серверах еще можно организовать, то бэкап данных с компьютеров пользователей обеспечить гораздо сложнее. К счастью, в Windows уже есть встроенный механизм ведения резервных копий — теневые копии, создаваемые службой Volume Shadow Copy Service (VSS).

Для обеспечения возможности восстановления старых версий файлов из VSS снапшотов, должны выполняться следующие условия:

  • служба VSS должна быть включена для защищаемых томов
  • на диске должно быть достаточно свободного места для хранения снимков (не менее 10-20%)
  • у пользователя не должно быть прав локального администратора на своем компьютере (большинство современных шифровальщиков, запущенных с правами администратора удаляют все доступные VSS снимки), а защита User Account Control (UAC) включена

Рассмотрим механизм централизованного управления политикой создания снимков в доменной среде Active Directory для обеспечения возможности восстановления данных после атаки вируса-шифровальщика.

Содержание:

  • Включение службы VSS на компьютерах с помощью GPO
  • Копирование файла vshadow.exe на компьютеры пользователей с помощью GPO
  • PowerShell скрипт для создания теневых снимков всех томов
  • Задание планировщика по созданию VSS-снимков
  • Восстановление исходных данных из теневой копии тома
  • Заключение

Включение службы VSS на компьютерах с помощью GPO

В первую очередь создадим групповую политику, которая бы включала службу Volume Shadow Copy Service (VSS) на компьютерах пользователей. Для этого в консоли GPMC.msc создадим новый объект GPO с именем VSSPolicy и назначим его на OU с компьютерами пользователей.

Перейдем в режим редактирования GPO. Затем в разделе Computer Configuration->Windows Settings->Security Settings->System Service в списке служб нужно найти службу Volume Shadow Copy и задать для нее тип запуска Automatic.

Включить службу Volume Shadow Copy через GPO

Копирование файла vshadow.exe на компьютеры пользователей с помощью GPO

Для создания и управления теневыми копиями на ПК пользователей нам понадобится утилита vshadow.exe из комплекта Windows SDK. В данном примере мы будем использовать vshadow из SDK для Windows 7 x64 (в моем случае она корректно отработала как на Windows 7 так и на Windows 10 x64). С помощью GPP скопируем файл vshadow.exe в каталог %windir%system32 на все компьютеры.

Совет. Файл vshadow.exe можно скачать по этой ссылке: vshadow-7×64.zip

Для этого в разделе политики Computer Configuration –> Preferences –> Windows Settings -> Files создадим новую политику, копирующую файл vshadow.exe из каталога \domain.locSYSVOLdomain.locscripts (файл должен быть скопирован сюда предварительно) в каталог %windir%system32vshadow.exe (нужно указывать имя файла в destination) . Эту политику можно настроить, чтобы она отработала только один раз (Apply once and do not reapply).

Скопировать файл vshadow на ПК пользователей через GPP

PowerShell скрипт для создания теневых снимков всех томов

Далее нам понадобится скрипт, который бы определял список дисков в системе, включал бы для всех ведение теневых снимков и создавал бы новый VSS-снапшот. У меня получился такой скрипт:

$HDDs = GET-WMIOBJECT –query "SELECT * from win32_logicaldisk where DriveType = 3"
foreach ($HDD in $HDDs) {
$Drive = $HDD.DeviceID
$vssadminEnable ="vssadmin.exe Resize ShadowStorage /For=$Drive /On=$Drive /MaxSize=10%"
$vsscreatess = "vshadow.exe -p $Drive"
cmd /c  $vssadminEnable
cmd /c  $vsscreatess
}

PowerShell скрипт по включению и ведению vssдля всех дисковПервая срока позволяет найти все диски в системе, а затем для каждого диска утилита vshadow активирует ведение теневых копий, которые должны занимать не более 10% места и создает новую копию.

Этот скрипт сохраним в файл vss-script.ps1 и также скопируем на компьютеры пользователей через GPO.

Скопировать vss скрипт с помощью GPO

Задание планировщика по созданию VSS-снимков

Последнее, что осталось сделать – создать на всех ПК задание планировщика, которое регулярно бы запускало скрипт PowerShell vss-script.ps1 и создавало бы новый vss снимок дисков. Проще всего создать такое задание через GPP. Для этого в разделе Computer Configuration -> Preferences -> Scheduled Tasks создадим новое задание планировщика (New-> Scheduled Task (at least Windows 7) с именем: create vssnapshot, которое запускается от имени NT AUTHORITYSystem с повышенными правами.

Задание планировщика create vssnapshotДопустим, задание должно запускаться каждый день в обед в 13:20 (здесь нужно самостоятельно продумать необходимую частоту создания снимков).

расписание запускаЗапускаемый скрипт: %windir%System32WindowsPowerShellv1.0powershell.exe

с аргументом %windir%system32vss-script.ps1

task scheduler запуск PoSh скрипта

Совет. Нужно предусмотреть также создание еженедельного задания планировщика, удаляющего старые VSS снимки. Для этого нужно создать новое задание планировщика, запускающего скрипт аналогичный первому, но со строками:

$vssadminDeleteOld = “vshadow.exe -do=%$Drive”
cmd /c  $vssadminDeleteOld

Восстановление исходных данных из теневой копии тома

В том случае, если шифровальщик все-таки попал на ПК пользователя и сделал свое черное дело, после искоренения его из системы, администратор может восстановить документы пользователя из последнего снимка.

Список всех доступных снимком можно вывести командой:

vssadmin.exe list shadows

vssadmin.exe list shadowsВ нашем примере последний снимок сделан 10/6/2016 1:33:35 AM и имеет Shadow Copy ID = {6bd666ac-4b42-4734-8fdd-fab64925c66c}.

Смонтируем снапшот на чтение в виде отдельного драйва системы по его ID:

vshadow -el={6bd666ac-4b42-4734-8fdd-fab64925c66c},Z:

vshadow-el-mount-snapshotТеперь с помощью File Explorer или любого файлового менеджера скопируйте оригинальные файлы с диска Z:, представляющего собой содержимое подключенного снимка диска.

Чтобы отмонтировать диск со снимком:

mountvol Z: /D

Совет. Есть и более удобный графический инструмент для просмотра и извлечения данных из снимков VSS – ShadowExplorer.

Заключение

Конечно, теневые копии VSS не являются методом борьбы с вирусами-шифровальщиками и не отменяют комплексного подхода в организации безопасности сети от вирусов (антивирусы, блокировка запуска исполняемых файлов с помощью SRP или AppLocker политик, репутационные фильтры SmartScreen и т.д.). Однако, простота и доступность механизма теневых копий томов является, на мой взгляд, большим преимуществом этого простого способа восстановления зашифрованных данных, который очень вероятно пригодится в случае проникновения заразы на компьютер пользователя.

Содержание

  1. ИТ База знаний
  2. Полезно
  3. Навигация
  4. Серверные решения
  5. Телефония
  6. Корпоративные сети
  7. Установка и настройка диспетчера ресурсов файлового сервера (File Server Resource Manager) в Windows Server 2016
  8. Как правильно установить и настроить файловый сервер на Windows Server
  9. Шаг 1. Выбор оборудования и подготовка сервера
  10. Дополнительные требования
  11. Шаг 2. Установка Windows и настройка системы
  12. Установка системы
  13. Настройка системы
  14. Шаг 3. Базовые настройки файлового сервера
  15. Установка роли и вспомогательных компонентов
  16. Настройка шары (общей папки)
  17. Шаг 4. Тюнинг файлового сервера или профессиональные советы
  18. Теневые копии
  19. Аудит
  20. Анализатор соответствия рекомендациям
  21. Шаг 5. Настройка средств обслуживания
  22. Резервное копирование
  23. Мониторинг
  24. Шаг 6. Тестирование
  25. Что такое VCS (система контроля версий)
  26. Что это такое и зачем она нужна
  27. Как VCS работает
  28. Подготовительная работа
  29. Ежедневная работа
  30. Популярные VCS и отличия между ними

ИТ База знаний

Полезно

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Навигация

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

Установка и настройка диспетчера ресурсов файлового сервера (File Server Resource Manager) в Windows Server 2016

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

Онлайн курс по Linux

Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps

laptop

Первоначально для работы необходимо установить роли File Server, File Server Resource Manager и средства управления (Tools). Отмечаем эти компоненты в мастере установки в Server Manager и нажимаем Install.

1

Их можно установить гораздо быстрее, используя PowerShell. Запускаем PowerShell и вводим команду, которая установит сразу все необходимое:

2

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

Нажимаем Win+R (Выполнить) вводим fsrm.msc и нажимаем Enter. Откроется оснастка File Server Resource Manager. Также ее можно запустить из Server Manager.

3

4

В свойствах имеется возможность добавлять свои расширения файлов.

В группе File Screen Templates находятся готовые шаблоны, которые можно использовать или изменять.

5

В шаблоне Block Audio and Video Files включен (Active screening) активный мониторинг, т.е. он не позволит пользователю сохранить файлы, в то время как пассивный мониторинг (Passive screening) будет только мониторить и позволять сохранять файлы.

В Свойствах шаблонов имеются дополнительные вкладки для настройки уведомлений на электронную почту, которое получит пользователь, попытавшийся сохранить заблокированный файл. Это весьма полезная функция, если сотрудник не ознакомлен с правилами работы с сетевыми ресурсами. Сразу же можно отправить письмо в службу технической поддержки. При включении этой опции вы увидите предупреждение, т.к. у вас должен быть настроен SMTP-сервер.

В теме письма можно написать, почему нельзя сохранять тот или иной тип файлов.

6

На вкладке Event Log можно настроить регистрацию и запись события при попытке сохранить файл. Можно использовать переменные, которые будут автоматически подставляться в сообщение.

7

Вкладка Command позволяет указать программу или скрипт, который запустится при попытке сохранить неразрешенный файл. Можно указать уровень привилегий, с которыми будет запускаться программа или скрипт, т.к. у разных учетных данных могут быть различные права.

8

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

9

Создадим блокировку файлов мультимедиа. Шаблон по-умолчанию для этих файлов уже имеется.

10

Сначала нужно указать каталог, к которому будет применяться блокировка. Выбрать шаблон (Block Audio and Video Files). Нажать Create.

Настройка будет применяться ко всему содержимому указанного каталога.

Так как в шаблоне блокировки установлено расширение *.mp3 создать или изменить файл в указанной директории не получится. Система покажет сообщение «File Access Denied«.

11

В группе Quotas Management Quota Templates существуют преднастроенные шаблоны квот. Эти шаблоны обладают такими же свойствами, как и шаблоны блокировки. Отправка предупреждения на почту, запись в лог, выполнение команды и отчет.

Создадим жесткую квоту в 100 MB, т.е. запись в папку будет ограничена при достижении объема в 100 MB.

12

При сохранении больше 100 MB получим сообщение, что нет свободного места.

13

Онлайн курс по Linux

Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps

Источник

Как правильно установить и настроить файловый сервер на Windows Server

В качестве примера используется Windows Server 2012 R2 (2016, 2019). Инструкция разбита на несколько шагов и представляет из себя полный цикл настройки файлового хранилища для использования в малых и средних компаниях.

Шаг 1. Выбор оборудования и подготовка сервера

В качестве сервера, желательно, выбрать профессиональное оборудование. Системные требования для файлового сервера не высокие:

Например, для компании в 300 пользователей подойдет сервер с процессором Xeon E3, 8 Гб ОЗУ и 5 Тб дискового пространства на дисках SAS 10K.

Дополнительные требования

Подробнее о выборе оборудования читайте статью Как выбрать сервер.

Шаг 2. Установка Windows и настройка системы

Установка системы

Настройка системы

Шаг 3. Базовые настройки файлового сервера

Это стандартные действия, которые выполняются при настройке обычного файлового сервера.

Установка роли и вспомогательных компонентов

Как правило, данная роль устанавливается вместе с Windows. Остается только это проверить и доустановить компоненты, которые нужны для полноценной эксплуатации сервиса.

Открываем Диспетчер серверов. Он может быть запущен из панели быстрого запуска.

file server 01

file server 02

В открывшемся окне оставляем Установка ролей и компонентов и нажимаем Далее.

file server 03

В следующем окне выбираем нужный сервер (выбран по умолчанию, если работаем на сервере, а не через удаленную консоль) и нажимаем Далее.

Среди ролей находим Файловые службы и службы хранилища, раскрываем ее и проверяем, что установлены галочки напротив следующих компонентов:

file server 04

Если данные службы не установлены, выбираем их и нажимаем Далее.

В окне Выбор компонентов просто нажимаем Далее.

Откроется окно Подтверждение установки компонентов. Нажимаем Установить и после окончания процесса перезагружаем сервер.

Настройка шары (общей папки)

Создаем первую папку, которую хотим предоставить в общее использование. Затем кликаем по ней правой кнопкой мыши и нажимаем Свойства:

file server 05

В открывшемся окне переходим на вкладку Доступ и нажимаем Расширенная настройка:

file server 06

Ставим галочку Открыть общий доступ к этой папке и нажимаем кнопку Разрешения:

file server 07

Предоставляем полный доступ всем пользователям:

file server 08

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

Нажимаем OK и еще раз OK.

Теперь переходим на вкладку Безопасность и нажимаем Дополнительно:

file server 09

В открывшемся окне нажимаем Отключение наследования и Преобразовать унаследованные разрешения в явные разрешения этого объекта.

file server 10

file server 11

Выставляем необходимые права на папку, например:

file server 12

Совет: старайтесь управлять правами на ресурсы только при помощи групп. Даже если доступ необходимо предоставить только одному человеку!

Теперь нажимаем OK два раза. Папка настроена для общего использования и в нашем примере доступна по сетевому пути \fs1Общая папка.

Шаг 4. Тюнинг файлового сервера или профессиональные советы

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

С самого начала стоит создавать общие папки в пространстве имен DFS. На это есть две основные причины:

Теневые копии

Позволят вернуться к предыдущим версиям файлов. Это очень полезная функция позволит не только восстановить некорректно отредактированный документ, но и вернуть случайно удаленный файл или папку.

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

Аудит

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

О том, как настроить данную возможность читайте статью Как включить аудит доступа к файлам Windows.

Анализатор соответствия рекомендациям

В диспетчер управления серверами Windows встроен инструмент для проверки конфигурации сервера — анализатор соответствия рекомендациям. Чтобы им воспользоваться переходим в диспетчере в Локальный сервер:

file server 13

file server 14

Рассмотрим решения некоторых рекомендаций.

1. Для XXX должно быть задано рекомендованное значение.

Это набор однотипных рекомендаций, для выполнения которых нужно обратить внимание на описание и задать значение параметро, которое в нем указано. Например, для CachedOpenLimit в описании проблемы есть описание решения — «Задайте для CachedOpenLimit рекомендуемое значение 5». Чтобы это сделать, открываем Powershell от администратора и вводим команду:

* мы задаем параметру CachedOpenLimit значение 5, как это и рекомендовано анализатором.

На запрос, уверены ли мы, что хотим выполнить команду, отвечаем утвердительно.

Остальные параметры задаем аналогичными действиями.

2. Файл Srv.sys должен быть настроен на запуск по требованию.

В командной строке от имени администратора вводим:

sc config srv start= demand

3. Создание коротких имен файлов должно быть отключено.

В командной строке от имени администратора вводим:

fsutil 8dot3name set 1

Шаг 5. Настройка средств обслуживания

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

Резервное копирование

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

Мониторинг

Шаг 6. Тестирование

Тестирование состоит из 3-х основных действий:

Источник

Что такое VCS (система контроля версий)

Система контроля версий (от англ. Version Control System, VCS) — это место хранения кода. Как dropbox, только для разработчиков!

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

А потом я подробнее расскажу, как VCS работает — что значит «создать репозиторий», «закоммитить и смерджить изменения», и другие страшные слова. В конце мы пощупаем одну из систем VCS руками, скачаем код из открытого репозитория.

Что это такое и зачем она нужна

Допустим, что мы делаем калькулятор на Java (язык программирования). У нас есть несколько разработчиков — Вася, Петя и Иван. Через неделю нужно показывать результат заказчику, так что распределяем работу:

Вася делает сложение;

Иван — начинает умножение, но оно сложное, поэтому переедет в следующий релиз.

Исходный код калькулятора хранится в обычной папке на сетевом диске, к которому все трое имеют доступ. Разработчик копирует этот код к себе на машину, вносит изменения и проверяет. Если всё хорошо — кладет обратно. Так что код в общей папке всегда рабочий!

image loader

Итак, все забрали себе файлы из общей папки. Пока их немного:

Main.java — общая логика

GUI.java — графический интерфейс программы

С ними каждый и будет работать!

Вася закончил работу первым, проверил на своей машине — все работает, отлично! Удовлетворенно вздохнув, он выкладывает свой код в общую папку. Вася сделал отдельный класс на сложение (Sum.java), добавил кнопку в графический интерфейс (внес изменения в GUI.java) и прописал работу кнопки в Main.java.

image loader

Петя химичил-химичил, ускорял работу, оптимизировал. Но вот и он удовлетворенно вздохнул — готово! Перепроверил ещё раз — работает! Он копирует файлы со своей машины в общую директорию. Он тоже сделал отдельный класс для новой функции (вычитание — Minus.java), внес изменения в Main.java и добавил кнопку в GUI.java.

image loader

Ваня пока химичит на своей машине, но ему некуда торопиться, его изменения попадут только в следующий цикл.

Все довольны, Вася с Петей обсуждают планы на следующий релиз. Но тут с показа продукта возвращается расстроенная Катя, менеджер продукта.

— Катя, что случилось??

— Вы же сказали, что всё сделали! А в графическом интерфейсе есть только вычитание. Сложения нет!

— Как это нет? Я же добавлял!

Стали разбираться. Оказалось, что Петин файл затер изменения Васи в файлах, которые меняли оба: Main.java и GUI.java. Ведь ребята одновременно взяли исходные файлы к себе на компьютеры — у обоих была версия БЕЗ новых функций.

image loader

Вася первым закончил работу и обновил все нужные файлы в общей папке. Да, на тот момент всё работало. Но ведь Петя работал в файле, в котором ещё не было Васиных правок.

image loader

Поэтому, когда он положил документы в хранилище, Васины правки были стерты. Остался только новый файл Sum.java, ведь его Петя не трогал.

image loader

Хорошо хоть логика распределена! Если бы всё лежало в одном классе, было бы намного сложнее совместить правки Васи и Пети. А так достаточно было немного подправить файлы Main.java и GUI.java, вернув туда обработку кнопки. Ребята быстро справились с этим, а потом убедились, что в общем папке теперь лежит правильная версия кода.

Собрали митинг (жаргон — собрание, чтобы обсудить что-то):

— Как нам не допустить таких косяков в дальнейшем?

— Давайте перед тем, как сохранять файлы в хранилище, забирать оттуда последние версии! А ещё можно брать свежую версию с утра. Например, в 9 часов. А перед сохранением проверять дату изменения. Если она позже 9 утра, значит, нужно забрать измененный файл.

— Да, давайте попробуем!

image loader

Вася с Петей были довольны, ведь решение проблемы найдено! И только Иван грустит. Ведь он целую неделю работал с кодом, а теперь ему надо было синхронизировать версии. То есть объединять свои правки с изменениями коллег.

image loader

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

Когда он пришел с утра, в офисе был переполох. Вася бегал по офису и причитал:

— Мои изменения пропали. А я их не сохранил!

Увидев Ваню, он подскочил к нему и затряс за грудки:

— Зачем ты стер мой код??

image loader

Стали разбираться. Оказалось что Вася вчера закончил свой кусок работы, проверил, что обновлений файлов не было, и просто переместил файлы со своего компьютера в общую папку. Не скопировал, а переместил. Копий никаких не осталось.

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

— Код теперь не работает! Ты вообще проверял приложение, закончив синхронизацию?

— Нет, я только свою часть посмотрел.

image loader

Вася покачал головой:

— Но ведь при сохранении на общий диск можно допустить ошибку! По самым разным причинам:

Разработчик начинающий, чаще допускает ошибки.

Случайно что-то пропустил — если нужно «объединить» много файлов, что-то обязательно пропустишь.

Посчитал, что этот код не нужен — что он устарел или что твоя новая логика делает то же самое, а на самом деле не совсем.

И тогда приложение вообще перестанет работать. Как у нас сейчас.

— Хм. Да, пожалуй, ты прав. Нужно тестировать итоговый вариант!

— И сохранять версии. Может, перенесем наш код в Dropbox, чтобы не терять изменения?

image loader

На том и порешили. Остаток дня все трое работали над тем, чтобы приложение снова заработало. После чего бережно перенесли код в дропбокс. Теперь по крайней мере сохранялись старые версии. И, если разработчик криво синхронизировал файлы или просто залил свои, затерев чужие изменения, можно было найти старую версию и восстановить ее.

Через пару дней ребята снова собрали митинг:

— Ну как вам в дропбоксе?

— Уже лучше. По крайней мере, не потеряем правки!

Петя расстроенно пожимает плечами:

— Да, только мы с Васей одновременно вносили изменения в Main.java, создалась конфликтующая версия. И пришлось вручную их объединять. А класс то уже подрос! И глазками сравнивать 100 строк очень невесело. Всегда есть шанс допустить ошибку.

— Ну, можно же подойти к тому, кто создал конфликт и уточнить у него, что он менял.

— Хорошая идея, давайте попробуем!

image loader

Попробовали. Через несколько дней снова митинг:

— Да всё зашибись, работаем!

— А почему код из дропбокса не работает?

— Как не работает. Мы вчера с Васей синхронизировались!

— А ты попробуй его запустить.

Посмотрели все вместе — и правда не работает. Какая-то ошибка в Main.java. Стали разбираться:

— Так, тут не хватает обработки исключения.

— Ой, подождите, я же её добавлял!

— Но ты мне не говорил о ней, когда мы объединяли правки.

— Может, еще что забыл? Ну уж давай лучше проверим глазами.

image loader

Посидели, выверили конфликтные версии. Потратили час времени всей команды из-за пустяка. Обидно!

— Слушайте, может, это можно как-то попроще делать, а? Чтобы человека не спрашивать «что ты менял»?

— Можно использовать программу сравнения файлов. Я вроде слышал о таких. AraxisMerge, например!

— Ой, точно! В IDEA же можно сравнивать твой код с клипбордом (сохраненным в Ctrl + C значении). Давайте использовать его!

Начали сравнивать файлы через программу — жизнь пошла веселее. Но через пару дней Иван снова собрал митинг:

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

— Да? И что за программы?

— Системы контроля версий называются. Вот SVN, например. Давайте попробуем его?

image loader

Попробовали. Работает! Еще и часть правок сама синхронизирует, даже если Вася с Петей снова не поделили один файл. Как она это делает? Давайте разбираться!

Как VCS работает

Подготовительная работа

Это те действия, которые нужно сделать один раз.

1. Создать репозиторий

Исходно нужно создать место, где будет лежать код. Оно называется репозиторий. Создается один раз администратором.

Ребята готовы переехать из дропбокса в SVN. Сначала они проверяют, что в дропбоксе хранится актуальная версия кода, ни у кого не осталось несохраненных исправлений на своей машине. Потом ребята проверяют, что «итоговый» код работает.

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

image loader

Всё! Теперь у нас есть общее хранилище данных! С ним дальше и будем работать.

2. Скачать проект из репозитория

Теперь команде нужно получить проект из репозитория. Можно, конечно, и из дропбокса скачать, пока там актуальная версия, но давайте уже жить по-правильному!

Поэтому Петя, Вася и Иван удаляют то, что было у них было на локальных компьютерах. И забирают данные из репозитория, клонируя его. В Mercurial (один из вариантов VCS) эта команда так и называется — clone. В других системах она зовется иначе, но смысл всё тот же — клонировать (копировать) то, что лежит в репозитории, к себе на компьютер!

image loader

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

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

image loader

Ежедневная работа

А это те действия, которые вы будете использовать часто.

1. Обновить проект, забрать последнюю версию из репозитория

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

Так, Вася обновил проект утром и увидел, что Ваня изменил файлы Main.java и GUI.java. Отлично, теперь у Васи актуальная версия на машине. Можно приступать к работе!

image loader

В SVN команда обновления называется «update», в Mercurial — «pull». Она сверяет код на твоем компьютере с кодом в репозитории. Если в репозитории появились новые файлы, она их скачает. Если какие-то файлы были удалены — удалит и с твоей машины тоже. А если что-то менялось, обновит код на локальном компьютере.

image loader

Тут может возникнуть вопрос — в чем отличие от clone? Можно же просто клонировать проект каждый раз, да и всё! Зачем отдельная команда?

Клонирование репозитория производится с нуля. А когда разработчики работают с кодом, у них обычно есть какие-то локальные изменения. Когда начал работу, но ещё не закончил. Но при этом хочешь обновить проект, чтобы конфликтов было меньше.

Если бы использовалось клонирование, то пришлось бы переносить все свои изменения в «новый» репозиторий вручную. А это совсем не то, что нам нужно. Обновление не затронет новые файлы, которые есть только у вас на компьютере.

А еще обновление — это быстрее. Обновиться могли 5 файликов из 1000, зачем выкачивать всё?

2. Внести изменения в репозиторий

Вася работает над улучшением сложения. Он придумал, как ускорить его работу. А заодно, раз уж взялся за рефакторинг (жаргон — улучшение системы, от англ. refactor), обновил и основной класс Main.java.

Перед началом работы он обновил проект на локальном (своём) компьютере, забрав из репозитория актуальные версии. А теперь готов сохранить в репозиторий свои изменения. Это делается одной или двумя командами — зависит от той VCS, которую вы используете в работе.

1 команда — commit

Пример системы — SVN.

Сделав изменения, Вася коммитит их. Вводит команду «commit» — и все изменения улетают на сервер. Всё просто и удобно.

image loader

2 команды — commit + push

Примеры системы — Mercurial, Git.

Сделав изменения, Вася коммитит их. Вводит команду «commit» — изменения сохранены как коммит. Но на сервер они НЕ уходят!

image loader

Чтобы изменения пошли на сервер, их надо «запушить». То есть ввести команду «push».

Это удобно, потому что можно сделать несколько разных коммитов, но не отправлять их в репозиторий. Например, потому что уже code freeze и тестировщики занимаются регрессией. Или если задача большая и может много всего сломать. Поэтому её надо сначала довести до ума, а потом уже пушить в общий репозиторий, иначе у всей команды развалится сборка!

При этом держать изменения локально тоже не слишком удобно. Поэтому можно спокойно делать коммиты, а потом уже пушить, когда готов. Или когда интернет появился =) Для коммитов он не нужен.

image loader

Итого

Когда разработчик сохраняет код в общем хранилище, он говорит:

Смотря в какой системе он работает. После этих слов вы уверены — код изменен, можно обновить его на своей машине и тестировать!

3. Разрешить конфликты (merge)

Вася добавил вычисление процентов, а Петя — деление. Перед работой они обновили свои локальные сборки, получив с сервера версию 3 файлов Main.java и Gui.java.

Для простоты восприятия нарисуем в репозитории только эти файлы и Minus.java, чтобы показать тот код, который ребята трогать не будут.

image loader

Вася закончил первым. Проверив свой код, он отправил изменения на сервер. Он:

Добавил новый файл Percent.java

Обновил Main.java (версию 3)

Обновил Gui.java (версию 3)

При отправке на сервер были созданы версии:

Percent.java — версия 1

Main.java — версия 4

image loader

Петя закончил чуть позже. Он:

Добавил новый файл Division.java

Обновил Main.java (версию 3, ведь они с Васей скачивали файлы одновременно)

Обновил Gui.java (версию 3)

Готово, можно коммитить! При отправке на сервер были созданы версии:

Division.java — версия 1

Main.java — версия 4

Но стойте, Петя обновляет файлы, которые были изменены с момента обновления кода на локальной машине! Конфликт!

image loader

Часть конфликтов система может решить сама, ей достаточно лишь сказать «merge». И в данном случае этого будет достаточно, ведь ребята писали совершенно разный код, а в Main.java и Gui.java добавляли новые строчки, не трогая старые. Они никак не пересекаются по своим правкам. Поэтому система «сливает» изменения — добавляет в версию 4 Петины строчки.

image loader

Но что делать, если они изменяли один и тот же код? Такой конфликт может решить только человек. Система контроля версий подсвечивает Пете Васины правки и он должен принять решение, что делать дальше. Система предлагает несколько вариантов:

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

Затереть Васины правки, взяв версию Петра — если он посчитает, что сам все учел

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

image loader

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

Но, разумеется, конфликты все равно бывают. Разработчики делают сложные задачи, на которые уходит день-два. Они затрагивают одни и те же файлы. В итоге, вливая свои изменения в репозиторий, они получают кучу конфликтов, и нужно просмотреть каждый — правильно ли система объединила файлы? Не нужно ли ручное вмешательство?

Особая боль — глобальный рефакторинг, когда затрагивается МНОГО файлов. Обновление версии библиотеки, переезд с ant на gradle, или просто выкашивание легаси кода. Нельзя коммитить его по кусочкам, иначе у всей команды развалится сборка.

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

image loader

А что делать? Обновляет проект и решает конфликты. Иногда в работе над большой задачей разработчик каждый день обновляется и мерджит изменения, а иногда только через несколько дней.

Тестировщик будет сильно реже попадать в конфликтные ситуации, просто потому, что пишет меньше кода. Иногда вообще не пишет, иногда пополняет автотесты. Но с разработкой при этом почти не пересекается. Однако выучить merge все равно придется, пригодится!

4. Создать бранч (ветку)

На следующей неделе нужно показывать проект заказчику. Сейчас он отлично работает, но разработчики уже работают над новыми изменениями. Как быть? Ребята собираются на митинг:

— Что делать будем? Не коммитить до показа?

— У меня уже готовы новые изменения. Давайте закоммичу, я точно ничего не сломал.

Катя хватается за голову:

— Ой, давайте без этого, а? Мне потом опять краснеть перед заказчиками!

Тут вмешивается Иван:

— А давайте бранчеваться!

image loader

Все оглянулись на него:

Иван стал рисовать на доске:

— Бранч — это отдельная ветка в коде. Вот смотрите, мы сейчас работаем в trunk-е, основной ветке.

image loader

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

image loader

Потом Вася закоммитил изменения по улучшению классов — появилась версия 1 кода.

image loader

Потом он добавил проценты — появилась версия кода 2.

image loader

При этом в самой VCS сохранены все версии, и мы всегда можем:

Посмотреть изменения в версии 1

Сравнить файлы из версии 1 и версии 2 — система наглядно покажет, где они совпадают, а где отличаются

Откатиться на прошлую версию, если версия 2 была ошибкой.

image loader

Потом Петя добавил деление — появилась версия 3.

image loader

image loader

Теперь, если я захочу закоммитить изменения, они по-прежнему пойдут в основную ветку. Бранч при этом трогать НЕ будут (изменения идут в ту ветку, в которой я сейчас нахожусь. В этом примере мы создали branch, но работать продолжаем с trunk, основной веткой)

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

С бранчами мы всегда будем иметь работающий код!

image loader

— Подожди, подожди! А зачем эти сложности? Мы ведь всегда может просто откатиться на нужную версию! Например, на версию 2. И никаких бранчей делать не надо!

— Это верно. Но тогда тебе нужно будет всегда помнить, в какой точке у тебя «всё работает и тут есть все нужные функции». А если делать говорящие названия бранчей, обратиться к ним намного проще. К тому же иногда надо вносить изменения именно в тот код, который на продакшене (то есть у заказчика).

Вот смотри, допустим, мы выпустили сборку 3, идеально работающую. Спустя неделю Заказчик ее установил, а спустя месяц нашел баг. У нас за эти недели уже 30 новых коммитов есть и куча изменений.

image loader

Заказчику нужно исправление ошибки, но он не готов ставить новую версию — ведь ее надо тестировать, а цикл тестирования занимает неделю. А баг то нужно исправить здесь и сейчас! Получается, нам надо:

Обновиться на версию 3

Исправить баг локально (на своей машине, а не в репозитории)

Никуда это не коммитить = потерять эти исправления

Собрать сборку локально и отдать заказчику

Не забыть скопипастить эти исправления в актуальную версию кода 33 и закоммитить (сохранить)

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

image loader

Именно для этого мы и бранчуемся! Чтобы всегда иметь возможность не просто вернуться к какому-то коду, но и вносить в него изменения. Вот смотрите, когда Заказчик нашел баг, мы исправили его в бранче, а потом смерджили в транк.

Смерджили — так называют слияние веток. Это когда мы внесли изменения в branch и хотим продублировать их в основной ветке кода (trunk). Мы ведь объединяем разные версии кода, там наверняка есть конфликты, а разрешение конфликтов это merge, отсюда и название!

image loader

Если Заказчик захочет добавить новую кнопочку или как-то еще изменить свою версию кода — без проблем. Снова вносим изменения в нужный бранч + в основную ветку.

Веток может быть много. И обычно чем старше продукт, тем больше веток — релиз 1, релиз 2. релиз 52.

Есть программы, которые позволяют взглянуть на дерево изменений, отрисовывая все ветки, номера коммитов и их описание. Именно в таком стиле, как показано выше =) В реальности дерево будет выглядеть примерно вот так (картинка из интернета):

image loader

А иногда и ещё сложнее!

— А как посмотреть, в какой ветке ты находишься?

— О, для этого есть специальная команда. Например, в Mercurial это «hg sum»: она показывает информацию о том, где ты находишься. Вот пример ее вызова:

В данном примере «parent» — это номер коммита. Мы ведь можем вернуться на любой коммит в коде. Вдруг мы сейчас не на последнем, не на актуальном? Можно проверить. Тут мы находимся на версии 3. После двоеточия идет уникальный номер ревизии, ID кода.

image loader

Потом мы видим сообщение, с которым был сделан коммит. В данном случае разработчик написал «Try to fix bug with device».

И, наконец, параметр «branch»! Если там значение default — мы находимся в основной ветке. То есть мы сейчас в trunk-е. Если бы были не в нём, тут было бы название бранча. При создании бранча разработчик даёт ему имя. Оно и отображается в этом пункте.

image loader

— Круто! Давайте тогда делать ветку!

Для Git создали интерактивную «игрушку», чтобы посмотреть на то, как происходит ветвление — https://learngitbranching.js.org

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

Итого

Система контроля версий (от англ. Version Control System, VCS) — это dropbox для кода.

Популярные VCS и отличия между ними

Наиболее популярные — это:

SVN — простая, но там очень сложно мерджиться

Mercurial (он же HG), Git — намного больше возможностей (эти системы похожи по функционалу)

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

Главные трудности в svn — всегда нужна сеть, и он может быть очень мммееееддддленный. Ну и с ветками работать не так удобно, в svn это просто директории. Хотя для новичков «папки» svn обычно интуитивнее.

А в целом, svn просто другая система (он работает просто как файловая система) со своими преимуществами и недостатками. Его легко поставить на windows (не тянет за собой треть линукса), он безопасен (все что закоммичено — сохранено навеки, удалить нельзя ничего, никакого rebase), легко сделать checkout одной маленькой части проекта и работать только с ней (а это позволяет модный монорепо без костылей), можно мешать ревизии отдельных файлов в папке проекта и мерджить отдельные файлы произвольным образом. Права доступа к отдельным частям проекта — легко. svn работает с бинарными данными и даже (теоретически) как-то мерджит. Легко аутентификацию по сертификату. Встроенный WebDAV с минимальными усилиями: можно смонтировать как диск в Windows для тех, кому нужен доступ только для чтения, или просто бросить ссылку для браузера (какие-нибудь дизайнеры так могут любоваться картинками из svn или скрипт может получать последние бинарные данные для управления коллайдером).

Mercurial и Git — распределенная система контроля версий. Внесение изменений двухступенчатое — сначала коммит, потом push. Это удобно, если вы работаете без интернета, или делаете мелкие коммиты, но не хотите ломать основной код пока не доделаете большую задачу. Тут есть и автоматическое слияние разных бранчей. Больше возможностей дают системы.

У любой системы контроля версий есть «консольный интерфейс». То есть общаться с ними можно напрямую через консоль, вводя туда команды. Склонировать репозиторий, обновить его, добавить новый файл, удалить старый, смерджить изменения, создать бранч. Всё это делается с помощью команд.

Но любой графический интерфейс как работает? Вы потыкали мышкой, а система Tortoise составила консольную команду из вашего «тык-тык», её и применила.

Что такое API — подробнее о том, что скрывается за интерфейсом.

Вот некоторые базовые команды и форма их записи в разных VCS:

Источник

Like other Windows operating systems, Windows Server 2016 is also prone to losing important data due to various reasons, like careless deletion, hard drive formatting, unexpected system failure, Recycle Bin emptying, or virus attacking issues. As a result, many users ask for a solution to recover lost data on Windows Server 2016/2012/2008/2003.

In this guide, you will learn how to use the simple but ultimate Windows Server data recovery software — EaseUS Data Recovery Wizard to recover deleted files Windows Server 2016 with a few clicks.

Free Download the Best Windows Server 2016 Data Recovery Software

EaseUS Data Recovery Wizard offers comprehensive and easy data recovery solutions for both Windows 10/8/7 and Windows Server users. It is very efficient to undelete Windows Server 2016. and recover deleted, even permanently deleted files in Windows 2008, 2012, 2016, and 2019.

EaseUS Data Recovery Wizard to Quickly Retrieve Lost Data

  • Recover lost Word documents, photos, audio, music, and emails from any storage effectively.
  • Recover deleted, formatted, and inaccessible data in different data loss situations.
  • Restore lost data on Windows Server 2008, 2012, 2016, and 2019.

Step-by-Step Guide to Recover Deleted Files Windows Server 2016

Download the EaseUS Windows Server file recovery tool on your computer and follow the next steps to recover deleted files in Windows Server.

Step 1. Launch EaseUS file recovery software on your Windows computer. Choose the exact location where you lost the files and click the «Scan» button.

select a location to scan

Step 2. The software will immediately start scanning the drive, and the deleted files will be displayed soon. If you find the files you need during the scan, you can stop the scan. In order to find the target file quickly, you can use the file format filter.

Choose files to recover

Step 3. Select files, such as Word, Excel, PDF, photos, videos, or emails and click the «Recover» button. You can browse for a different location to keep the recovered files.

Recover lost data

Undelete Windows Server 2016 from Previous Versions

For users who don’t want to use data recovery software, you can retrieve deleted files on Windows Server 2016 from previous versions if you have activated the Windows backup feature beforehand.

Here’s how:    

Step 1. Find the folder that contained deleted files on Windows Server 2016 or other versions.

Step 2. Right-click the folder and select «Properties». Then, click the «Previous Versions» tab in the Properties dialog box.

Step 3. Select the wanted version and click «Restore». Then, use the File/Save As command to save it to a different location or filename. 

recover deleted files server 2016

Undelete Files on Windows Server 2016 in Time

Using previous versions to recover deleted files on Windows Server is generally ineffective because the vast majority of users don’t enable the Windows backup feature.

Therefore, we strongly recommend that you promptly use professional Windows Server file recovery software to recover deleted files on Windows Server to avoid new data overwriting. EaseUS Windows Server data recovery software allows you to recover permanently deleted files on all common Windows Server systems in three steps. Use it to restore any lost files effortlessly. 

Protection — How to Avoid Data Loss on Windows Server

Prevention is always better than cure. In order to avoid any data loss, some of the following steps may help.

  • Create Windows Server data backups: it will be very helpful to create data backups to avoid data loss
  • Operate carefully: To avoid misoperations is highly necessary
  • Use anti-virus software or program to clean up all virus, spyware or malware regularly
  • Find a powerful data recovery solution for Windows Server 2016

If you need to create Windows Server backups, EaseUS Todo Backup Advanced Server will help you back up all your data easily. If you happen to delete or lose important Windows server data and have no backups, powerful data recovery software shall be your best choice.

Понравилась статья? Поделить с друзьями:

Вот еще несколько интересных статей:

  • Настройка проводной локальной сети на windows 7
  • Настройка предыдущих версий файлов windows server 2012
  • Настройка проводного подключения к интернету на windows 7
  • Настройка правил брандмауэра windows групповыми политиками
  • Настройка проводного интернета через роутер windows 10

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии