Меню Рубрики

Ftp sync windows service

OpenSource в заметках

Рано или поздно, но, думаю, каждый системный администратор сталкивается с необходимостью синхронизации содержимого каталогов, расположенных на разных удалённых системах. Хорошо, если есть возможность использовать rsync или хотя бы возможность смонтировать удалённый ресурс средствами NFS или 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)

Установка

Собственно установка, как вы уже догадались, заключается в размещении скрипта программы в удобном нужном месте файловой системы вашего компьютера. Получить последнюю версию исходного кода программы вы сможете, посетив страницу проекта на SourceForge или же по прямой ссылке отсюда: http://ftpsync.sourceforge.net/ftpsync-latest.tar.bz2. Итак, поехали.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Опции

Опций 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= регулярное выражение, определяющее имена файлов, игнорируемые при синхронизации.

Источник

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

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

Да и не все обладают достаточными знаниями, чтобы в полной мере противостоять различным угрозам в сети. Тем немение есть достаточно простое и эффективное решение по поддержке и сохранности вашего сайта всегда в рабочем состоянии. FTP-Sync — бесплатное и эффективное приложение для синхронизации файлов по FTP локальных папок вашего сайта на компьютере с такими же файлами на сервере вашего хостинга и наоборот.

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

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

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

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

Источник

Синхронизация папок (локальной с удаленным каталогом по FTP)

23.12.2015 [17:43], Del PC

Синхронизация папок – не самое трудное дело, настроить синхронизацию папок можно за 2 минуты. Синхронизация файлов и папок с удалённым сервером настраивается:

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

Программа для синхронизации папок и файлов по FTP

WinSCP – это бесплатная программа для синхронизации папок на компьютере. Это FTP-клиент с возможностью синхронизации.

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

  1. Запустите
  2. Добавить новое подключение
  3. Подключитесь к удалённому каталогу

После подключения вы увидите двухпанельный файловый менеджер. На одной стороне можно открыть локальную папку с нужными каталогами, на другой – удалённую папку.

Для начала синхронизации нужно:

  1. Выбрать меню “Команды”
  2. Пункт “Синхронизация” или с помощью горячих клавиш Ctrl+S

Выбрав направление синхронизации и указав остальные параметры, нажмите “ОК”.

Автоматическая синхронизация FTP с удалённым сервером

Автоматическая синхронизация FTP с удалённым сервером настраивается за 2 минуты с помощью WinSCP:

  1. Добавить новое подключение
  2. Подключитесь к удалённому каталогу
  3. Выберите меню “Команды”
  4. Пункт “Синхронизация” или с помощью горячих клавиш Ctrl+S
  5. Нажмите ОК

Далее нужно создать текстовый файл с настройками для подключения, вот как он выглядит в нашем случае:

Соответственно, вышеуказанные значения меняйте на свои:

  • user – имя пользователя для подключения к FTP
  • password – пароль для пользователя
  • ftpserver – адрес сервера, к которому подключаемся
  • C:\temp\BAT\synchro\KMS\ – путь к локальной папке
  • / – путь к удаленной папке (в моем случае корневая папка)

Внесите свои значения и сохраните с именем sync-config.txt (или любое другое название на ваше усмотрение).

Автоматическая синхронизация папок и файлов запускается с помощью другого файла. Давайте его создадим. Создайте файл synhro.bat и откройте его с помощью блокнота, после чего внесите в него следующую информацию:

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

Запустите файл synhro.bat и, если все вышеописанное вы сделали правильно, должна начаться автоматическая синхронизация файлов и папок, выглядит это примерно так:

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

Автоматическая синхронизация файлов и папок по времени

Автоматическая синхронизация файлов в программе WinSCP настраивается так:

  1. Добавить новое подключение
  2. Подключитесь к удалённому каталогу
  3. Выберите меню “Команды”
  4. Пункт “Синхронизация” или с помощью горячих клавиш Ctrl+S
  5. Нажмите ОК
  6. Создайте текстовый файл с настройками для подключения, вот как он выглядит в нашем случае:
  7. Соответственно, вышеуказанные значения меняйте на свои:
    • user – имя пользователя для подключения к FTP
    • password – пароль для пользователя
    • ftpserver – адрес сервера, к которому подключаемся
    • C:\temp\BAT\synchro\KMS\ – путь к локальной папке
    • / – путь к удаленной папке (в моем случае корневая папка)
  8. Внесите свои значения и сохраните с именем sync-config.txt (или любое другое название на ваше усмотрение)
  9. Создайте файл synhro.bat и откройте его с помощью блокнота, после чего внесите в него следующую информацию: C:\Program Files (x86)\WinSCP\WinSCP.exe” /console /script=C:\temp\BAT\synchro\sync-config.txt, где первая половина – путь к установленной программе, вторая – путь к файлу конфигурации, который мы с вами уже создали
  10. Запустите файл synhro.bat

Теперь, чтобы настроить синхронизацию файлов и папок по времени, осталось добавить этот файл в запуск по расписанию, например, с запуском каждые 30 минут. Настройка синхронизации файлов по времени:

  • Откройте “Планировщик заданий”
  • Создайте новое задание
  • Настройке его (как на картинке)

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Ftp site open in windows explorer
  • Ftp server for windows server
  • Ftp line command windows
  • Ftp drive windows 10
  • Ftp daemon for windows