Настройка rsync под виндовс. Синхронизация файлов между Windows серверами RSync. Как сделать синхронизацию папки c Linux на Windows
Решение для резервного копирования, основанное на реализации rsync для Windows , используют популярную технологию синхронизации файлов и папок , находящихся в разных местах сети, с минимальным объёмом передаваемых данных.
Технология Rsync бэкапа
Название технологии копирования rsync (remote synchronization) – дословно: «удалённая синхронизация». Она изначально разрабатывалась, как приложение для Unix. Существует аналог rsync для Windows, cwrsync . Итак, каковы же преимущества резервного копирования rsync для бэкапа и синхронизации в Windows?
Rsync примеры использования в Handy Backup Server Network
Версия помогает производить бэкап рабочих станций удалённо по сети так, что необходим всего один человек – администратор сети, который управляет всем процессом резервного копирования удалённо, не прерывая работы пользователей.
Скачать
Купить!
Версия 8.0.4
от 10 июля 2019. 104 MB
Программа резервного копирования
Handy Backup.
27800
RUB
за лицензию
Handy Backup Network Server
С помощью этой версии программы, Вы сможете управлять бэкапом удаленных рабочих станций по сети. Бесплатный полнофункциональный пробный период - 30 дней!
Скажем, у Вас есть две рабочие станции в сети, которые вы хотите синхронизировать. Бэкап с помощью rsync для Windows позволяет пересылать лишь данные, различающиеся в конкретных папках на двух машинах, значительно экономя таким образом время работы.
На первый взгляд может показаться, что это обычный инкрементальный или дифференциальный бэкап , однако, это, на самом деле, существенно разные вещи, поскольку стандартный бэкап не умеет вычислять, передавать и "приклеивать" лишь разницу в синхронизируемых данных, а всегда переписывает файлы при совпадении имён.
Таким образом, минимизируется поток данных при синхронизации двух папок . Поэтому мы получаем также и меньшее время обработки операции при прочих равных условиях. Пользуясь стандартным оборотом "Время-деньги", получаем, что в каком-то смысле мы уменьшаем и финансовые затраты на бэкап с помощью копирования файлов Rsync.
Инкрементальный бэкап при помощи rsync в сетях Windows-Unix: за и против
Давайте посмотрим внимательнее на программный бэкап при помощи rsync. Обратим внимание на наиболее интересные ситуации. Предположим, что у нас теперь смешанная сеть ОС Windows-Unix.
Основываясь на том, что мы уже неплохо усвоили про rsync сервер, саму эту технологию и резервное копирование с её помощью, мы можем вывести несколько замечательных преимуществ: быстрый инкрементальный бэкап и восстановление, сокращение использования оперативной памяти и ресурсов сети. И вишенка на тортик: это именно тот функционал, который позволяет производить бэкап Linux серверов и рабочих станций так же просто, как и с Windows.
Существует и ряд возможных проблем использования rsync в Windows :
- Неопределённость с поддержкой 64-битных серверных платформ;
- Нестабильность в процессе длительной обработки большого объёма информации;
- Необходимость настройки приложения для каждой конкретной задачи.
Последний пункт можно было бы автоматизировать, однако, проблема состоит в том, что нет универсальных рецептов настройки для всех серверов и всех типов данных.
Таким образом, мы понимаем, что, возможно, использование оригинальной утилиты rsync для Windows не спасёт положение, однако, можно просто попытаться адаптировать алгоритм rsync для конкретного приложения Windows.
Планы расширения технологии Rsync Windows в программе Handy Backup
В настоящее время разработчики программного обеспечения Handy Backup уделяют большое внимание технологии копирования Rsync, активно внедряя её в такие прикладные операции, как:
В настоящее время команда разработчиков Handy Backup работает над применением rsync для бэкапа по сети с нескольких контрольных точек. Умный функционал нашей программы позволит вам управлять удалёнными рабочими станциями с практически любой машины в сети, если только вы имеете права доступа (не забываем про безопасность!).
Разработчики Handy Backup внедрили функционал для бэкапа Rsync Windows и Linux компьютеров, и список возможностей постоянно расширяется! А что, если бы вы могли управлять всей сетью с мобильного устройства Android? Или делать бэкап карты памяти телефона как рабочей станции вашей локальной сети? Нравится идея? Тогда вам понравятся и релизы Handy Backup, работающие на алгоритме rsync backup для Windows от Новософт.
По умолчанию, утилита может быть не установлена в системе. Установка и последующий запуск выполняются следующими командами.
CentOS 7
yum install rsync
systemctl enable rsyncd
systemctl start rsyncd
Ubuntu
apt-get install rsync
Открываем следующий файл:
vi /etc/default/rsync
Находим запись:
RSYNC_ENABLE=false
И меняем на:
RSYNC_ENABLE=true
Запускаем:
/etc/init.d/rsync start
Настройка
Открываем конфигурационный файл rsync:
vi /etc/rsyncd.conf
И настраиваем его, примерно, следующим образом:
max connections = 10
exclude = lost+found/
dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2 *.rar *.7z *.mp3 *.jpg
path = /data1/
comment = Public folders
read only = yes
list = yes
auth users = rsync_d1
hosts allow = localhost 192.168.0.15 192.168.0.20
hosts deny = *
uid = root
gid = root
path = /data2/
comment = Private folders
read only = yes
list = yes
auth users = rsync_d2, backup
secrets file = /etc/rsyncd.scrt
hosts allow = localhost 192.168.0.16 192.168.0.21
hosts deny = *
где первая группа параметров являются общими настройками:
- max connections — максимальное число одновременных подключений. Стоит задать, чтобы не перегружать сервер.
- exclude — папки, которые стоит исключить из синхронизации. В конкретном примере каталог для размещения восстановленных после проверки диска файлов.
- dont compress — указываем, какие файлы не нужно сжимать при отправке. Имеет смысл указать те, сжатие которых не даст результата, например, архивы, сжатые аудио и изображения.
а также каждый ресурс настраивается отдельно (в нашем примере data1 и data2 ):
- uid — пользователь, от которого будет выполнена синхронизация для конкретного ресурса.
- gid — группа, от которой будет выполнена синхронизация для конкретного ресурса.
- path — путь до ресурса, для которого выполняется синхронизация.
- comment — описание для удобства.
- read only — режим для чтения; позволяет защитить данные от удаления или изменения.
- list — разрешает или запрещает чтения содержимого каталога. Если запрещено (no ), синхронизация может выполняться для конкретно перечисленных файлов.
- auth users — проверка подлинности, вводом логина с паролем.
- secrets file — файл, в котором размещены логин и пароль.
- hosts allow — перечисление хостов, с которых разрешено обращаться к rsync серверу.
- hosts deny — перечисление хостов, с которых запрещено обращаться к rsync серверу (в данном примере, со всех, кроме разрешенных).
Создаем файл для аутентификации:
vi /etc/rsyncd.scrt
rsync_d1:password1
rsync_d2:password2
backup:password3
* где rsync_d1:password1 — соответственно, пользователь rsync_d1 с паролем password1 .
В целях безопасности, устанавливаем доступ только для владельца:
chmod 600 /etc/rsyncd.scrt
Перезапускаем сервис одной из команд:
systemctl restart rsyncd
/etc/init.d/rsync restart
service rsyncd restart
Добавляем порты в брандмауэр.
firewall-cmd --permanent --add-port=873/tcp
firewall-cmd --permanent --add-port=22/tcp
firewall-cmd --reload
iptables -I INPUT 1 -p tcp --dport 873 -j ACCEPT
iptables -I INPUT 1 -p tcp --dport 22 -j ACCEPT
Запуск клиента
Проверка на локальном компьютере
Сначала выполним следующую команду на нашем сервере:
rsync -avv --progress rsync_d1@localhost::data1 /tmp/
* данная команда выполнит синхронизацию нашего ресурса data1 с каталогом /tmp .
Проверка на удаленном компьютере
Устанавливаем rsync, если еще не установлен:
yum install rsync
apt-get install rsync
* первая команда для CentOS, вторая — Ubuntu.
Запускаем синхронизацию:
rsync -avv [email protected]::data1 /tmp/
* где 192.168.0.5 — IP-адрес rsync сервера.
Пример готового скрипта для синхронизации папок
Скрипт довольно прост:
#!/bin/bash
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
Password_file="/etc/rsyncd.scrt"
user="opros"
ip="192.168.0.15"
source="data1"
destination="/tmp/"
Rsync -a --delete-after --password-file=$password_file $user@$ip::$source $destination
* где:
- password_file — пароль, в котором будет храниться пароль.
- user — учетная запись для авторизации.
- ip — IP-адрес сервера rsync.
- source — имя ресурса на сервере.
- destination — каталог, в который синхронизируем файлы.
После создаем файл с паролем:
vi /etc/rsyncd.scrt
* в данном файле указываем только пароль без имени учетной записи.
После задаем права:
chmod 600 /etc/rsyncd.scrt
Автоматизировать синхронизацию можно с помощью CRON:
0 */1 * * * /scripts/syncing.sh
* где /scripts/syncing.sh — наш скрипт. В данном примере задание будет выполняться каждый час.
Ключи запуска rsync
Общий синтаксис:
rsync <опции> <источник> <назначение>
Список и описание опций:
Ключ | Описание |
---|---|
-v, --verbose | Вывод подробной информации о процессе синхронизации. Стоит использовать для отладки. |
-q, --quiet | Не выводит сообщения об ошибках. |
--no-motd | Не выводит приветствие в MOTD |
-c, --checksum | Сравнивать файлы по контрольной сумме, а не времени или размеру. |
-a, --archive | Режим архивирования или то же самое, что с ключами -rlptgoD (без -H,-A,-X). Используется для удобства, чтобы не перечислять много опций. |
--no-<опция> | Отключает конкретную опцию, например, вышеописанная no-motd. |
-r, --recursive | Рекурсивный режим для каталогов. |
-R, --relative | Использовать относительные пути. |
--no-implied-dirs | Выключить параметр --relative. |
-b, --backup | Режим резервного копирования. С его помощью при обновлении файлов в папке назначения для них создается копия. |
--backup-dir=<каталог> | В режиме резервного копирования указывает каталог, в котором будут храниться копии. |
--suffix=SUFFIX | В режиме резервного копирования задает суффикс для сохраненных файлов. |
-u, --update | Пропускать файлы, которые новее в папке назначения (копировать только измененные файлы). |
-d, --dirs | Не использовать рекурсию для каталогов. |
-l, --links | Копировать симлинки как симлинки. |
-L, --copy-links | Копировать не симлинк а ее содержимое (трансформировать симлинк в каталог). |
-k, --copy-dirlinks | Преобразовать симлинк на каталог в обычный каталог. |
-K, --keep-dirlinks | В папке назначения обрабатывать симлинк как каталог. |
-H, --hard-links | Сохранять жесткие ссылки. |
-p, --perms | Сохранять разрешения (права доступа). |
-E, --executability | Сохранить права на исполнение. |
--chmod=<права> | Изменить права доступа на конкретные. |
-A, --acls | Сохранить права ACL. |
-X, --xattrs | Сохранить атрибуты файлов. |
-o, --owner | Сохранить владельца (только от суперпользователя). |
-g, --group | Сохранить группу владельца. |
--devices | Копировать файлы-устройства (разрешено только при выполнении команды с правами суперпользователя). |
--copy-devices | Копировать файлы устройства как обычные файлы. |
--specials | Сохранять специальные файлы. |
-D | Заменяет --devices и --specials одновременно. |
-t, --times | Сохранять временные отметки. |
-S, --sparse | Выполнение дефрагментации в момент копирования данных. |
-n, --dry-run | Режим тестирования. Выполняется пробный запуск, при котором будет показаны изменения, но сами изменения выполнены не будут. |
-W, --whole-file | Копировать файлы целиком. По умолчанию, для копирования файлов используется алгоритм дельта-хэфера, который позволяет переносить только часть с изменениями. На практике, это сильно ускоряет процесс копирования. Ключ применяется в тех случаях, когда нужно перенести файл целиком. |
-x, --one-file-system | Не разрешает переходить границы файловой системы. Например, если в один из синхронизируемых каталогов может быть примонтирована сетевая файловая система, ее копирование может вызвать неудобства. |
-B, --block-size=<размер> | Принудительно фиксировать размер блока контрольной суммы |
-e, --rsh=<команда> | Указать оболочку для использования, например SSH. |
--existing | Не создавать новые файлы в каталоге назначения. |
--ignore-existing | Не обновлять существующие файлы в каталоге назначения. |
--remove-source-files | Источник удаляет свои файлы после выполнения синхронизации. |
--delete | Удалить файлы в папке назначения, если их больше нет в папке источнике (удаление старых файлов). |
--delete-before | Удалить файлы в папке назначения до начала синхронизации. |
--delete-during | Удалить файлы в папке назначения в момент синхронизации. |
--delete-delay | Поиск файлов на удаление в момент синхронизации, а удаление после. |
--delete-after | Удалить файлы в папке назначения после синхронизации. |
--delete-excluded | Удалить исключенные из синхронизации файлы в каталоге назначения. |
--ignore-errors | Удалять файлы даже при ошибках ввода/вывода. |
--force | Принудительное удаление не пустых каталогов. |
--max-delete=<число> | Не удалять больше заданного числа файлов. |
--max-size=<размер> | Не передавать файлы с размером более заданного. |
--min-size=<размер> | Не передавать файлы с размером менее заданного. |
--partial | Оставлять файлы, которые переданы не до конца (процесс копирования завершился в процессе). |
--partial-dir=<каталог> | Хранить частично переданные файлы в специальном каталоге. |
--timeout=<секунды> | Установить время ожидания от системы ввода/вывода. |
--contimeout=<секунды> | Установить время ожидания для подключения к демону rsync. |
-I, --ignore-times | Все равно копировать файлы, если они имеют одинаковые разметы или время изменения. |
--size-only | Не копировать только те файлы, которые имеют одинаковые размеры. |
-T, --temp-dir=<каталог> | Все временные файлы размещать в определенном каталоге. |
-z, --compress | Сжимать данные файла во время передачи |
--compress-level=<число> | Устанавливает уровень сжатия от 0 до 9. |
--skip-compress=<список> | Не выполнять компрессию для перечисленных файлов. |
-C, --cvs-exclude | Исключить от копирования файлы, которые исключаются CVS (RCS/ SCCS/ CVS/ .svn/ CVS.adm RCSLOG cvslog.* tags TAGS .make.state .nse_depinfo *~ #* .#* ,* *.old *.bak *.BAK *.orig *.rej .del-* *.a *.o *.obj *.so *.Z *.elc *.ln core) |
-f, --filter=<правило> | Добавить правило для фильтра. |
--exclude=<выражение> | Исключить из синхронизации файлы, соответствующие выражению. |
--exclude-from=<файл> | Исключить из синхронизации файлы, перечисленные в файле. |
--include=<выражение> | Включить в синхронизацию файлы, соответствующие выражению. |
--include-from=<файл> | Включить в синхронизацию файлы, перечисленные в файле. |
--files-from=<файл> | Читать список имен исходных файлов из файла. |
--address= |
Привязать IP-адрес для исходящего сокета. |
--port=<порт> | Использовать определенный сетевой порт. |
--sockopts=OPTIONS | Использовать специальные опции для TCP. |
--blocking-io | Использовать блокирующий ввод-вывод для удаленной оболочки |
--stats | Вывод статистики по передаче данных. |
-h, --human-readable | Вывод чисел в удобном для чтения формате. |
--progress | Показывать строку прогресса для синхронизации. |
-P | То же самое, что --partial и --progress. |
-i, --itemize-changes | Выводить сводку изменений для всех обновлений |
--log-file=<файл> | Вывод лога в специальный файл. |
--password-file=<файл> | При аутентификации пароль можно хранить в специальном файле. Это необходимо для автоматизации выполнения команды без пароля. |
--list-only | Показать список файлов, но не копировать их. |
--bwlimit=<число> | Ограничить пропускную способность (КБит в секунду). |
--protocol=<число> | Принудительно использовать более старую версию протокола. |
--iconv=<кодировка> | Запрос кодировки преобразования имен файлов. |
-4, --ipv4 | Предпочтительно, использовать IPv4. |
-6, --ipv6 | Предпочтительно, использовать IPv6. |
--version | Вывод версии rsync. |
(-h) --help | Вывод справочной информации по использованию rsync. |
* самый свежий список ключей rsync можно посмотреть командой man rsync .
Rsync на Windows
Реализация rsync для Windows носит название cwRsync (не является аналогом программы — по сути, это утилита Rsync + библиотека Cygwin). Скачать ее можно на официальном сайте . Для загрузки доступны платная и бесплатная версии. Последняя не позволит поднять Rsync-сервер, получать поддержку, обновления безопасности и возможность работать в графическом интерфейсе.
Процедура использования клиента cwRsync аналогична описанному выше. Скачиваем архив программы и распаковываем его. Запускаем командную строку и переходим в каталог bin (находится в папке, куда была распакована программа).
Запускаем синхронизацию:
rsync.exe -avv --progress [email protected]::data1 /cygdrive/c/temp
* обратите внимание на путь назначения — чтобы обратиться к диску C мы написали /cygdrive/c . Итоговое назначение — C:\temp .
Копирование с помощью SSH:
rsync.exe -avv -e "./ssh -p 22" --progress [email protected]:/data/ /cygdrive/c/temp
* обратите внимание, что мы пишем не ssh, а ./ssh , иначе, если мы используем 64-х битную систему и бесплатный пакет cwRsync, система не найдет путь до ssh и выдаст ошибку Failed to exec ssh: No such file or directory .
Примеры использования rsync
Простая команда для синхронизации двух каталогов:
Команда для резервного копирования:
rsync -ab --delete-after [email protected]::data_source /data_destination
Выполнение синхронизации по SSH:
rsync -a --delete-after -e "ssh -p 22" [email protected]:/data_source /data_destination
* по SSH запросы идут не через rsync server. В данном примере подключение будет выполнено по 22 порту, под учетной записью user .
Копирование файлов на удаленную машину:
Синхронизация в обе стороны (запускаем две команды по очереди):
rsync -a --delete-after [email protected]::data_source /data_destination
rsync -a --delete-after /data_destination [email protected]::data_source
Синхронизация файлов по маске:
rsync -a --include="*.txt" --exclude="*" [email protected]::data_source /data_destination
* в этом примере будут синхронизированы только файлы с расширением txt .
Исключить каталог:
rsync -a --exclude="folder/*" [email protected]::data_source /data_destination
Возможные проблемы
rsync: change_dir "/" failed: Permission denied
Причина: нет прав на синхронизируемые файлы.
Решение: задать правильного пользователя (uid) в настройках ресурса на стороне сервера.
rsync: failed to connect to x.x.x.x (x.x.x.x): No route to host (113)
rsync error: error in socket IO (code 10) at clientserver.c(122)
Причина: не доступен удаленный хост.
Решение: проверить, что хости доступен по сети. Проверить настройку брандмауэра.
Если у вас возникло желание поддерживать рабочие станиции в максимально «защищённом» состоянии, а так же насколько возможно «автоматизировать» этот процесс, то этот пост для вас.
Будет использоваться:
Немного batch файла
Немного Linux сервера
Немного Windows Server 2008 R2 и Групповых политик
Идея в следующем - незаметно от самого юзера, чтобы не нарушать его работу, делать еженедельное копирование его профиля, дабы исключить потерю данных, и сохранять его на сервере в максимально защищённом виде.
Для этого начнём с клиентской части. Мы используем shadow volume create - expand, дабы исключить проблему нечитания открытых пользователем файлов, таких как Outlook pst, или документов. Нам понадобится набор от Microsoft, который содержит vshadow - это Volume Shadow Copy Service SDK 7.2, который можно бесплатно скачать с серверов Microsoft, http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=23490 .Нам понадобятся vshadow.exe и vshadow.pdb файлы из этого SDK. Внимание - они разные для 64-битных, и 32-битных систем.
64-bit - %PROGRAMFILES%\Microsoft\VSSSDK72\TestApps\vshadow\bin\obj-chk\amd64
32-bit - %PROGRAMFILES%\Microsoft\VSSSDK72\TestApps\vshadow\bin\release-xp
Так же нам понадобится набор файлов из cwrsync под Windows -
После инсталляции их можно будет найти тут:
%PROGRAMFILES%\cwRsync\bin
Складываем все файлы в одну папку, назовём её для удобства «Backup», и начинаем создавать файл, который будет запускать эту «машину смерти» - по факту, это простой batch файл, который будет отрабатывать все действия. Назовём его для удобства «backup.cmd»
Пишем в файл:
(неведома магия)
Setlocal
if NOT "%CALLBACK_SCRIPT%"=="" goto:IS_CALLBACK
set SOURCE_VOLUME=C:
set DESTINATION_VOLUME=O:
set CALLBACK_SCRIPT=%~dpnx0
set TEMP_GENERATED_SCRIPT=GeneratedVarsTempScript.cmd
%~dp0\vshadow.exe -nw -p -script=%TEMP_GENERATED_SCRIPT% -exec=%CALLBACK_SCRIPT% %SOURCE_VOLUME%
del /f %TEMP_GENERATED_SCRIPT%
goto:EOF
:IS_CALLBACK
setlocal
call %TEMP_GENERATED_SCRIPT%
%~dp0\vshadow.exe -el=%SHADOW_ID_1%,%DESTINATION_VOLUME%
Эта часть «макаронного кода» делает shadow volume copy с C: и подключает её на O:, который мы и будем использовать для копирования, а потом тем же скриптом уберём. Теперь часть, которая отвечает за действия rsync:
(неведома магия)
Setlocal
SET CWRSYNCHOME=C:\Backup\ (где папка с файлами rsync и vshadow)
SET CWOLDPATH=%PATH%
SET CYGWIN=nontsec
SET PATH=%CWRSYNCHOME%;%PATH%
SET HOME=С:\Backup\LOG\ (сюда будем сохранять логи)
SET RSYNC_PASSWORD=(тут пароль, который установлен на принимающем сервере rsync)
SET MY_NAME=%computername%
(теперь указываем, что копировать)
SET FS_SRC_HOME="/cygdrive/O/Users/" (используем именно в таком формате, указываем папку до "Users")
SET FS_SRC_BCK="/cygdrive/C/Backup/" (где файлы rsync, чтобы положить их вместе с логами на бекап сервер)
Del /q С:\backup\log\*.log (стираем старые логи перед запуском)
(запускаем)
Rsync -av --chmod=ug=rwx %FS_SRC_B2% backupusr@hostname::sbackupusr/%MY_NAME%
rsync -avhP --inplace --stats --del --modify-window=1 --log-file=%FS_SRC_BCK%DATA/backupwork.log --exclude-from=%FS_SRC_BCK%DATA/exclude %FS_SRC_HOME% backupusr@hostname::sbackupusr/%MY_NAME%/snapshot/
rsync -av %FS_SRC_BCK% backupusr@hostname::sbackupusr/%MY_NAME%/snapshot/Backup/
Первой командой мы создаём директорию по имени компьютера %computername%
Второй командой мы копируем данные с временно подключенного диска O:\Users, с сохранением лог-файла.
Третьей командой мы копируем всю папку C:\Backup, для сохранности лога и самой программы.
Вот эта строка «backupusr@hostname::sbackupusr» - указывает на пользователя на принимающей стороне а так же хост принимающей стороны. (Будет рассмотрено во втором псто).
После этого нам необходимо отключить O: диск, так как если мы этого не сделаем, в следующий раз vshadow не сможет подключить туда копию, и копия будет делаться со старого O:\ диска всё время, не смотря на то, что файлы в папке пользователя уже давно изменились.
(неведома магия)
SET HOME=%HOMEDRIVE%%HOMEPATH%
VSHADOW.EXE -ds=%SHADOW_ID_1%
Это всё нужно сложить в обычный.cmd файл, как я уже указывал выше, сохранить его в папку Backup, где хранятся файлы rsync и vshadow, и запускать по мере надобности. Работает на Windows Vista, Windows 7, Windows XP, 32 и 64-bit
P.S: Конечно, будет необходимо поднять принимающую машину, в нашем случае на базе *nix, и создать разделы, которые будут защищены true-crypt в случае кражи сервера. Так же в дальнейшем эту папку можно запаковать в msi инсталлер для установки на все рабочие станции через Групповые Политики и использовать их же для создания Scheduled Tasks и закрытия доступа в Backup папку для юзера. Но это уже другая история.
FreeFileSync - это программное обеспечение для сопоставления и синхронизации папок, которое создает и управляет резервными копиями всех важных файлов. Вместо того, чтобы копировать каждый файл каждый раз, FreeFileSync определяет различия между исходной и целевой папками и передает только минимальный объем данных. FreeFileSync - это программное обеспечение с открытым исходным кодом, доступное для Windows, Linux и macOS
Бесплатная (с ограничениями) Открытый код Mac Windows Linux openSUSE CentOS Ubuntu Debian
Syncthing
Synching заменяет собственные службы синхронизации и облачных сервисов чем-то открытым, заслуживающим доверия и децентрализованным. Ваши данные являются вашими данными в одиночку, и вы должны выбрать, где он хранится, если он предоставляется третьим лицам и как он передается через Интернет.
Бесплатная Mac Windows Linux Android Android Tablet BSD Self-Hosted Cloudron
SyncToy
SyncToy - это бесплатный PowerToy, разработанный Microsoft, который обеспечивает простой в использовании графический пользовательский интерфейс, который может автоматически синхронизировать локальные или сетевые файлы и папки, но не файлы WebDAV, «Windows Mobile» или папки и не синхронизировать треугольник, как только Allway Sync , Synkron, SyncLess или GoodSync
Бесплатная Windows
SyncBack
SyncBack - это программное обеспечение для резервного копирования и синхронизации файлов, которое позволяет выполнять резервное копирование и синхронизацию файлов на одни и те же или разные диски, на разные носители (CD, DVD, Flash, zip) или на удаленный сервер.
Доступны три версии SyncBack: SyncBackFree, SyncBackSE (shareware) или SyncBackPro (shareware)
Бесплатная (с ограничениями) Mac Windows Linux Android Android Tablet
GoodSync
GoodSync - это профессиональное легкое и надежное программное обеспечение для резервного копирования файлов и синхронизации файлов.
Бесплатная (с ограничениями) Mac Windows Android iPhone Android Tablet iPad
Synkron
Synkron - это приложение для синхронизации папок и резервных копий папок, которое позволяет вам детально настроить синхронизацию. Несмотря на множество функций, пользовательский интерфейс Synkron очень удобен в использовании и удобен в использовании.
Бесплатная Открытый код Mac Windows Linux PortableApps.com
Unison
Unison - это инструмент синхронизации файлов для Unix и Windows. Он позволяет хранить две копии коллекций файлов и каталогов на разных хостах (или разных дисках на одном и том же хосте), изменяться отдельно, а затем обновляться, распространяя изменения каждой реплики на другую.
Бесплатная Открытый код Mac Windows Linux
Bvckup 2
Простое быстрое резервное копирование для Windows. С первого взгляда - небольшой и очень тощий, очень быстрый дельта-копировальный аппарат, отличный пользовательский интерфейс, отслеживание устройств, теневое копирование, обнаружение движения / переименования, режим «как работает», надежная поддержка многомиллионных резервных копий элементов с терабайтами данных, интеллектуальный и дискретный механизм обновления
Платная Windows
Déjà Dup
Déjà Dup - простой инструмент резервного копирования. Он скрывает сложность создания резервных копий «правильный путь» (зашифрованный, вне сайта и регулярно) и использует Duplicity в качестве бэкэнд. Он поддерживает локальные или удаленные места резервного копирования, включая Amazon S3.
Бесплатная Открытый код Linux
Rclone
Rclone - это программа командной строки для синхронизации файлов и каталогов с и из:
- Гугл Диск
- Amazon S3
- Openstack Swift / Rackspace облачные файлы / Memset Memstore
- Dropbox
- Google Cloud Storage
- Amazon Cloud Drive
- Microsoft One Drive
- Хубический
- Backblaze B2
- Yandex Disk
- Локальная файловая система
Бесплатная Открытый код Mac Windows Linux BSD Solaris FreeBSD NetBSD OpenBSD