Синхронизация папок и файлов по локальной сети, SFTP, в облако. Синхронизация папок FTP, файлов и данных SFTP и FTPS

Как бы активно ни продвигались облачные технологии, хранение файлов, традиционно, зачастую проще и дешевле обходится на FTP-серверах. По сути, FTP-клиенты - такая же необходимая категория программного обеспечения, как и обычные файловые менеджеры. Конечно, здесь не придется говорить о «новичках»: была и есть устоявшаяся выборка программ как среди платных, так и среди бесплатных решений.

В данном обзоре пойдет речь о бесплатных FTP-клиентах, не столько известных, сколько «разношерстных». Наибольшее внимание будет уделено таким аспектам, как поддержка протоколов, безопасность, интерфейс, а также дополнительные функции (синхронизация, кэширование, поиск и прочие).

FileZilla

FileZilla - кроссплатформенный мультиязычный клиент, простой в использовании, поддерживающий такие базовые протоколы, как FTP, SFTP, FTPS и др., располагающий к себе удобным интерфейсом с возможностью перетаскивания, поддержкой вкладок, сравнением директорий, синхронизацией и удаленным поиском. Программа регулярно обновляется, что говорит об активном статусе ее разработки.

Графическая оболочка действительно удобна - она не перегружена, как это обычно бывает в программах подобного рода - множеством панелей. Сверху и снизу окна - Журнал сообщений и Окно задания, в основной части расположен двухколоночный файловый менеджер. Если менеджер покажется неудобным в навигации, можно включить древовидный список для локального/удаленного списков файлов. Поддерживаются вкладки. Такой интерфейс можно назвать почти классическим для GUI FTP-клиентов.

Для быстрого подключения к хосту можно воспользоваться Панелью быстрого соединения, также здесь указывается протокол передачи, например, sftp://hostname или ftps://hostname. Но более привычно составить список нужных источников для подключения в Менеджере сайтов. В настройках, опять же, можно поменять протокол (FTP/SFTP), ввести учетные данные, назначить локальный и удаленный каталоги, открывающиеся при подключении, сменить тип передачи файлов (более широко опции предоставлены в общих настройках программы). В Менеджере сайтов, равно как и в главном окне, в процессе навигации можно создавать закладки.

В FileZilla достаточно гибкое управление передачей данных. Во-первых, имеется в виду наглядный процесс выполнения заданий, с возможностью постановки на паузу (для файлов, не превышающих лимит 4 Гб). Во-вторых, в клиенте поддерживаются синхронизированный просмотр, сравнение каталогов, фильтры, кэширование и, как уже было упомянуто, удаленный поиск - стандартные и необходимые функции при навигации.

Поддерживаются HTTP/1.1, SOCKS 5, и FTP-прокси. Для протокола FTP дополнительно доступно шифрование.

Резюме

Простой клиент, который не удовлетворит потребности профессионала, однако включает в себя все базовые возможности для работы с протоколами FTP, SFTP, FTPS.

[+] Документация на русском языке
[+] Простой и удобный интерфейс
[+] Кроссплатформенность
[−] Нет поддержки командной строки ( сервера)

FTPRush

FTPRush - некогда платный клиент, пополнивший список бесплатных относительно недавно. Из примечательных особенностей можно отметить такую функцию, как FXP - перенос файлов с одного сайта на другой «на лету», гибкую настройку интерфейса (в традициях панельного MS Office 2000-2003), SSL/TLS/SFTP-шифрование, Z-компрессию при передаче.

Внешний вид настраивается гибче, чем FileZilla, достаточно заглянуть в меню «Вид» либо открыть контекстное меню любой из областей. Предусмотрено следующее: перетягивание, включение и отключение панелей, кнопок, настройка столбцов колонок.

Менеджер подключений имеет в запасе множество настроек сервера, поддерживаются SFTP (причем в соответствующем разделе обнаруживаются опции для настройки SSL), SSH, незащищенный FTP, TFTP. Можно указать временную зону, определить локальный/удаленный каталоги, добавить закладки. При наличии нескольких конфигураций удобно применять глобальные настройки, отпадает необходимость в перенастраивании нескольких конфигураций. Доступны списки исключений, извещения, приоритеты и другие дополнительные параметры. Представлен ряд опций, относящихся к соединению программы с сервером и передаче файлов. На выбор - несколько видов прокси, в том числе и SOCKS, настройка Z-компрессии. Не говоря уже о настройке горячих клавиш и действий мышью.

Планировщик доступен он через Окно задач. Не сказать, что он идеален в текущей реализации, но свои функции выполняет и вдобавок позволяет указать сценарий либо действие из списка для выполнения. Для создания сценариев используется конструктор, который доступен в меню «Инструменты». Также в этом разделе можно ознакомиться со списком FTP-команд. Удаленный поиск можно найти в разделе меню «FTP».

Пожалуй, единственный момент, вызывающий нарекание - очень некачественный перевод на русский.

Резюме

На выходе получаем бесплатный продукт с функциями профессионального продукта.

[−] Некачественный перевод интерфейса
[+] Отличная функциональность
[+] Большое количество настроек
[+] Поддержка защищенных протоколов и методов шифрования

WinSCP

WinSCP - клиент с открытым исходным кодом, который работает с протоколами FTP, SFTP, SCP и FTPS ( , таблица сравнения протоколов), поддерживает сценарии и командную строку.

Одна из первоочередных особенностей - возможность выбора интерфейса в одном из двух вариантов - Проводник или Commander. В первом случае, результатом является имитация панели проводника (с удаленным режимом доступа) с левой боковой панелью и сопутствующей схемой горячих клавиш. Если говорить о втором типе интерфейса, то здесь, скорее, прослеживаются аналогии с Far Manager, MC, Norton Commander, при этом клавиатурные сочетания также приближены к классическим файлменеджерам.

Поддержка сессий, вкладок, синхронизация каталогов, сравнение файлов источника/приемника - имеются среди других возможностей. Многие панели настраиваемы, можно их закрепить/открепить, убрать через меню View. Однако WinSCP в наименьшей степени графический клиент в типичном понимании, здесь устройство несколько иное. Функциональность не впечатлит малоопытного пользователя ввиду того, что многие опции скрыты в командном режиме - в меню можно обнаружить выход на утилиту Putty, командную строку и другие специальные инструменты для работы с вышеуказанными протоколами.

Заявленная поддержка скриптов окажется полезной при автоматизации передачи данных или планирования заданий (что заинтересует опытных пользователей). Достаточно подробная инструкция по планированию заданий в Windows через командную строку в руководстве.

Что касается FTP, функциональность достаточно заурядная, и, более того, нет функции FXP, которая в FTPRush, например, указана чуть ли не основной. Впрочем, FXP поддерживается далеко не на каждом сервере.

На странице с переводами можно найти частичную русификацию (выполненную на 80%).

Резюме

Клиент предназначен для аудитории опытных пользователей, которые, прежде всего, работают с протоколами SFTP, SCP и FTPS с использованием терминала.

[+] Управление через консоль
[+] Гибкая настройка SFTP, SCP и FTPS
[+] Неплохие возможности по автоматизации

Cyberduck - не совсем типичный продукт в нише FTP-клиентов, поскольку в наибольшей степени он позиционируется как «файловый браузер» для платформ Windows и Mac OS. Поддерживаются протоколы FTP, SFTP, WebDAV, Cloud Files, Google Drive, Google Storage и Amazon S3.

При запуске программа предлагает импортировать хосты из FileZilla, и указанные адреса будут помещены в закладки. В программе используется однопанельный режим, для десктоп-клиента в данном случае вовсе не оптимальный и вызывающий лишь неудобства. Для закачки файлов необходимо открывать отдельное окно, аналогично - для просмотра очереди заданий. Чтобы изменить права доступа, нужно переходить во вкладку «Права доступа» раздела «Инфо». Все стандартные операции, касающиеся работы с FTP, собраны в меню «Действие». В программе можно заметить окно поиска, но, как оказалось, это некий фильтр по названиям, но никак не поиск по файлам.

Если удобством FTP-режима программа не может отметиться, то, возможно, кого-то привлечет некоторыми дополнительным функциями, среди которых поддержка хранилищ облачных сервисов, таких как Диск Google или Amazon S3. Тонких настроек для интеграции с сервисами не нашлось. Для экспорта документов из Google Docs можно выбрать формат файлов, в случае с Amazon - настройки шифрования и др. Относительно функциональности, опять же, ничего в защиту Cyberduck сказать нельзя: так, простая операция вроде назначения прав доступа в Google Диск куда более интуитивна в оригинальном интерфейсе. Использование неудобной альтернативы здесь представляется сомнительным.

Вообще, в связи с очень простым интерфейсом Cyberduck нельзя назвать оптимальным клиентом для работы с вышеназванными сервисами. Однако, как файловый менеджер для просмотра документов он вполне сгодится. Можно лишь возлагать надежды на то, что разработчики «подтянут» функциональность в одном из направлений - либо работа с FTP, либо поддержка облачных сервисов.

Резюме

Несмотря на поддержку FTP, SFTP и других протоколов, Cyberduck сгодится лишь для закачки или скачивания файлов, просмотра документов на сервисе Документы Google и других простых операций. То есть, предусмотрена самая базовая работа с заявленными протоколами и сервисами.

[+] Унифицированный интерфейс
[−] Малое количество настроек
[−] Неудобный файловый менеджер
[−] слабая поддержка облачных сервисов

CoreFTP LE

Данный файловый менеджер примечателен поддержкой протоколов SFTP, SSL, TLS, FTPS, IDN, режима командной строки, FXP, прокси нескольких типов. LE - это бесплатная облегченная версия клиента, PRO содержит множество дополнительных функций, таких как шифрование файлов, zip-архивирование, синхронизация и .

В оболочке CoreFTP LE чувствуется «старая школа». И, хотя расположение панелей достаточно интуитивно, для комфортной работы нужно все перенастраивать. Можно воспользоваться командой Reset View для смены режима отображения: например, сместить логи вверх, убрать лишние панели и прочее.

Если говорить о возможностях при работе с FTP, в стандартные функции CoreFTP входят создание заданий для нескольких сайтов, рекурсивные операции с файлами (закачка, скачивание и удаление). Многопоточность в LE-версии недоступна, тем не менее, немалое количество опций открыто в разделе «Connections». В разделе Transfers можно включить компрессию - в LE-версии, правда, не все опции доступны.

Сайт-менеджер очень гибок в настройке, радует количество протоколов и предусмотренных опции для SSH,SSL/TSL. Настройки безопасности можно найти в «Advanced File Settings». Не забыты прокси, в списке доступны FTP Proxy/HTTP 1.1/SOCKS. Для продвинутых пользователей будет интересен раздел «Script/Cmds», хотя, судя по всему, командный режим здесь представлен более скромно, чем в WinSCP, и терминал отсутствует.

Резюме

FTP-клиент с традиционным интерфейсом и добротной функциональностью для бесплатной версии, с большим количеством настроек, касающихся безопасности, передачи данных, соединения.

[−] Нет планировщика
[−] Устаревший интерфейс
[+] Хорошая функциональность
[+] Продвинутые настройки SSH,SSL/TSL и прокси

BitKinex

Перечень особенностей, указанный на сайте BitKinex, сводится к удобствам пользовательской среды, однако, если обратить внимание на другие аспекты, в сухом остатке будет поддержка протоколов FTP, FXP, FTPS, SFTP, HTTP, HTPS, WebDAV, функций FXP и Indirect Transfers (FTP->SFTP, WebDAV->FTPS, HTTP->FTP и т. п.). Другие возможности приведены на странице . Из них следует, что BitKinex можно также использовать для создания зеркал, в качестве менеджера загрузок - то есть, весьма универсальный клиент.

Для создания подключения предназначен стартовый мастер настройки «Quick Connect», который, впрочем, можно пропустить, перейдя к окну «Control Window». Здесь собраны источники данных для всевозможных протоколов, каждый из которых поддается тщательной настройке. Все источники группируется по типу протокола.

Операции с файлами на сервере производятся в другом окне - «Browse Window», которое открывается при подключении к источнику. В данном окне представлен стандартный двухколоночный менеджер. В основной области локальный и удаленный источники, слева - список хостов, внизу - список задач и лог.

Возможна интеграция с Проводником Windows, поддерживается перетаскивание между окнами, и, что наиболее интересно, drag & drop данных между протоколами. Доступно множество операций с файлами и папками, такие как сравнение, блокирование, смена прав доступа CHMOD и прочие операции. Программа поддерживает режим командной строки. Из дополнительных функций стоит отметить синхронизацию и зеркалирование.

Резюме

Универсальный менеджер для широкого спектра протоколов, со своей интересной идеологией, гибкими настройками. Заинтересует пользователей, которые работают с множеством источников, опытных вебмастеров и системных администраторов.

[+] Отличная функциональность
[+] Удобная группировка источников
[−] Недостаточно интуитивный интерфейс

Компания CoffeeCup известна своими простыми, «казуальными» программами, клиент Free FTP не стал исключением. В описании возможностей часто употребляется слово «easy». Тем не менее, поддерживается не только протокол FTP, но и SFTP, FTPS, что позволило включить этот клиент в обзор.

Для создания подключения нужно перейти в «Manage Servers», где уже обосновался аккаунт S-Drive. Программа достаточно навязчиво «рекомендует» подключить данный сервис, удалить из менеджера сайтов его нельзя.

Очевидно то, что клиент CoffeeCup Free FTP нацелен на работу со статическими сайтами, так как здесь присутствует встроенный редактор с автодополнением, сворачиванием кода, подсветкой и прочими удобствами. Увы, доступен только в платной версии и при этом занимает половину рабочей области программы и отдельный раздел настроек. Его легко убрать из виду, переключившись в режим «FTP View».

Основных опций немного, особенно по части защищенных протоколов. В принципе, логично, что начинающий пользователь скорее предпочтен небезопасный и более знакомый FTP. В настройках также присутствуют параметры прокси, хотя выбрать тип соединения нельзя, возможно лишь добавить сервер(-ы) в список. Из примечательных особенностей можно отметить встроенный ZIP-архиватор. Достаточно странно, также здесь же нашлось место клиенту PuTTY - «запаска» на случай использования CoffeeCup Free FTP опытными пользователями?

Резюме

Клиент от CoffeeCup чрезвычайно прост в использовании, поскольку функциональность не позволяет запутаться. Пожалуй, будет полезен начинающим веб-мастерам, которым нужно редактировать HTML-файлы на сервере, либо в период знакомства с веб-технологиями.

[+] Клиент легко освоить
[−] Навязчивость S-Drive
[−] Отсутствие поиска, синхронизации и сравнения каталогов
[−] Встроенный текстовый редактор

Сводная таблица


FileZilla FTPRush WinSCP CoreFTP LE BitKinex
Разработчик Tim Kosse FTPRush WinSCP CoreFTP LE BitKinex
Лицензия Freeware (GPL) Freeware Freeware (GPL) Freeware (GPL) Freeware Freeware Freeware
Платформы Windows, Linux, Mac OSX Windows 2000+ Windows 2000+ Windows, Mac OSX Windows Windows XP+ Windows XP+
Протоколы FTP, SFTP, FTPS FTP, SFTP, TFTP+ FTP, SFTP, SCP, FTPS FTP, SFTP, WebDAV, Cloud Files, Google Drive, Google Storage, Amazon S3 SFTP, SSL, TLS, FTPS, IDN FTP, FTPS, SFTP, HTTP, HTPS, WebDAV+ FTP, SFTP, FTPS
Консоль + + + + +
Прокси FTP, HTTP, SOCKS FTP, HTTP, SOCKS+ FTP, HTTP, SOCKS, Telnet+ системный FTP, HTTP, SOCKS FTP, HTTP, SOCKS +
Удаленный поиск + + + + +
Синхронизация + + + + + +
Сравнение содержимого каталогов + + + + +

Возникла простая задача - по расписанию сливать с сервера свежие бэкапы на локальную машину. Перепробовав несколько программ, подавляющее число которых платное, остановился на бесплатном варианте с помощью WinSCP . Тем более ничего лишнего ставить не требуется, а эта программа не помешает в повседневной работе даже самому крутому админу, работающему на Windows.

Не все знают, что WinSCP поддерживает работу со скриптами. Воспользуемся этой возможностью для синхронизации файлов по FTP.

Напишем такой простой скрипт и сохраним его в файлик scp_sync.txt

Option batch on option confirm off # open ftp connection open ftp://user :password @server # synchronize files from server synchronize -criteria=size -transfer=binary local local-path remote-path exit

Описание всех команд можно найти на сайте, но и так несложно догадаться о их назначении.

Следующие параметры нужно изменить на свои.

  • user - имя пользователя
  • password - пароль
  • server - адрес сервера (IP или домен)
  • local-path - локальный каталог, например C:\Backup
  • remote-path - удаленный каталог, для корня нужно указать /

Можно изменить направление синхронизации, в моём случае local - файлы скачиваются с сервера в локальную папку. Другие допустимые значения: remote - изменения в локальной папке будут залиты на сервер, both - двухсторонняя синхронизация.

Также допустимо поменять критерий определения изменения файлов -criteria=size . Допустимые значения time , size и either - по времени изменения, по размеру, или оба критерия сразу, при этом время изменения будет иметь более высокий приоритет по сравнению с размером.

Есть ещё один полезный параметр -delete для удаления устаревших файлов. В моём случае файлы отсутствующие на сервере будут удалены из локальной папки, то есть мы получим «зеркальную копию».

Полный синтаксис команды synchronize можно найти .

Запуск скрипта осуществляется следующей командной строкой, все пути естественно нужно поменять на свои.

C:\Program Files\WinSCP\WinSCP.exe /console /script=C:\Script\scp_sync.txt

Вставляем эту строчку в Пуск => Выполнить и проверяем, что всё отработало нормально. Если что-то пошло не так, комментируем или удаляем пункт exit в скрипте, и смотрим какая ошибка выдаётся. Для ведения подробного лога в конце командной строки нужно добавить /log=C:\Script\scp_sync.log

Выполнять его по расписанию можно при помощи обычного планировщика Windows. Приведу порядок действий в Windows 7. Запускаем Планировщик: Панель управления => Система и безопасность => Администрирование => Планировщик заданий , можно несколько проще Пуск => Выполнить => Taskschd.msc

Выбираем пункт меню Действие => Создать программу , на вкладке Общие задаём её произвольное имя. Переходим на вкладку Действия , нажимаем Создать . По кнопке Обзор находим WinSCP.exe , в поле Добавить аргументы вводим /console /script=C:\Script\scp_sync.txt

На вкладке Триггеры нажимаем Создать и настраиваем время запуска. Поскольку у меня компьютер практически не выключается, устанавливаю Ежедневно, в 4:00

Единственный недостаток WinSCP по сравнению с некоторым платными прогами - то что она не умеет скачивать файлы в несколько потоков. В остальном это отличный бесплатный вариант.

Рано или поздно, но, думаю, каждый системный администратор сталкивается с необходимостью синхронизации содержимого каталогов, расположенных на разных удалённых системах. Хорошо, если есть возможность использовать или хотя бы возможность смонтировать удалённый ресурс средствами или Samba. Но что делать, если в вашем распоряжении не имеется больше ничего, кроме старого доброго FTP? Выход, конечно же есть, и по традиции мира Open Source, их немало. Перебрав несколько я остановился на утилите FTPSync . Она написана на Perl и теоретически должна работать в любой системе, имеющей в своём распоряжении Perl-интерпретатор. Я же расскажу об опыте установки и использования FTPSync в своей Ubuntu 10.04 Server.

Требования

На данный момент последняя версия программы — 1.3.03. Для её корректной работы необходимо следующее:

  • Perl 5.6+
  • File::Find, IO::Handle (идут в стандартной поставке Perl)
  • Net::FTP (часть пакета libnet-perl)
  • File::Listing (часть пакета libwww-perl)

Установка

Собственно установка, как вы уже догадались, заключается в размещении скрипта программы в удобном нужном месте файловой системы вашего компьютера. Получить последнюю версию исходного кода программы вы сможете, посетив или же по прямой ссылке отсюда: . Итак, поехали.

Получим архив с исходными кодами, сохранив его пока что во временный каталог, поскольку в архиве помимо файла скрипта содержатся другие файлы, которые полезны в ознакомительных целях но совсем не нужны в месте, где мы будем располагать программу.

Mkdir -p ~/tmp cd ~/tmp wget http://ftpsync.sourceforge.net/ftpsync-latest.tar.bz2

Теперь распакуем содержимое полученного архива в текущий каталог:

Bunzip2 -c ./ftpsync-latest.tar.bz2 | tar -xv ls -l drwxr-xr-x 2 ashep users 4096 2009-07-03 16:02 ftpsync-1.3.03 -rw-r--r-- 1 ashep users 17191 2009-07-03 16:02 ftpsync-latest.tar.bz2

Мы видим появившийся каталог с файлами FTPSync версии 1.3.03. Посмотрим, что там есть:

Cd ftpsync-1.3.03 ls -l -rwxr-xr-x 1 ashep users 6006 2009-07-03 16:02 Changes -rwxr-xr-x 1 ashep users 18009 2006-08-30 22:28 COPYING -rwxr-xr-x 1 ashep users 31562 2009-07-03 16:02 ftpsync.pl -rwxr-xr-x 1 ashep users 4430 2009-07-03 15:58 README -rwxr-xr-x 1 ashep users 64 2009-04-15 17:02 TODO

Забавная ситуация, все файлы исполняемые. Похоже, под Windows архивировали. Но не суть, собственно, нам нужен файл скрипта и он здесь есть! :) Теперь скопируем файл скрипта в нужное нам место. Я подобные вещи предпочитаю хранить в каталоге /usr/local/bin :

Sudo cp ./ftpsync.pl /usr/local/bin/

И последний штрих. Проверьте, чтобы путь к интерпретатору Perl, указанный в первой строчке скрипта /usr/local/bin/ftpsync.pl совпадал с реальным размещением интерпретатора в вашей системе. По умолчанию в скрипте используется путь /usr/bin/perl , что в большинстве случаев соответствует действительности. Узнать, где у вас находится perl, можно так:

Which perl

Использование

FTPSync умеет работать в обоих направлениях, то есть выполнять синхронизацию как с локального каталога в удалённый, так и наоборот. Направление синхронизации FTPSync определят из параметров командной строки. Общий формат вызова FTPSync таков:

Ftpsync [опции] [источник получатель]

Либо источник , либо получатель должны содержать путь к локальному каталогу, в то время как противоположный параметр должен содержать URL удалённого ресурса. Обратите внимание, что параметр источник имеет значение по умолчанию — это текущий каталог. При этом, по ещё одному умолчанию, FTPSync выполняет синхронизацию в направлении «из локального ресурса в удалённый». Таким образом, если вы запустите программу, передав ей только URL удалённого ресурса, на FTP-сервер будет отправлено содержимое текущего каталога. Помните об этом при использовании FTPSync в командных сценариях.

Формат URL при определении удалённого FTP-ресурса такой:

Ftp://[пользователь[:пароль]@]хост/каталог

Что ж, предлагаю попробовать FTPSync в деле. Пока что не будем лезть в дебри опций, которых, кстати, не так и много. Вот так у меня выглядело копирование содержимого каталога с исходными текстами FTPSync на сервер:

/usr/local/bin/ftpsync.pl ~/tmp/ftpsync-1.3.03/ ftp://guest:[email protected]//

Обратите внимание на дополнительный слеш в конце URL. Он указывает программе не перемещаться ни в какой каталог, а использовать тот, в который FTP-сервер «выбрасывает» пользователя после логина.

Determine s offset. Clock sync offset: 0:00:00 Building local file tree. Building remote file tree. Starting synchronization. Creating new remote directories. Copying new(er) local files. New: ftpsync.pl (31562 bytes) New: COPYING (18009 bytes) New: Changes (6006 bytes) New: README (4430 bytes) New: TODO (64 bytes) Deleting obsolete remote files. Deleting obsolete remote directories. Done.

Как видно, FTPSync успешно скопировала пять файлов из указанного мной локального каталога. Теперь пробуем удалить локальный файл README и повторить синхронизацию той же командой:

Rm ~/tmp/ftpsync-1.3.03/README /usr/local/bin/ftpsync.pl ~/tmp/ftpsync-1.3.03/ ftp://guest:[email protected]// Determine s offset. Clock sync offset: 0:00:00 Building local file tree. Building remote file tree. Starting synchronization. Creating new remote directories. Copying new(er) local files. Deleting obsolete remote files. README Deleting obsolete remote directories. Done.

FTPSync успешно удалила файл README , отсутствующий в локальном каталоге, но всё ещё существующий на FTP-сервере.

Теперь, предварительно вручную удалив файл TODO на сервере, попробуем выполнить синхронизацию в обратном направлении:

/usr/local/bin/ftpsync.pl ftp://guest:[email protected]// ~/tmp/ftpsync-1.3.03/ Determine s offset. Building local file tree. Building remote file tree. Starting synchronization. Creating new local directories. Copying new(er) remote files. Deleting obsolete local files. TODO Deleting obsolete local directories. Done.

Опции

Опций FTPSync предлагает достаточно немного, но лично моя практика использования этой программы показала, что больше и не нужно.

  • -c | -C заставит программу спрашивать вашего разрешения на выполнение каждого своего действия;
  • -d | -D включает вывод отладочной информации. В частности вы увидите лог FTP-сессии, который может оказаться весьма полезным в некоторых ситуациях;
  • -f | -F отключает рекурсивное копирование;
  • -g | -G при указании этой опции FTPSync будет выполнять синхронизацию в направлении «с сервера в локальный каталог»;
  • -h | -H справка по работе с программой;
  • -i | -I вывод основной информации в процессе работы, включено по умолчанию;
  • -n | -N не удалять в получателе отсутствующие файлы и каталоги источника;
  • -l | -L рассматривать локальные символические ссылки в качестве каталогов;
  • -p | -P при указании этой опции FTPSync будет выполнять синхронизацию в направлении «из локального каталога на сервер»;
  • -q | -Q отключает вывод информации;
  • -s | -S включает сравнение времени доступа файлов и каталогов. Без этой опции при сравнении используются только размеры файлов;
  • -t | -T отключает обновление меток времени для локальных файлов;
  • -v | -V включает многословный вывод;
  • cfg= указывает FTPSync считывать параметры из файла, указанного в значении этого параметра:
  • ftpserver= имя хоста FTP-сервера. По умолчанию это «localhost»;
  • ftpdir= каталог FTP-сервера. По умолчанию это текущий каталог;
  • ftpuser= имя пользователя FTP-сервера, по умолчанию это «ftp».
  • ftppasswd= пароль пользователя FTP-сервера, по умолчанию это «anonymous».
  • ignoremask= регулярное выражение, определяющее имена файлов, игнорируемые при синхронизации.
не помню за опцию, но думаю в мане все это есть. Если не может в обе стороны синхрить(в чем я сомневаюсь), то можно два скрипта один в одну, другой в другую)))

Rsync - современный способ синхронизации файлов

Итак, для чего нужен RSync?

RSync - был разработан как замена старой команды rcp. С помощью которой производилось копирование файлов между машинами UNIX-систем. RSync очень удобен, так как его алгоритм построен так, что он отслеживает как изменился файл и копирует только необходимые части. Причём для выявления изменений, ему не надо сравнивать два файла. И работает это очень быстро.

Кроме того, очень полезным будет его способность работать через ssh. Что обеспечивает шифрование канала, что очень важно, если вы синхранизируете два сервера в сети интернет. Для уменьшение трафика, rsync так-же умеет сжимать данные, при передаче по сети. Это очень мощная утилита, и надо быть с ней осторожным, с её помощью можно испортить данные.

Мы будем рассматривать rsync как средство синхронизации файлов между серверами, а не как систему раздачи файлов. В первом случае мы используем ssh, а во втором нам необходимо запускать сервер rsync.

Разберём на примере:


--delete-after root@:/home/ /home/

Rsync -e ssh --progress -lzuogthvr --compress-level=9 \
--delete-after /home/ root@:/home/

Зависит от того, в какую сторону синхронизируем файлы

Обратите внимание на последний слеш, так как он имеет значение для rsync. Если на конце исходной директории стоит «/», то это означает копирование содержимого директории; отсутствие слеша означает копирование директории и ее содержимого.

* e - заменяет протокол с rsh на ssh

* progress - вывод хода процесса работы на терминал
* l - пересоздание symlinks, это значит, что символические ссылки будут так же переноситься

* z - использовать сжатие
* u - update. Обновление, он будет пропускать файлы которые новей, чем на удалённом сервере

* o - установить владельца конечного файла таким же, как и у исходного
* g - установить группу конечного файла таким же, как и у исходного

* t - передача времени модификации и его обновление на удаленной системе. Этот ключ должен быть установлен для точной синхронизации
* h - вывод информации на терминал в удобном для чтения (human-readable) виде

* v - verbose. Вывод сообщений в терминал.
* r - рекурсивный режим

* n - отладочный режим
* compress-level - уровень сжатия

* delete-after - удалять файлы, которые не были найдены на удалённом сервере, “-after” означает, что удалить их нужно, только после окончания синхранизации. Так-же есть delete-before, delete-during, delete-excluded и просто delete

Отладочный режим
Перед тем как запустить скрипт на рабочей машине, опробуйте всё в отладочном режиме, для этого используется ключь “-n”. В этом случае, rsync

Не будет менять или удалять файлы, но покажет, весь ход работы.

Исключение файлов
RSync может как исключать, так и включать файлы, по заданному шаблону. Например -exclude *.run исключит все файлы с расширением run.

Работа по протоколу FTP — основной на сегодня способ загрузки и скачивания файлов по Сети. Для этого создан не один десяток программ. Зайдите в любой каталог программ — в разделе «FTP» увидите с десятка три бесплатных или shareware-продуктов. С процессом загрузки файлов на сервер они вполне достойно справляются. Но редкая программа может качественно решать задачу синхронизации, то есть добавления или удаления только измененных файлов на локальном или удаленном компьютере. Оговоримся сразу, что задача синхронизации стоит не только перед вебмастерами. Она актуальна для сисадминов предприятий и организаций, которым приходится обеспечивать синхронность работы сотрудников над каким-либо проектом.

Из всего множества программ для работы с FTP, существующих на данный момент, для выполнения задач синхронизации пригодным оказалось не так уж много программных продуктов. Кстати, интересный момент — среди таких программ совершенно нет продуктов, разработанных крупными и признанными лидерами софтверной продукции. Все действительно интересные и работоспособные синхронизаторы сделаны или малыми компаниями, или отдельными программистами.

Программ-синхронизаторов совсем не много

Возможно, что кому-то известны и другие интересные программы, но мы рассмотрим следующие три:

  • vuBrief — автор Валентин Купрович, Санкт-Петербург, первый релиз — март 2001 года, Freeware;
  • SmartSync Pro — от компании SmartSync Software, первый релиз так же в 2001 году, Shareware;
  • WebSynchronizer — от компании ReGet Software, Санкт-Петербург, первый релиз — 14 июля 2003 года, Shareware.

Все они успешно выполняют следующие функции:

  • перенос и синхронизация файлов между директориями в пределах одного компьютера;
  • синхронизация файлов между удаленными компьютерами;
  • синхронизация файлов между локальной и FTP-директорией;
  • резервное архивирование файлов.

На этом не заканчивается общее у этих программ. Они могут работать с zip-архивами, у всех у них имеется возможность выполнения заданий в отсутствие пользователя по заранее составленному графику. Во всех программах создание задач синхронизации облегчено руководством специальной подпрограммы-мастера, где пошагово задаются параметры выполнения задачи.

vuBrief — бесплатная программа для синхронизации

Несложная в освоении и настройке программа, ориентированная на синхронизацию данных для частного пользователя при одновременной работе над проектом с разных рабочих мест (в офисе и дома).

Задание для синхронизации в этой программе называется "портфелем". Сколько создается заданий, столько и появится "портфелей" в окне vuBrief. Далее для "портфеля" задаются параметры: синхронизируемые директории, направление синхронизации, время синхронизации, отбор файлов для синхронизации по типу или имени, настройка FTP-соединения.

Простота работы и режим распространения программы (freeware) — основные преимущества программы, в целом ее можно порекомендовать начинающим пользователям.

SmartSync Pro

SmartSync Pro — недорогой продукт для профессионалов

Появился фактически одновременно с vuBrief. Она выполняет все классические функции программы-синхронизатора, но имеет, по сравнению с vuBrief, более приятный интерфейс и несколько интересных и полезных особенностей.

Одной из таких особенностей является возможность планировать действия с файлами до и после синхронизации. Например, можно запустить определенную программу, если произошло изменение связанного с программой файла.

Программа может проводить "умную" синхронизацию, то есть не проводить копирование файлов, даже если они указаны в задании, если атрибуты, размер и время изменения исходного и синхронизируемого файлов совпали в результате сравнения.

SmartSync Pro ведет логи выполнения синхронизаций, что облегчает контроль выполнения работ в отсутствие пользователя. Доступ к программе можно закрыть паролем. Программа отлично подходит для профессионалов, связанных с работой в Сети, недорогая и удобная.

WebSynchronizer

Появился на рынке самым последним из перечисленных программ. Его движок основан на движке великолепно зарекомендовавшего себя download-менеджера ReGet. Это, а также опыт предшественников, позволили ему получить дополнительные возможности, которых нет у описанных выше программ.

WebSynchronizer — лучший продукт в своем классе

Прежде всего, WebSynchronizer умеет учитывать поясное время. Если ваш сервер физически расположен в Америке, то при сравнении времени изменения файла разница в восемь часов будет учтена программой. Далее, программе доступна функция синхронизации данных между двумя удаленными серверами. Синхронизация всегда производится в несколько потоков (их число пользователь может ограничить), что увеличивает скорость синхронизации. Сама же скорость передачи данных при необходимости может регулироваться пользователем с целью снижения нагрузки на сеть и компьютеры.

Уникальной способностью можно назвать режим передачи данных: файлы передаются под измененными именами, и только после полной передачи происходят возврат файлу прежнего имени и удаление старого файла. Это существенно для российских пользователей, когда связь может разорваться в любой момент и передача файла сорвется. Если это происходит, то возможна ситуация, когда посещение сайта станет на некоторое время (до восстановления файла) невозможным. WebSynchronizer исключает такие ситуации.

К сожалению, у этой программы так же есть недоработки. Логи синхронизации сохраняются, только пока программа открыта, и их приходится сохранять отдельно. Нет парольной защиты при входе в программу, что актуально для многопользовательских машин.

Резюме

Среди множества программ, связанных с закачкой файлов по FTP, немногие могут выполнять функции синхронизации. С должным уровнем сервиса и надежностью работы эту функцию выполняют единицы. vuBrief — единственная из бесплатных программ, заслуживающая внимания. SmartSync Pro — качественный и надежный софт для вебмастера, обеспечивающий "умную" синхронизацию. WebSynchronizer обеспечивает повышенную скорость и надежность передачи данных.




Top