Синхронизация файлов по FTP

Статус
В этой теме нельзя размещать новые ответы.
Продолжу тему.
Решил я потренироваться на юних-системах делать синхронизацию, а поскольку ответа на свои вопросы пока не получил, поставил у себя на VMWare FreeBSD, а там уже стоит зеркало нужного мне сайта. Настроил доступ из внешки,привязал DynDNS, все нормально, сайт виден извне...Таким образом, хочу делать синхронизацию - вначале между сервером с ssh-доступом и моей локальной фряхой, а затем между последней и сервером без ssh-доступа, ну и также в обратном порядке..Понимаю, что это не совсем красиво, ну да заради опыта...
Вот столкнулся с такой проблемой:
установил sshfs и curlftpfs- но примонтировать ничего не могу, после ввода пароля пишет:
fuse: failed to open fuse deuice: no such file or directory
хотя с папками все нормально. И если я точно с такими же путями монтирую это все в убунту, все идет без проблем.А тут - хоть ты тресни...Что то связано с fuse? fuse установлен, монтирую под рутом - что еще нужно сделать
 
С fuse вопрос решил, модуль был не загружен.
Я думал, что для запуска fuse достаточно выполнить /usr/local/etc/rc.d/fusefs start
поскольку после этого сообщений об ошибке не было.
Я как то совсем упустил, что
необходимо разрешить запуск fuse, добавив в /etc/rc.conf, такую строку:
fusefs_enable="YES"
Теперь все идет без проблем...добавил модуль в автостарт..
Остальные вопросы пока остаются..
Но зато теперь все дороги открыты, начинаем осваивать Rsync
 
Появились вопросы по rsync, поэтому продолжу, с вашего позволения.
Хотел я было всю эту свою систему связать воедино, таким образом:
итак, на одном сайте есть ssh, на втором только ftp...как выяснилось, и rsync-а там нет. Ну ладно, на локальной своей машине установил rsync, изучил кучу инфы и начал тестить. думал, свяжусь с одним сайтом по ssh, либо примонтирую с помощью sshfs, с другим - примонтировав с помощью curlftpfs..таким образом, все что мне нужно будет у меня как бы в одной системе, ну и буду их синхронизировать постепенно..
Но не все так просто оказалось.
В любом случае, синхронизация при таком способе подключения к удаленным серверам выполняется с ошибками, как с sshfs, так и с curlftpfs
Ошибки в основном говорят о запрете доступа, не тех правах, а иногда и о разрыве коннекта. Например:
rsync: rename "/media/sshfs/data/111/222/.Codir_1251.txt.qZUHFn" -> "Codir_1251.txt": Operation not permitted (1)

sent 293 bytes received 31 bytes 72.00 bytes/sec
total size is 542280 speedup is 1673.70
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1040) [sender=3.0.5]

или
rsync: chown "/media/sshfs/data/111/222/." failed: Permission denied (13)
rsync: chown "/media/sshfs/data/111/222/10f89rp.jpg" failed: Permission denied (13)
rsync: chown "/media/sshfs/data/111/222/2nltymt.jpg" failed: Permission denied (13)
rsync: chown "/media/sshfs/data/111/222/3467580103_e25a8a1016_o.jpg" failed: Permission denied (13)
rsync: chown "/media/sshfs/data/111/222/8mart.gif" failed: Permission denied (13)
rsync: chown "/media/sshfs/data/111/222/Addons.JPG" failed: Permission denied (13)
и еще
rsync: recv_generator: failed to stat "/media/ftp/data/111/222/8mart.gif": Socket is not connected (57)
rsync: recv_generator: failed to stat "/media/ftp/data/111/222/Addons.JPG": Socket is not connected (57)
rsync: recv_generator: failed to stat "/media/ftp/data/111/222/Codir_1251.txt": Socket is not connected (57)
Ну вот, самое интересное, что если это все делать напрямую, без предварительного монтирования с sshfs или curlftpfs все выполняется без ошибок..Думал, может какие аргументы нужны хитрые, но я в случае как прямом так и через костыль прописываю одинаковые опции...
Собственно, меня бы устроило прямое копирование через ssh, если бы на втором сервере была бы такая возможность.. да и потом, мне показалась возможность сделать все через curlftpfs уж очень заманчивым: можно монтировать автоматом без ввода пароля - в случае с ssh как я понял, такое возможно только после авторизации ключей, а авторизировать их мне надо на удаленном сервере...а у меня там прав нету..:(
В общем,чешу репу, может вы что подскажете...
 
ОМГ )) Зачем столько хлопот ????
Ставь пакет ssl на одном и на втором,в нем уже есть встроенный sftp сервер и клиент и пользуйся.
Принцип работы(обмен файлами и редактирование) будет как на тотале.
 
ОМГ )) Зачем столько хлопот ????
Ставь пакет ssl на одном и на втором,в нем уже есть встроенный sftp сервер и клиент и пользуйся.
Принцип работы(обмен файлами и редактирование) будет как на тотале.
хорошо бы как на тотале :) , но в никсах что то достойного аналога не видел , но ты имеешь в виду наверное в плане хотяб основной функциональности тотала?, а скорей миднайта и то, только в рамках текущей темы(в большие удобства и схожесть что то не верится :( )
 
хорошо бы как на тотале :) , но в никсах что то достойного аналога не видел , но ты имеешь в виду наверное в плане хотяб основной функциональности тотала?, а скорей миднайта и то, только в рамках текущей темы(в большие удобства и схожесть что то не верится :( )

Я сам лично пользуюсь им.Но правда я работаю в режиме win - *nix ,использую для этого winscp (для винды).
 
Если есть на удалённой машине SSH, то как уже писали самый удобный способ это sshfs и работай с ней как угодно.
 
Если есть на удалённой машине SSH, то как уже писали самый удобный способ это sshfs и работай с ней как угодно.
Ну я тоже уже много раз рассказывал, что на одном сервере есть ssh, а на втором только ftp - в принципе, я было думал, что связка sshfs+ curlftpfs на моей локальной машине как раз решит мои проблемы - но не тут то было.
При копировании таким способом с одной подмонтированной машины на другую вечно какие нибудь ошибки...Причем,я уже не знаю, из -за чего они, эти ошибки - я грешу щас на того хостера, где нет ssh, поскольку ошибки всегда при копировании ТУДА -с sshfs на curlftpfs.И причем разные: раньше были ошибки, о которых писал выше, а сейчас вот такие:
rsync: failed:......... Operation not supported (95)
При этом ОТТУДА - с curlftpfs на sshfs все копируется..
Так что я пока страхуюсь другими методами, поскольку уже мозги вывихнул, переворачивая интернет в поисках решения подобным моим ошибкам...
Просьба к тем, у кого есть возможность потестить такую связку, как у меня - sshfs+ curlftpfs, и у кого все работает, подскажите, какие агрументы используете, может в этом дело, а то я уже запарился...
 
Если кому то интересно, нашел одно решение, может быть полезно в случаях, подобным моему - когда необходимо синхронизировать файлы между серверами, и при этом к одному из серверов есть доступ только по FTP.
Для просмотра ссылки Войди или Зарегистрируйся - на перле,
очень простой скрипт с точки зрения установки и запуска - просто распаковать куда то и запустить из текущей директории ftpsync.pl.
Например,копирование с локального на удаленный хост -
PHP:
perl ftpsync.pl -n /path/tolocal/folder/ ftp://ftp_user:ftp_pass@ftp_host/path/toremote/folder/
-n - не удалять файлы на приемнике, если их нет в источнике
Остальные опции можно посмотреть в сети или вызвать perl ftpsync.pl без агрументов, получим помощь..
Удобно лично для меня то, что я залил папку со скриптом на тот свой хостинг, на котором у меня есть ssh, написал там короткий шелл-скрипт, поставил его в крон и забыл про проблему синхронизации файлов с тем моим хостингом, на котором нет ssh...
зы: конечно работает значительно медленнее, нежели rsync, но покуда мне не нужно синхронить ежеминутно, все меня устраивает.
 
  • Заблокирован
  • #30
Мне достаточно синхронизировать только в одну сторону.
В принципе меня устроит и ssh, но если кто-нибудь подскажет решения для FTP буду благодарен. Я видел много софта для синхронизации по FTP который делает это через третью машину. Но хотелось бы что бы оно само, по расписанию синхронизировалось.
А если просто через wget в кроне? Единственное, так это на зеркале добавятся файлы .listing для каждой директории...
Выглядит это примерно так:
Код:
.sh файл на зеркале, который вызывается из крона
cd /целевая папка
wget -m -c -o /var/log/ftpsyncronize.log -nH ftp://login:pass@myhost.com
Ключи для вгета по вкусу и по потребностям...
у меня вроде работает:bn:
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху