Личный опыт рекурсивного обновления файлов:
Извращался в локальной сети (8-компьютеров), мой комп был за сервера, был еще один ПК, в котором лежала общедоступная папка, куда народ скидывал всякий мусор.
Поставил задачу отслеживать в этой папке изменения, к примеру ставим интервал времени 1час и сканировал все доступные дирректории (порядка 1000-5000 папок и 10000-100000 файлов разного размера и содержания)... Писал на PHP на скорую руку, ипользовал функцию "glob()" для чтения дирректорий и "filemtime()" для получения даты изменения, сравнивал дату с выбранной, если она оказывалась больше, то путь к файлу заносился в массив или выводился в окно браузера...
Что получилось в итоге:
Компьютер, на котором находилась "отшареная" папка встал наглухо

(оказался слабоват Celeron 1,5GHz, 256Mb DDR), мой компьютер испытывал "капитальные лаги", итогом стало то, что Apache отвалился...
2я попытка оказалась более удачной, для теста выбрал одну поддиректорию (20-40 папок 100-1000 файлов) все сработало на отлично, времени заняло приблизительно 15 секунд...
Какие сделал выводы:
Лучше написать скрипт для загрузки/перезаписи/удаления файлов и записывать действия в файл, а потом не сканировать все дирректории, а считывать изменения из файла (или БД) когда это потребуется
Как это поможет при решении задачи топика?
Если сделаете выбор в сторону самописного скрипта, то можно попробовать использовать файловый менеджер на одном сервере, написанный на PHP с небольшей модернизацией, а именно запись в файл/БД списка проводимых изменений (изменение/удаление/загрузка файлов). Потом при помощи дополнительного скрипта считать изменения подключится по ftp к остальным серверам и выполнить теже действия.
В качестве итога
Получается, что работу по изменению файлов нужно будет выполнить "в ручную" один раз, все остальное будет делать скрипт, при этом нагрузка на сервера будет минимальна.