W PHP nie polecam go z kilku powodów.
Mam dokładnie to, czego potrzebujesz jako aplikacja python.
Ta aplikacja jest zbudowany, aby uruchomić jako usługę, wystarczy go uruchomić i zapomnieć o nim :)
aplikacji: https://gist.github.com/8f62786582c6933395eb
Shell: https://gist.github.com/e08a99937c6f5deac4ab
Uwaga: plik shell powinien być nazywany fsyncd nie fsyncd.sh :)
wersja PHP związku z powyższym:
https://gist.github.com/3963cbc58793ff7e9773
Uwaga: Należy uruchomić go na obu stronach i skonfigurować, aby połączyć się z innymi i ustawić je do wykonania przez crony. Najlepiej nie przez WP crons.
mam ścieżkę do katalogu, który będzie zsynchronizowany zdefiniowanej tutaj:
define("PATH_DATA", PATH_ROOT . "data" . DIRECTORY_SEPARATOR);
w moim przypadku folder Dane znajdują się w folderze skryptu. Powinieneś po prostu ustawić absolutną ścieżkę lub użyć rdzenia WP, aby uzyskać katalog ładunków WP.
Głównym jest:
znaleźć sposób, aby uzyskać dwa serwery w stanie ze sobą rozmawiać. Użyłem podejścia do serwera gniazd/klienta. Można wykonać procesor HTTP _POST (serwer) i ekspres HTTP _POST (klient).
Zapisywanie ostatniego czasu synchronizacji.
W określonych odstępach czasu można czytać i zapisywać pliki zmodyfikowane od ostatniego czasu synchronizacji.
Wysyła listę plików, które mają zostać zaktualizowane z ich zmodyfikowanym znacznikiem czasu na inny serwer.
Powinien on porównać twoją listę z zapisami i powiedzieć, których z plików nie ma.
Wyślij te pliki.
Odbiornik zapisze pliki i ustawi zmodyfikowaną datę na tę na drugim serwerze. (jest to ważne, aby uniknąć nieskończonych pętli)
Powodzenia.
Jaki jest protokół, który chcesz użyć, aby przesłać pliki? ftp? ssh? inni? Mówisz o HTTP, ale dostaniesz kłopoty, jeśli chcesz na przykład utworzyć kopię pliku '.php' ze zdalnego serwera. –
http://stackoverflow.com/questions/1691530/sending-a-file-via-http-put-inp – Cypher
I kolejne +1 tutaj. – transilvlad