Синхронизация файлов на веб-серверах

n4yk

Новичок
Здравствуйте, нужна помощь в решении задачи:
Необходима двухсторонняя (или односторонняя, если отсутствует возможность первой) синхронизация выбранного каталога на разных веб-серверах средствами PHP (Curl например).

Перерыл кучу форумов, везде предлагают, rsync, git, svn и прочие усложненные решения, которые не подходят для обычных хостингов.

Как это представляю я:

На 1ом сервере по адресу сайт1.ру/sync.php лежит скрипт, который при обращении сканирует заданный каталог, создает список всех файлов и папок с их хэш суммами или датой изменения, затем выдает этот список.
На 2ом сервере по адресу сайт2.ру/get_sync.php лежит скрипт, который создает тот же список, затем обращается к первому скрипту, сравнивает списки и скачивает через тот-же первый скрипт изменные/осутствующие файлы и каталоги и воссоздает их у себя в тех же местах и с теми же параметрами (CHMOD, дата изменения и т.д.).

Есть ли готовое решение, может кто-то сталкивался с подобной задачей?

UPD1: Нет возможности установки доп. софта, есть только PHP, альтернативы итак знаю, прошу не предлагать.
UPD2: Firewall блокирует все порты, кроме 80 и порта Удаленного рабочего стола, а на 80м порту висит Apache, сервер не мой, корпоративный, файрволл стоит на шлюзе к серверу, и доступа к его настройкам нет.
 

radioheaded

PHP нуб
Такое готовое решение и называется rsync. Непонятно, почему вы называете его «усложненным».
 

n4yk

Новичок
Такое готовое решение и называется rsync. Непонятно, почему вы называете его «усложненным».
Усложненное в плане того что нужно кроссплатформенное решение, без установки дополнительных библиотек или программ, сервера работают под разными ОС, один Windows, второй Linux, при том на Windows файрволл блокирует все порты, кроме 80го. Думаю на PHP это не очень сложно реализовать, и наверняка кто-то уже делал, если нет, я попробую сам, но я бы не хотел изобретать велосипед, если он уже есть.
 

Absinthe

жожо
Считаешь, что изобретать велосипед менее усложненно, чем поставить кроссплатформенную программу?
 

n4yk

Новичок
Считаешь, что изобретать велосипед менее усложненно, чем поставить кроссплатформенную программу?
Нет возможности установить дополнительный софт на сервере с виндой, есть только PHP, работающий стандартно под Apache на 80м порту.
 

hell0w0rd

Продвинутый новичок
сервер, с виндой? А зачем?
Если задача просто синхронизировать две директории - почему нельзя через php-ftp это сделать?
 

n4yk

Новичок
сервер, с виндой? А зачем?
Если задача просто синхронизировать две директории - почему нельзя через php-ftp это сделать?
Firewall блокирует все порты, кроме 80 и порта Удаленного рабочего стола, а на 80м порту висит Apache.
 

hell0w0rd

Продвинутый новичок
Для работы с FTP нужен 21 порт, доступа к которому нет.
А чем обусловлен выбор винды в качестве ОС? Самому над собой приятно издеваться чтоль с такими ограничениями? А база на каком порту тогда крутится?
Сейчас глянул доки - можно сменить порт подключения.
 

n4yk

Новичок
А чем обусловлен выбор винды в качестве ОС? Самому над собой приятно издеваться чтоль с такими ограничениями? А база на каком порту тогда крутится?
Сейчас глянул доки - можно сменить порт подключения.
Выбор винды обусловлен работой на ней специфичного платного софта, за работой которого следят другие люди. С базой нет проблем, поэтому я не пишу о ней, совместное использование 1й базы данных не имеет больших трудностей. Сменить порт можно на любом софте с помощью Port Forwarding'а, но повесить Ftp и Apache на один порт насколько я знаю не получиться.
 

Absinthe

жожо
Firewall блокирует все порты, кроме 80 и порта Удаленного рабочего стола, а на 80м порту висит Apache.
Попроси администратора исправить это.

Ты предлагаешь вместо использования scp или rsync писать какую-то муть самому?

которые не подходят для обычных хостингов.
Вот в чем дело. Предлагаю сэкономить на обедах и купить нормальный хостинг, стоит от 300р в месяц.
 
Сверху