Назад | Перейти на главную страницу

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

Я работаю над Windows Server 2012 R2. теперь у меня такой случай: -

  1. Внутри IIS у меня есть файл .dll с именем project.dll., Созданный 01.01.2016, последний раз измененный 01.07.2016.
  2. Я взял копию этого файла. сохраните это в надежном месте
  3. теперь я хотел протестировать новую версию этого файла .dll. поэтому я копирую / вставляю обновленную версию файла project.dll с нашего тестового сервера на наш предварительный сервер. где я указываю заменить текущий .dll.
  4. Итак, теперь обновленная .dll имеет следующую информацию. Создан 01.01.2016 и последний раз изменен 11.01.2016.
  5. теперь после теста. Я понимаю, что есть какие-то ошибки, поэтому хочу вернуть старую .dll
  6. поэтому я копирую .dll из безопасного места и вставляю его в папку, связанную с IIS. и я решил заменить текущий файл.

Теперь мой вопрос: как я могу узнать, когда произошла операция по пункту 6? поскольку .dll будет содержать исходную информацию; Создано 01.01.2016 и изменено 07.01.2016. но мне нужно знать, когда именно произойдет операция 6. другими словами, когда обновленная .dll была заменена исходной .dll? поскольку мне нужно проверить некоторые журналы, чтобы увидеть, были ли ошибки удалены в то время, когда обновленный файл .dll больше не был на месте ..

Всего пара возможностей ...

Вы можете проверить журнал USN. (В модуле Powershell Powerforensics есть хороший командлет для этого, Get-ForensicUsnJrnl. Каждый раз, когда вы касаетесь файла на томе NTFS, в этом журнале будет запись об этом.)

Или вы можете использовать Наблюдатель за файловой системой .NET.

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

  1. Чтобы отслеживать изменения в файле, вы можете использовать tripwire или его аналог с открытым исходным кодом OSSSEC. Это только отслеживает и предупреждает в том случае, если файл изменяется и больше не соответствует «базовой линии».
  2. Вы можете добавить файл в систему контроля версий, такую ​​как subversion или git. Это позволит вам сохранить коллекцию файлов и вернуться к более старым версиям, если ваш тестовый пример не сработает.
  3. Puppet, puppet может быть излишним только для того, чтобы гарантировать, что файл DLL соответствует вашей «хорошей» версии, но он позволяет вам определить исходный файл, который вы хотите существовать в его текущей форме на других серверах. Если файл DLL изменяется на удаленном сервере, puppet сравнит хэши MD5 и увидит изменение, а затем заменит его версией, которая является «хорошей» версией. Когда вы довольны новой версией, вы заменяете файл на сервере puppet, и puppet с радостью развернет его на вашем удаленном сервере.