Я хочу синхронизировать локальную папку на моем Mac с удаленным ftp-сервером. Я хочу загрузить только файлы, измененные с момента последней синхронизации. Я также хотел бы загрузить с сервера новые и измененные файлы. Есть ли способ сделать это из оболочки OSX?
У вас есть доступ по ssh? В таком случае вам следует посмотреть на rsync. Однако это не будет работать через FTP.
Из командной строки:
$ rsync -avz -e ssh /local/dir someuser@someserver.com:/remote/dir/
Следите за косой чертой в конце, они имеют значение
Если вы ищете двунаправленную синхронизацию, обратите внимание на унисон. По сути, это оболочка вокруг rsync для добавления двунаправленной поддержки. Бинарные файлы доступны на http://www.cis.upenn.edu/~bcpierce/unison/download.html Следует иметь в виду, что вы должны запускать одну и ту же версию на клиенте и сервере, поэтому, если у вас нет возможности установить ее на удаленном сайте, это бесполезно. В этом случае rsync, вероятно, установлен на удаленном сайте, и вы, вероятно, можете запустить две команды rsync для перемещения данных в каждую сторону. Просто обратите внимание, что конфликты будут перезаписаны с помощью rsync.
Если это должен быть FTP, тогда AASync выглядит многообещающе. Это приложение на основе графического интерфейса, но его также можно запланировать и запустить в фоновом режиме. Может быть, это так же хорошо, как быть вызванным оболочкой.