У даній статті спробую описати своє рішення такої досить поширеної завдання, як Синхронізація вмісту двох папок, Розташованих на різних серверах. Припустимо, у вас є 2 сервера: buh1 і buh2, в кінці дня всі змінені файли повинні копіюватися з одного сервера на інший, крім того все права доступу NTFS повинні залишитися тими ж самими, що і у вихідних файлів.

Моє рішення опираємося на використанні утиліти robocopy. Як я вже писав її можна використовувати для організації системи резервного копіювання і синхронізації файлів.

Спочатку необхідно переконатися, що на обох серверах програма robocopy.exe знаходиться по одному і тому ж шляху (зазвичай це каталог C: Windows system32).

Для здійснення схеми синхронізації каталогів, на першому кроці ми мапім (диск Z 🙂 на перший сервер папку з іншого файлового сервера (попередньо необхідно переконатися, що буква диска не зайнята). Далі викликаємо robocopy, яка здійснює синхронізацію файлів. Параметр команди “/ sec” – говорить про те, що необхідно копіювати і права доступу NTFS на файли. Крім того, скрипт створює лог, який можна використовувати для подальшого розбору польотів.

Скрипт виглядає наступним чином:

net use z: /delete

net use z: \buh2data

robocopy.exe C:data z: /sec /S /XO /R:3 /W:5 /LOG:C:ScriptLOGSsync.txt

Залишилося створити bat файл і нове завдання в планувальнику Windows.

Ось і все, так просто і швидко без використання сторонніх утиліт (адже в Windows 2008 Server вже включена за замовчуванням утиліта robocopy), ми реалізували систему синхронізації двох папок зі збереженням прав доступу NTFS.

Leave a Reply

Your email address will not be published. Required fields are marked *