Основываясь на предложении icco о SVN, я бы на самом деле предположил, что если вы используете subversion или аналогичный для управления исходным кодом (а если нет, то, вероятно, вам следует начать), вы можете поддерживать производственную среду в актуальном состоянии, помещение команды для обновления репозитория в ловушку post-commit.
Есть много переменных в том, как бы вы хотели это сделать, но то, что я видел в работе, это то, что рабочий сайт или рабочий сайт должны быть рабочей копией, а затем после фиксации использовать ssh-ключ с Принудительная команда для входа на удаленный сайт и запуска SVN на рабочей копии. В качестве альтернативы в ловушке post-commit вы можете запустить экспорт svn на удаленной машине или локальный (в хранилище svn) svn, а затем выполнить rsync на удаленную машину.
Я бы беспокоился о вещах, которые обнаруживают изменения и толкают их, и я бы даже волновался о вещах, которые запускались каждую минуту, просто из-за условий гонки. Как вы знаете, что он не будет передавать файл в тот же момент, когда он записывается? Наткнитесь на это один или два раза, и вы потеряете все экономящее время преимущество, которое вы имели, постоянно выполняя повторную синхронизацию или подобное.