Bt-teh.ru

БТ Тех
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Bat синхронизация папок с сервером

Полная синхронизация общих папок, контактов, календарей между распределенными серверами Kerio Connect

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

Предыстория

Изначально идея была — поднять Распределенный почтовый домен Kerio и он сам все сделает. Сказано, сделано распределенный домен был создан, но не тут-то было, сервер готов был синхронизировать календари, папки, контакты — между доменами находящимися на одном сервере, но вовсе не собирался синхронизировать данные между несколькими серверами.

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

Задача плавно перетекла в проблему.

Какие были варианты

  • Создать двух клиентов на разных серверах, которые каким-то сторонним ПО обменивали необходимые данные. Нужно было найти это самое сторонние ПО, которое бы реализовывало данный функционал – не люблю такие грабли, но казалось что это единственно быстрое решение.
  • Написать свой собственный скрипт синхронизации данных между серверами. Дело в том, что Kerio хранит каждый объект как отдельный файл, соответственно требовалась разработать скрипт работы с файлами, но в виду достаточного кол-ва источников задача казалось несколько сложной, тем более что нужно было выполнять множественные проверки корректности данных, вдруг кто-то создаст задачу в одинаковый промежуток времени и тд и тп.

Забегая вперед скажу, что Kerio хоть и хранит объект как отдельный файл, он не настолько глуп, чтобы при каждом обращении к объекту спрашивать — как дела у файловой системы.

Потратив на размышления большое количество времени, изрисовав кучу бумажек с планами “по захвату вражеской территории”, в 6 часу ура я принял два верных решения:

  • Первое решение – делать свое и ничего стороннего не искать.
  • Второе решение — идти спать.

Уже утром я проснулся с одной единственно и верной мыслью, которая сократилась до нескольких букв – DFS

Решение

Само решение выглядело следующим образом

  • привести все сервера, которые будут участвовать в синхронизации к OS Windows. (Часть была на Linux. требовалась миграция почтовых данных на другую OS)
  • Определится со структурой каталогов, которые будут участвовать в синхронизации — они должны быть идентичные.
  • Определить все почтовые сервера под один домен с единым DFS пространством.
  • Создать выше упомянутый распределенный домен Kerio, так как в моем случае требуется синхронизация данных, не только между серверами но и между доменами, вторым может заниматься сервер Kerio самостоятельно. (в отличие от первого)
  • Натравить синхронизируемые каталоги на пространство DFS.
  • Придумать какой-нибудь костыль (ведь без костыля нельзя)

Реализация

Пример на двух почтовых серверах (может быть больше)

1. Kerio Distributed domain

Master не участвует в синхронизации, но это не обязательное условие.

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

В конечном итоге в консоли администрирования вы должны увидеть следующую картинку:

Далее меня интересовали общие папки, на сервере Master можно указать следующие варианты:

Особая для каждого домена — сервер не будет синхронизировать общедоступные папки между доменами

Общие для всех доменов — все сервера откажутся от существующих общих папок в каждом домене и создадут новые единые папки для всех доменов на каждом из почтовом сервере.

Внимание! Данная опция хоть и меняет политику настройки на всех серверах, синхронизацию производит отдельно от каждого из серверов (то есть — без единого общего пространства)

У администратора — останется возможность, распределять доступы между пользователями.
в моем случае — все свои и мне нужна полная синхронизация (В вашем случае решение может быть другим) на каждом сервере нужно создать одинаковые наборы доменов которые необходимо синхронизировать.

2. Каталоги данных Kerio

Теперь необходимо создать одинаковые общие каталоги, которые необходимо синхронизировать на каждом из серверов. Папки, Календари, Контакты.

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

Теперь необходимо найти физические пути почтовых папок на каждом сервере.

Общие для всех доменов

DataMailmail#publicСинхронизируемый каталог#msgs
Особая для каждого домена

Обратите внимании, что мы будем синхронизировать не весь каталог, а только контейнер с данными #msgs — тут хранятся сами объекты, все остальные данные для каждого из серверов должны быть свои.

3. DFS

Подробно как настраивать DFS, также расписывать не буду, информации по данному вопросу достаточно.

DFS — это служба роли в Windows Server, которая предоставляет возможность объединения общих папок, находящихся на разных серверах
Ссылка на документ MS DFS

Перед настройкой DFS – необходимо остановить все почтовые сервера которые будут участвовать в синхронизации данных.

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

публиковать реплицируемые папки нам естественно не нужно.

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

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

4. Костыль

Описание размышления

Как вы можете убедиться после того как данные начали синхронизироваться (DFS), в том случаи если вы что либо создали на первом сервере — на втором сервере что-то как-то ничего не появляется, либо появляется но как-то не всегда.

Отчаивается не стоит оно конечно рано или поздно там появится, но лучше рано, чем поздно. Потому как поздно это через 6 – 12 часов.

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

Читать еще:  Регулировка тв шасси s16b фирмы samsung в сервисном режиме

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

Есть еще вариант, что-то создать — в момент создания нового объекта сервер вдруг сообразит, что имя файла, которое он хотел присвоить уже занято, но тут снежный ком и это тупиковый вариант.

Если еще раз обратить внимание на уже знакомую нам картинку.

Но в другой плоскости, можно заметить очень интересную и нужную нам сейчас кнопку — Переиндексировать папки

И действительно. Если нажать на данную кнопку на почтовом сервере, который не знает о том что у него уже что-то изменилось в синхронизируемом #msgs, мы получим стабильный, быстрый результат. Все скрытое станет явным.

В журнале можно посмотреть, сколько занимает времени данный процесс, в моем случаи с несколькими тысячами (15 тыс) записей около 3-4 минут.

Остались только придумать, как собственно нажать на данную кнопку, тогда когда нам это нужно.

Оказывается у Kerio есть свой API

Функция, которая выполняет нашу задачу, выглядит так –
session = callMethod("Domains.checkPublicFoldersIntegrity",<>, token)

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

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

Реализация скрипта

Пример скрипта CMD и описание

Re-index.bat

Копия скрипта запускается на каждом почтовом сервере (можно в качестве службы, Адм права не требуются)

Скрипт читает файл Setup%Computername%.List

Где %Computername% — имя текущего сервера (Директория может содержать сразу списки всех серверов.)

Файл %Computername%.List – содержит полные пути синхронизируемых директорий, каждый путь записан в новой строке, пустых строк содержать не должен.

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

Задача скрипта сводится к подсчету всех файлов в указанной директории.

По окончанию подсчета каждой директории, если хотя бы в одной директории текущее значение файлов, не совпадает с предыдущем, скрипт удаляет файлы из корневой директории синхронизируемого почтового каталога: index.fld, indexlog.fld, search.fld и запускает процесс индексации — общих почтовых папок.

В директорию LOG сваливается информация о выполнении задач.

Процесс индексации
Процесс индексации сводится к выполнению функции API Kerio
Session = callMethod("Domains.checkPublicFoldersIntegrity",<>, token)

Пример выполнения приведен на – python
PublicFolders.py

http://127.0.0.1:4040 можно оставить как есть, однако если вам требуется HTTPS — python должен доверять сертификату Kerio.

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

Надеюсь, моя статья будет полезна администраторам Kerio Connect.

FavoriteДобавить в избранное

Используем Robocopy . Примеры.

robocopy

Используем Robocopy . Примеры.

Robocopy — это отличнейшая вещь, очень гибкий инструмент для копирования и даже бэкапа. И самое интересное то, что она поддерживает длинные пути файлов т.е. более 256 симоволов. Wiki: Это утилита командной строки для репликации (не просто копирования) каталогов (папок). Она была доступна как часть Windows Resource Kit и представлена как стандартный компонент Windows Vista, Windows 7 и Windows Server 2008. Поставляется компанией Microsoft «как есть» без гарантий и техподдержки.

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

Все это необхожимо если вам нужно перенести целый каталог файлов с сервера со всеми настройками прав доступа в том числе и атрибутов времени создание файлов или скопировать файлы исключив какие то файлы (по разным атрибутам или расширению) или папки. Также robocopy удобно использовать в качестве программы для бэкапа файлов с компьютеров пользователей на сервер ( дальше на сервере работает добавочная архивация) — самое оптимальное решение.

Параметры копирования из robocopy /help

1. Скопировать файлы, измененные за последние 5 дней (исключая сегодня).

robocopy «E:Documents» «\NASBACKUPDocuments» /maxage:5 /minage:1

2. Переместить все файлы:
robocopy «E:Documents» «\NASBACKUPDocuments» /move /e

3. Скопировать файлы за исключением скрытых (/xa:h):

robocopy «E:Documents» «\NASBACKUPDocuments» /e /xa:h

или за исключением read-only (/ia:rs):

robocopy «E:Documents» «\NASBACKUPDocuments» /ia:rs

При копировании также можно менять атрибуты файлов, при помощи опции A+ (добавить атрибут) or A- (удалить атрибут). Скопировать все файлы и задать им атрибут read-only:

robocopy «E:Documents» «\NASBACKUPDocuments» /e /A+:r

4. Скопировать все файлы по шаблону (расширению), пустые папки не копировать:

robocopy «E:Documents» «\NASBACKUPDocuments» *.doc *.ppt /s

5. Скопировать все файлы размером от 1000 до 60000 байт:

robocopy «E:Documents» «\NASBACKUPDocuments» /e /max:60000 /min:1000

6. Исключить из копирования папку AppData (/XD AppData):

Robocopy «C:UsersAdministrator» «\NASBACKUPAdministrator» /MIR /XA:SH /XD AppData /XJD

7. Создать 32 потока (/MT:32) копирования файлов:

Robocopy «C:UsersAdministrator» \NASBACKUPAdministrator /MIR /XA:SH /XD AppData /XJD /R:5 /W:15 /MT:32

8. Скопировать файлы из одной папки в другую со стандартными атрибутами исключив файл по расширению (допустим *.doc)

Robocopy » Robocopy «C:UsersAdministrator» «\serveruserbackup» /СOPY:DAT /XF *.doc

Пример использования для бэкапа

robocopy D:исходная_папка \192.168.0.1целевая_папка /E /Z /COPY:TDASO /DCOPY:T /M /R:2 /W:5 /MT:64

В данном примере:
Мы копируем папку «исходная папка», находящуюся на локальном диске D:
Мы копируем эту папку на компьютер \192.168.0.1 в папку «целевая папка»
/E : Мы копируем все подпапки и файлы
/Z : Включаем поддержку докачки (на случай обрыва связи)
/COPY:TDASO : Копируем все атрибуты и ACL прав доступа NTFS (но не копируем атрибуты аудита)
/DCOPY:T : Копируем время создания папок
/M : Копируем только файлы с установленным атрибутом «A — Архивный» и сбрасываем этот атрибут, что позволяет нам копировать только измененные файлы.
/R : Количество повторных попыток копирования файла в случае, если копирование не удалось. Причем «не удалось» срабатывает и в том случае, если доступ к файлу закрыт. По-умолчанию = 1 миллионы, т.е. бесконечно, потому копирование благополучно встанет на первом же файле, к которому не будет доступа.
/W : Задержка в секундах между попытками копирования. По-умолчанию = 30 секундам.

Читать еще:  Samsung kies как синхронизировать контакты

/MT — кол-во потоков, увеличив которые можно ускорить копирование. Будет быстрее чем обычное копирование файла точно.

Заметка. Очень рекомендую задавать вручную параметры /R и /W, иначе при автоматической синхронизации она попросту зависнет, встретив на своем пути ошибку доступа.

2) Похожий пример , но обратите внимание — каждый раз бэкап копируется в папку с названием даты и времени. Очень удобно для создание добавочного бэкапа.
robocopy D:исходная_папка \192.168.0.1целевая_папка %date:

3,2% /E /Z /COPY:TDASO /DCOPY:T /M /R:2 /W:5

3,2% — дата и время созда ние бэкапа в качестве названия папки. В итоге получается папка вида 16.01.2016-10.19

3,2% Результат — 2016-03-13_23-30

Много интересного вы также сможете узнать набрав команду set /?

Bat синхронизация папок с сервером

В процессе создания кластера стал вопрос: чем же можно обеспечить синхронизацию файлов и папок на отдельных узлах? После недолгих поисков всевозможных готовых решений наткнулся на известную утилиту, работающую под Unix – Rsync. У многих администраторов появилась необходимость синхронизировать каталоги между Unix-Windows серверами. Так получил жизнь проект cwRsynс. Суть этого проекта в том, что утилита Rsync запускается по Windows с помощью библиотеки cygwin.

В моем случае возможность взаимодействия с Unix серверами в перспективе очень радовала. Также отзывы админов о работе Rsync под Unix были очень положительными, и я решил попробовать.

В этой статье мы рассмотрим каким образом настраивается синхронизация жесткого диска с помощью cwRsynс. Русскоязычных статей по работе с cwRsync я не нашел – все дружно копируют четыре шага по установке, и не касаются работы и настройки. Основную массу информации я черпал из http://rsync.samba.org , ведь параметры запуска для Rsync и cwRsync остаются одинаковыми.

Принцип синхронизации с помощью cwRsync состоит в следующем: на главном сервере (в нашем случае Сервер№1) запускается демон cwRsync при старте системы. В конфиге указывается к каким ресурсам будет даваться доступ. Клиент конфигурируется на втором сервере (Сервер№2). С определенной периодичностью на втором сервере запускается клиент, который соединяется с сокетом первого сервера, после чего происходит синхронизация. Взаимодействие происходит по локальным IP адресам:

Пример: Схема синхронизации cwRsync.

1. Установка cwRsync.

Для начала необходимо скачать и установить утилиту cwRsync. Установщик можно скачать отсюда .

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

Нам необходимо установить его на все узлы кластера. Процесс установки совсем прост: все значения можно оставить по умолчанию. cwRsync установиться в c:Program FilescwRsync.

После установки можно выполнить следующие рекомендации:

• Добавте $CYGWIN_INSTALL_PATH/bin/ в переменную окружения PATH

Панель управления -> Система -> Дополнительно -> Переменные окружения

• Решите проблему с не-ascii символами. Т.е. нужно с www.okisoft.co.jp/esc/utf8-cygwin/ скачать файл cygwin.dll и заменить им тот, что идет в комплекте с cwRsync.

• Для того чтобы файлы с не-ascii смволами в имене нормально передавались, добавте —iconv=. в опции при вызове rsync.

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

2. Работа с cwRsync на Сервер№1:

Для начала необходимо создать конфиг. файл. Создадим в c:Program FilescwRsyncbin папки conf и log. В папке conf создадим файл rsyncd.conf следующего содержания:

use chroot = false # Даём разрешение использовать все диски а не только C. Если мы

# установим в true, то rsync сможет обращатся только к диску С.

hosts allow = 192.168.1.6 # Разрешаем обращаться только с Сервер№2

[drive_c] # Метка диска С

comment = this is system drive

read only = true

[drive_d] #Метка диска Д

comment = this is date drive

read only = true

#transfer logging = yes

#### End of configuration file ####

use chroot = yes – запуск rsync в chroot, для пущей безопасности; [drive_с] – назывние модуля; uid – должен соответствовать id владельца каталога, в который мы собираемся записывать; path – полный путь до каталога, в который будем записывать; list = no – не показывать секцию [push] в листинге; comment – комментарий; read only = false – открыть секцию на запись; hosts allow – разрешить доступ к секции push только для определённых адресов; auth users = push – разрешить доступ только пользователю push; secrets file – файл соответствия имени пользователя определённому паролю.

Мне так и не удалось заставить обменятся файлами клиент с сервером, если указать в path путь к папке. Если указать что-то типа path = /cygdrive/c/backup/ , клиент завершит работу ошибкой, а в логе появляется:

2009/01/06 13:27:35 [3748] name lookup failed for 127.0.0.1: Unknown server error

2009/01/06 13:27:35 [3748] connect from UNKNOWN (127.0.0.1)

2009/01/06 13:27:35 [3748] rsync: chdir / failed

: No such file or directory (2)

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

Далее создадим bat файлы для запуска демона: создадим в папке conf файл rsync_server_start.bat с таким содержимым:

"C:Program FilescwRsyncbinrsync.exe" —config "C:Program FilescwRsyncbinconfrsyncd.conf" —daemon —log-file "C:Program FilescwRsyncbinlogrsyncservice.log" —address 192.168.1.5

—config rsyncd.conf – указываем, где находится файл конфигурации. —daemon – запуск демона —log-file – включение ведения лога —address – указываем , какой адрес слушать

Полный перечень возможных параметров:

—daemon run as an rsync daemon

—address=ADDRESS bind to the specified address

—bwlimit=KBPS limit I/O bandwidth; KBytes per second

—config=FILE specify alternate rsyncd.conf file

—no-detach do not detach from the parent

—port=PORT listen on alternate port number

—log-file=FILE override the "log file" setting

—log-file-format=FMT override the "log format" setting

—sockopts=OPTIONS specify custom TCP options

-v, —verbose increase verbosity

-4, —ipv4 prefer IPv4

-6, —ipv6 prefer IPv6

-h, —help show this help (if used after —daemon)

После запуска демона появится окно Windows Firewall и процесс в менеджере задач.

Windows Firewall: Блокирование rsync демона.

Читать еще:  Как синхронизирует контакты gmail

Необходима нажать Unblock. Если всё работает нормально, то нужно добавить запуск bat файла в Планировщик Задач:

Планировщик задач: Запуск демона cwRsync при старте сервера.

Таким образом, сервер cwRsync будет запускаться при старте узла.

3. Работа с cwRsync на Сервер№2:

Установим cwRsync на Сервер№2. Создадим в c:Program FilescwRsyncbin папки bat и log. В папке bat создадим следующий файл с именем sync_all.bat. В этом файле создадим записи для синхронизации каждой необходимой папки. Следует включать исключения для папок с логами и статистикой. Вот общий вид строки.

"C:Program FilescwRsyncbinrsync.exe" -av —delete —exclude ‘/logs/’ user_id @ 192.168.1.5::drive_c /Folder1/ "/cygdrive/c/Folder1/">"C:Program FilescwRsyncbinlogFolder1.log"

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

Можно запускать с ключом –n при пробном запуске. С этим ключом отображается весь процесс, но реальные копирование, удаление, изменения не производятся.

Каждая запись состоит из следующих частей:

  • -a равносильно –rlptgoD
  • r — рекурсивный режим
  • l — пересоздание symlinks, это значит, что символические ссылки будут так же переноситься
  • p – перенос прав
  • t — передача времени модификации и его обновление на удаленной системе. Этот ключ должен быть установлен для точной синхронизации
  • g — установить группу конечного файла таким же, как и у исходного
  • o — установить владельца конечного файла таким же, как и у исходного
  • v — verbose. Вывод сообщений в терминал.
  • —delete — удаляет файлы, которых нет в источнике.
  • —exclude – указываем то, что синхронизировать не нужно.
  • user_id – uid, описанный на сервере
  • @192.168.1.5 – IP адрес сервера
  • ::drive_d /Folder_sync1/ – Метка сервера и путь
  • "/cygdrive/d/Folder_sync1/" — куда
  • >"C:Program FilescwRsyncbinlogFolder_sync1.log" — весь вывод в файл

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

Если не указать /, то на клиент в папке создастся папка с файлами. Иначе просто её содержимое.

При первом запуске синхронизации на Cервер№2, также появится сообщения от брандмауэра Windows о блокировании Rsync. Необходимо нажать Unblock. После этого необходимо добавить бат файл в Планировщик Задач с запуском через каждые 10-20 минут либо другой, необходимый промежуток времени.

Чтобы посмотреть все допустимые параметры, нужно запустить rsync с опцией —help.

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

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

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

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

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

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

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

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

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

автоматическая синхронизация

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

автоматическая синхронизация

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

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

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

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

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

программа для синхронизации папок

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

программа для синхронизации папок

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

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

программа для синхронизации папок

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

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

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

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

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

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

синхронизация файлов

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

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

  • По времени
  • Автоматически

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

голоса
Рейтинг статьи
Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector