Хотя rsync --checksum
является правильным ответом, обратите внимание, что этот вариант несовместим с --times
, и что --архив
включает --times
, так что если вы хотите rsync -a --checksum
, вам действительно нужно rsync -a --no-times --checksum
.
Вопрос не совсем понятен, но я все равно попробую его решить.
Если вы просто хотите всегда иметь возможность добраться до HTTP-сервера через этот промежуточный хост, вы можете использовать обратное SSH-туннелирование от HTTP-сервера к промежуточному хосту и экспортировать порт HTTP-сервера на loopback-интерфейс промежуточного сервера (вы можете выставить его и на внешний интерфейс, но это будет означать, что любой человек в сети тогда сможет попасть на ваш HTTP-сервер).
Чтобы сделать это, вам нужно использовать ssh -R 8080:127.0.0.1:80 joe@friendly.domain.tld
с вашего HTTP сервера. Это откроет порт 80 как порт 8080 на интерфейсе loopback на friendly.domain.tld.
Далее вам нужно перенаправить его на вашу локальную машину, выполнив следующие действия на локальной машине: ssh -L 8080:127.0.0.1:8080 joe@friendly.domain.tld
. С этого момента порт 8080 на вашем loopback интерфейсе подключен к вашему HTTP серверу :)
Вы можете получить больше информации из статьи в блоге, которую я написал некоторое время назад: http://dmitry.khlebnikov.net/2010/12/ssh-port-forwarding-intermediate.html