Бесплатное и открытое решение на основе git:
Используйте git-ftp для синхронизации. После установки и настройки локального репозитория git вы можете сделать:
- git ftp init -u <пользователь> -P f tp: //host.example.com/public_html # для первого нажатия
- git ftp push --user <пользователь> --passwd <пароль> f tp: //host.example.com/public_html
Теперь вам нужно просто следить за изменениями файловой системы, добавлять их в локальный репозиторий git и загружать репозиторий с помощью приведенной выше команды.
Преимущества:
- git-ftp работает на windows и linux (протестировано с mysys git на windows)
- хорошо интегрируется в ваши настройки разработки, если вы уже используете git
- очень прост в настройке и использовании (если вы знакомы с git)
- инкрементные изменения -> экономит большую пропускную способность
Недостатки:
- вам нужно найти решение, чтобы следить за изменениями файловой системы (это не должно быть слишком сложно, например, для nodejs есть решения для этого)
Вот пример для командного файла, который я использую в Windows:
@echo off
git init .
git add . --all
git commit -am "auto commit"
set /p pwd= Please enter ftp password:
git ftp push --user myftpuser --passwd %pwd% ftp://myftphost.com/myfolder
Обратите внимание, что это интерактивный пример, но вы можете сделать его неинтерактивным, сохранив пароль в командном файле.