rsync
zsync
Есть ли другой лучший инструмент синхронизации/резервного копирования, доступный на Linux? У меня есть локальная установка моего сайта, вики. Я хочу внести изменения в мой локальный сайт, а затем просто хочу нажать кнопку :D или запустить команду над папкой, она должна проверить разницу между моими локальными файлами и файлами на живом сайте и сделать необходимое в нужном мне направлении.
Вот почему filezilla/cuteFTP не подойдет, так как они не выполняют никакой разницы, будут очень неэффективно просто заменять всю папку. Было бы здорово, если бы был какой-либо интерфейс, доступный для rsync/zsync. Предпочтительно zsync в качестве сайта, он настроен для http-передач.
решение1
SiteCopyможет быть решением. Это сработало для меня в похожей ситуации. К сожалению, у него нет графического интерфейса, но было бы достаточно просто создать ярлык для его запуска.
решение2
Похоже, вы хотите использовать инструмент управления версиями, например svn
/Subversion или git
вместо rsync. Он идеально подходит для ваших нужд, плюс есть возможность отката, если редактирование что-то испортит.
Взгляните наДомашняя страница Subersionи/илиgit КАК.
решение3
Вики, как правило, имеют встроенный контроль версий, и многие из них основаны на файлах (а не хранятся в базе данных), поэтому rsync должен работать отлично. Я знаю людей, которые делают это для 'TWiki' для репликации своих установок на несколько серверов.
Возможно, у вас есть доступ только по протоколу «ftp» к файлам wiki? Вы можете рассмотреть вариант использования «wget» для извлечения данных с ftp (а не с http-интерфейса) с установленными флагами рекурсии (-r) и временной метки (-N), чтобы передавать только «более новые» файлы (что не совсем соответствует diff).
Как только у вас появится «копия» того, что находится на ftp-сервере, вы как-то отметите время обновления (часто просто «касанием» определенного файла маркера). Затем вы отредактируете обычным образом через локальную установку того же вики, затем используете «find $dir --newer touchmarkerfile», чтобы идентифицировать обновления для ftp и передать их через скрипт вокруг инструмента доставки ftp.
Я уже использовал подобное решение раньше (хотя у меня было преимущество в виде возможности отправлять изменения обратно на главный сервер через «wget»), поэтому я снова применил подход с рекурсивной отметкой времени.
Оглядываясь назад, если бы у меня был доступ по протоколу «ssh» (а у меня его не было), я бы просто использовал «rsync -globtru[n]cv», чтобы просто извлечь (или отправить) файлы в каждом направлении.
решение4
Я не вижу, в каком формате данных находится ваша вики. Если вы используете бэкэнд базы данных, вы, вероятно, можете обойтись какой-то репликацией. MySQL и PostgreSQL поддерживают это из коробки, как и другие.