Вы пробовали rsync?
По вашему мнению, это лучший инструмент.
$ rsync -av --delete temp/ existing_folder/
Обратите внимание на слэш после temp, это необходимо, потому что вы хотите синхронизировать содержимое. Без этого он создавал бы временную директорию в существующей папке.
Аргумент удаления делает файлы, которые больше не находятся в temp, удаляются в существующей папке.
Вы также можете делать сухие файлы, запустите, если вы добавите аргумент -n. Он расскажет вам, какие изменения будут сделаны без каких-либо действий.