Показаны сообщения с ярлыком Google Диск. Показать все сообщения
Показаны сообщения с ярлыком Google Диск. Показать все сообщения

воскресенье, 10 ноября 2019 г.

Применение rclone в Linux с использованием сценариев на bash


Интерес к применению rclone явился следствием поиска какого-либо решения, которое позволило бы взаимодействовать с Облако@Mail.Ru после прекращения Mail.Ru поддержки клиента синхронизации для Linux. А возможность использования rclone для взаимодействия с Диском Google и Microsoft OneDrive придало дополнительное ускорение изучению данного вопроса.

Приводимые сценарии на bash (скрипты bash) для автоматизации процессов копирования, перемещения и синхронизации данных с облачными хранилищами Dropbox, Microsoft OneDrive, Диск Google, Box.net, Jottacloud, MEGA, pCloud, Яндекс Диск, Облако@Mail.Ru создавались для своих нужд и использования в системах Linux Mint 18.3 и Linux Mint 19.2.

Ожидается, что повторяемость приводимых сценариев будет достаточно высока. Теоретически, всё должно работать, но, как говорится, даже самая маленькая практика стоит самой большой теории. В приводимых листингах вместо manager и minter не забудьте указывать имя своего домашнего каталога. Также следует иметь в виду, что некоторые команды для Вашей оболочки (Cimnnamon, MATE и др.) могут быть другими. Примеры приводятся для XFCE, о чём в скобках даются пояснения.

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

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


Здесь вам не равнина, здесь – климат иной ... (Высоцкий В.С.)

Говоря простым языком, rclone является инструментом, написанным на языке Go, с помощью которого, хотя и через командную строку, можно напрямую взаимодействовать с содержимым своего облачного хранилища данных без необходимости установки десктопного клиента синхронизации. Под прямым взаимодействием имею в виду интересующие меня операции копирования, перемещения, синхронизации. Со списком поддерживаемых ПО rclone облачных хранилищ можно ознакомиться на сайте https://rclone.org  Справа от каждого наименования можно увидеть такие значки как "домик" и "книга". "Домик" содержит ссылку на главную страницу ресурса, а "книга" – ссылку на пример настройки для него rclone. Например,


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


Получить rclone

Скачать ПО rclone можно со страницы https://downloads.rclone.org/  Для установки текущей версии ПО мной был скачан deb-пакет, в наименовании которого присутствует слово current:


ПО предыдущих версий смотрите в соответствующей папке с начала страницы и вниз.


Настройка rclone

Для настройки rclone выполните в терминале команду rclone config

Если у Вас уже имеются настроенные варианты соединений, то они отобразятся под записью Current remotes.

Current remotes:

Name                 Type
====                 ====
CA                   dropbox
Jotta-2              jottacloud
SA                   dropbox

Ниже следуют варианты "что делать":

e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q>

e – редактировать существующее соединение;
n – новое соединение;
d – удалить существующее соединение;
r – переименовать имя соединения
c – копировать настройку;
s – установить конфигурационный пароль;
q – выйти из режима настройки.

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

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

Листинги с пояснениями осуществлённых мной настроек на свои облачные ресурсы хранения данных содержатся ниже.



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

e/n/d/r/c/s/q> r
Choose a number from below, or type in an existing value
 1 > CA
 2 > MS
 3 > SA
 4 > Sv
remote> 4
Enter new name for "Sv" remote.
name> VS
Current remotes:

Name                 Type
====                 ====
CA                   dropbox
MS                  onedrive
SA                   dropbox
VS                   dropbox


Файл с настройками rclone расположен в скрытом каталоге домашнего каталога пользователя: ~/.config/rclone/rclone.conf


Команды действий в rclone

Все возможные команды rclone перечислены на странице https://rclone.org/docs

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

Синтаксис команды очень прост: rclone действие откуда куда

"Откуда" и "куда" указывают на локальный каталог (папку) компьютера или каталог (папку) выбранного облачного ресурса.

Весь облачный ресурс указывается в виде имя_соединения:

Например, для перечисленных в примере выше указание всего облака будет в виде CA: MS: SA: VS:

Для работы с конкретной папкой облака её имя указывается сразу после двоеточия, например:  CA:Входящие  или  MS:Музыка/Инструментальная .

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


Получить список содержимого

Возможные команды:  rclone treerclone lsrclone lsdrclone lsl.

rclone tree – отобразить содержание в виде дерева;

rclone ls – отобразить объекты с указанием размера и пусти;

rclone lsd – отобразить все папки/контейнеры c их именами и количеством содержащихся в них элементов;

rclone lsl – отобразить все объекты, их пути и размеры.

Результаты вывода показаны на рисунках ниже:





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

Просто вывод в текстовый файл:

#bin/bash
rclone tree MS:Audio > /home/manager/Reports/MS.txt
exit

Вывод в окно терминала (пример для xfce):

#!/bin/bash
xfce4-terminal --geometry=80x35 -x sh -c 'rclone tree MS:Audio; exec bash'


--geometry=80x35 – это ширина и высота окна терминала.

Вывод в zenity:

#bin/bash
file=/home/manager/Reports/MS.txt
rclone tree MS:Audio > $file
zenity --text-info --width "600" --height "400" --title "Содержание ресурса" --filename=$file
rm $file
exit


-width "600" --height "400" – это ширина и высота окна.

--title "Содержание ресурса" – это заголовок окна.

После нажатия на кнопку ОК данное окно будет закрыто и выполнится последующая команда удаления файла MS.txt, который представляет из себя список содержимого.


Копировать, переместить

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

Команды:  rclone copy,  rclone copyto,  rclone move,  rclone moveto

rclone copy – копировать файлы из источника в назначение, существующие файлы не перезаписываются;

rclone copyto – копировать файлы из источника в назначение, пропускаемые файлы уже скопированы;

rclone move – переместить файлы из источника в назначение;

rclone moveto – переместить файл или каталог из источника в назначение.

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

Пример:

#!/bin/bash
# Log creation
day=`date '+%m-%d'`
report=/home/minter/Dropbox/Reports/SA/$day.rclone.txt
if [ -f $report ]; then
  :
else
  > $report
  time=`date '+%H-%M-%S'`
  echo "$time -- rclone log created" >> $report
fi
# Transfer messages
sm=/home/minter/Clouds/rsync/SA
dm=SA:Input/Сообщения
count=`find $sm -type f | wc -l`
if [ $count -eq 0 ];
then
 time=`date '+%H-%M-%S'`
 echo "$time -- no items to transfer" >> $report
else
 time=`date '+%H-%M-%S'`
 echo "$time -- start of transmission" >> $report
 echo "* * *" >> $report
 ls $sm >> $report
 echo "* * *" >> $report
 rclone move $sm $dm
 time=`date '+%H-%M-%S'`
 echo "$time -- all items transferred" >> $report
fi
exit

Приведенный сценарий осуществляет перемещение содержимого каталога /home/minter/Clouds/rsync/SA в папку Input/Сообщения облака под именем соединения SA. Осуществляемые действия протоколируются в файл отчёта /home/minter/Dropbox/Reports/SA/$day.rclone.txt, в имени которого присутствует дата. То есть файл отчёта имеет наименование, например 11-07.rclone.txt (ноябрь 7-го). Файл отчёта создаётся ежедневно. Если такой файл существует, то операция его создания не производится. В файл отчёта включается время начала передачи, список передаваемых файлов и время завершения передачи. Передача производится в том случае, если в каталоге (папке) источника найден хотя бы 1 файл. Если ни одного файла не найдено, то запуск rclone не осуществляется, а в файл отчёта вносится запись о том, что для передачи ничего не имеется (no items to transfer). Для повышения читаемости файла отчёта в него дополнительно включаются разделители вида * * *. Пример:

06-30-01 -- rclone log created
06-30-01 -- start of transmission
* * *
11-09.No.313.03-50.pdf
11-09.No.313.05-01.pdf
Поля сражений (1-10 серии).html
* * *
06-30-05 -- all items transferred

Если при передаче больших объемов данных необходимо контролировать ход процесса, то после команды необходимо добавить ключ --progress. Пример:


Пример сценария:

#!/bin/bash
xfce4-terminal --geometry=80x35 -x sh -c 'rclone move --progress /home/minter/00 Box-1:Books; exec bash'


По завершении операции будет отображено приглашение командной строки, например:



Сколько данные занимают места на облаке

Команда:  rclone size

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

Например:


Сценарий 1:

#!/bin/bash
xfce4-terminal --geometry=80x35 -x sh -c 'rclone size MS:Audio; exec bash'


Сценарий 2 (через zenity):

#bin/bash
file=/home/manager/Reports/MS.txt
rclone size MS:Audio > $file
zenity --text-info --width "300" --height "180" --title "Занимаемое место" --filename=$file
rm $file
exit



Сколько занято и сколько доступно на облаке

Команда:  rclone about

Выводятся значения Total (выделено облаком), Used (использовано), Free (свободно), Trashed (в Корзине).

Пример:


Сценарий 1 (пример для xfce):

#!/bin/bash
xfce4-terminal --hold -e "rclone about MS:"


Сценарий 2 (zenity):

#bin/bash
file=/home/manager/Reports/MS.txt
rclone about MS: > $file
zenity --text-info --width "300" --height "180" --title "Занимаемое место" --filename=$file
rm $file
exit



Синхронизация данных

Команда:  rclone sync

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

Пример сценария:

#!/bin/bash
day=`date '+%m-%d'`
sm=/home/minter/FBbooks
dm=MEGA-3:FBbooks-H-4
report=/home/minter/Dropbox/Reports/MEGA-3/$day.list.txt
# Syncronize
rclone sync $sm $dm
rclone tree MEGA-3: > $report
exit

В этом сценарии после завершения синхронизации формируется список содержания синхронизируемого ресурса, который экспортируется в файл txt  /home/minter/Dropbox/Reports/MEGA-3/$day.list.txt


Другие команды rclone

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

rclone delete – удалить контент пути (например удалить содержимое ресурса SA:Input/Сообщения);

rclone purge – удалить путь и весь его контент (насколько предполагаю, применительно к предыдущему случаю будет удалена папка Сообщения со всем её содержимым);

rclone mkdir – создать путь (каталог), если он не существует;

rclone rmdir – удалить путь (вероятно, каталог);

rclone rmdirs – удалить пустые каталоги, расположенные ниже пути (имеются в виду вложенные каталоги);

rclone check – проверить, совпадают ли файлы источника и назначения;

rclone dedupe – интерактивно найти дубликаты файлов и их удалить/переименовать;

rclone mount – монтировать облако или его папку в каталог компьютера. Например, rclone mount MS:Audio /home/manager/00. Для отмонтирования в документации rclone указано, что нужно отправить сигнал SIGTERM.

Для своих нужд создавались 2 сценария: монтирование и отмотирование.

Для монтирования, например, всего облака с именем SA:

#!/bin/sh
rclone mount SA: /home/minter/00 &
exit

Всё пространство облака SA монтируется в каталог /home/minter/00

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

Для отмонтирования, то есть отправки SIGTERM, соответствующему команде kill, необходимо знать номер процесса.


Пример сценария отмонтирования:

#!/bin/sh
client="$(pidof rclone mount SA: /home/minter/00)"
kill ${client}
exit 


Пример перемещения данных в ЛВС по ftp

Если в папке с данными будет найден хотя бы 1 файл, то rclone будет выполняться.

#!/bin/bash
cur=/home/manager/RClone/Curious
hum=/home/manager/RClone/Humour
sm=/home/manager/RClone/SA
count1=`find $cur -type f | wc -l`
if [ $count1 -eq 0 ];
then
 :
else
 rclone move $cur H-4:Clouds/rsync/Curious
fi
count2=`find $hum -type f | wc -l`
if [ $count2 -eq 0 ];
then
 :
else
 find $hum -name '*.odt' -delete
 rclone move $hum H-4:Clouds/rsync/Humour
fi
count3=`find $sm -type f | wc -l`
if [ $count3 -eq 0 ];
then
 :
else
 find $sm -name '*.odt' -delete
 rclone move $sm H-4:Clouds/rsync/SA
fi
exit


Дополнительные команды

1. Передача/получение данных с уничтожением каталогов

При передаче через move исходные каталоги не удаляются, оставаясь "пустыми", то есть без содержания. Чтобы они удалялись команду move необходимо дополнять так называемым флагом: --delete-empty-src-dirs

Пример с использованием отображения процесса в терминале в оболочке xfce:

xfce4-terminal --geometry=80x15 -x sh -c 'rclone move --progress li-2:sa /home/minter/Загрузки --delete-empty-src-dirs; exec bash'

2. Очистка Корзины

Иногда требуется принудительно очищать Корзину, так как такие хранилища как Диск.Яндекс и MEGA при подсчётах доступного для записи места на облаке учитывают объём, который занимают удалённые данные, то есть помещённые в Корзину. Например:

rclone cleanup ydsa:

В приведенной выше команде ydsa: соответствует хосту Диск.Яндекс, прописанному в конфигурации rclone.conf


Пояснение возможного использования Rclone Browser

Ранее мной использовался графический инструмент rclone browser, установка которого возможна из менеджера программ:


Однако в этой оболочке значки облачных ресурсов Dropbox, Google, OneDrive, Yandex Disk корректно отображаются только до версии rclone 1.44. Уже с версии 1.45 эти ресурсы начинают отображаться знаком вопроса.

Ранее мной автору rclone ранее задавался вопрос о возможной причине отображения интересующего меня ресурса MEGA значком вопроса. Martins Mozeiko тогда ответил мне, что при разработке rclone browser MEGA ещё не предоставляла необходимый значок, поэтому он и отсутствует. Но, по его словам, я мог бы скомпилировать rclone browser из исходных кодов, включив в проект своей сборки нужный мне значок. В то время у меня так и не получилось сделать свою версию rclone browser. А после того как удалось разобраться с командами rclone, необходимость в использовании rclone browser отпала сама собой.

Если Вам критично корректное отображение в Rclone Browser значков и Вы используете только Dropbox, OneDrive, Google, Yandex Disk, то устанавливайте Rclone Browser и rclone версии 1.44. Для монтирования облака создайте у себя пустой каталог (и без запуска Rclone Browser не записывайте туда никаких данных). Пример:


При монтировании в этот каталог облака его содержимое будет отображено в этом каталоге.


 "Подводный камень".  При попытке отмонтировать ресурс 00 через менеджер файлов (рис. выше) отмонтирование происходит не всегда. Чтобы отмонтировать подключенный удалённый ресурс нужно во вкладке Rclone Broser Jobs


напротив выбранного ресурса нажать на значок крестика и подтвердить выполнение назначенной операции:



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

В последних дистрибутивах Linux Mint (19/20) используется дальнейшая разработка Rclone Browser 1.8, которую сопровождает уже не Martins Mozeiko, а разработчик с ником kapitainki (London, UK). В новой версии Rclone Browser появилось отображение значков MEGA, но отсутствуют значки для Облака Mail.Ru и pCloud. Вместо них отображаются значки вопроса.

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

воскресенье, 24 февраля 2019 г.

ODrive – клиент синхронизации с Диском Google для Ubuntu и производных

На днях мой родственник прислал мне интересную ссылку на клиент синхронизации с Диском Google для Ubuntu и её производных. Так как Linux Mint и является такой производной, то мне стало интересно "пощупать" данное решение.

Скачать можно пакет deb, App.Image или snap с сайта github.

Мной был скачан пакет deb, который и был установлен на Linux Mint 19.1 xfce.

Запуск установленного ПО был произведен из меню с секции "Прочее":


Если такой пункт у Вас отсутствует, то запустить можно из терминала командой

"/opt/OpenDrive/odrive" %U

При первом запуске в системном лотке (трее, подставке рабочего стола) появился значок программы, а на экране отобразилась форма настройки:



После нажатия на кнопку "Next" было предложено соединиться с учётной записью Google и определить каталог для синхронизации.


Сначала необходимо соединиться с аккаунтом Google. При выполнении дальнейших действий не все элементы управления помещаются в окно. Поэтом обращайте внимание на движок справа.





После того как приложению ODrive будет разрешён доступ к учётной записи Google синхронизация с Google Диском станет доступной.



Если вдруг после начала синхронизации Вы получите такую же ошибку как и у меня,


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



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




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


Возвращаясь к вопросу об игнорировании файлов, справедливости ради следует отметить, что в ходе дальнейших запусков ODrive такого уведомления не отображалось:


При вызове контекстного меню (клик правой кнопкой по значку) отобразились пункты:


Preferences ... (предпочтения) – вызывает окно настроек ODrive. Окно настроек включает в себя имя учётной записи Google и расположение каталога синхронизации на жёстком диске.

Launch on startup – запускать при старте компьютера. По умолчанию галочка не проставлена.

Quit ODrive  – завершить работу приложения.

При удалении или добавлении файлов уведомления отображаются через оповещения, например:



Настройки приложения, кэш и журналы работы расположены в ~/.config/odrive


Для назначения эмблем Drive на каталоги скачайте архив zip, содержащий эмблемы Диска Google и Odrive, и воспользуйтесь приёмами их добавления к существующим эмблемам: для Linux Mint 18 или для Linux Mint 19.

Для полного удаления приложения из системы выполните в терминале

sudo apt purge -y odrive && rm -fr ~/.config/odrive

Как указано на сайте omgubuntu.co.uk, в отличие от имеющихся решений, Odrive бесплатен для использования: free, open-source Electron application

Недостатком ODrive является невозможность настроить выборочную синхронизацию каталогов. Клиент синхронизирует всё.

четверг, 25 октября 2018 г.

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

Данная публикация имеет поясняющий характер и ставит своей целью, по возможности, простыми словами и максимально доходчиво (как просят, "для чайников"), объяснить суть и механизм совместной работы с использованием ресурсов облачного хранения данных, таких как Dropbox, pCloud, Диск Яндекс, Облако@Mail.Ru, Google Диск и т.п.

"Облако", если говорить с технической точки зрения, является онлайн-хранилищем, состоящим из большого количества серверов, объединённых в огромную сеть (облачное хранилище данных).

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

Кла́стер (англ. cluster – скопление) – объединение нескольких однородных элементов, которое может рассматриваться как самостоятельная единица, обладающая определёнными свойствами. В сфере информационных технологий под кластером следует понимать группу вычислительных узлов, объединённых высокоскоростными каналами связи, представляющих с точки зрения пользователя единый аппаратный ресурс (подробности).

Так как потребителю не известно на каких именно участках кластеров хранятся его данные, а известна только точка его соединения с массивом кластеров, то такую реализацию назвали "облаком". Cloud – облако (англ.)

Как происходит обмен данными между пользователями через "облако" ?

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


Например, user-1 имеет в облаке 4 папки,


а user-2 имеет в облаке 3 папки


user-1 одну из папок даёт в доступ пользователю user-2 (синего цвета). В терминологии ресурсов облачного хранения данных такое действие называется "приглашение".


user-2 принимает приглашение в папку и у него в облаке становится тоже 4 папки. Полученная от user-1 в доступ папка помечена оранжевым цветом.


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


Соответственно, эти изменения будут также переданы на компьютеры user-1 и user-2 при очередном сеансе связи их клиентов с облаком.


Получается, что после завершения синхронизации содержание жёлтой папки, владельцем которой является user-1, станет идентичным содержанию бирюзовой папки, владельцем которой является user-2, и наоборот:


Упрощённо говоря, происходит передача данных с компьютера на компьютер. При этом посредником в этом процессе выступает облако.

Синхронизация данных клиента с облаком происходит по защищённому протоколу, который препятствует перехвату данных по сети. В зависимости от конкретной реализации, передаётся либо новый файл на замену старому, либо значение "дельта" (разница значений нового и старого файлов).

Для своего функционирования такая схема не требует завершения всех операций синхронизации в течение сеанса связи с Интернет. В процессе синхронизации клиент постоянно вычисляет содержание папки клиента и соответствующей ей папки облака, а также отслеживает отметку времени, назначенной каждому файлу и каждой папке. На основании этой информации клиент производит запись или удаление данных в той папке клиента или облака, отметка времени которой старше (то есть более ранняя). Если в течение сеанса работы с Интернет процесс синхронизации не был завершён, то при следующем сеансе он будет продолжен. Такой процесс условно можно назвать "докачкой данных". Учитывая указанное, процессу можно сопоставить термин "асинхронная репликация".

Репликация (англ. replication) – механизм синхронизации содержимого нескольких копий объекта (файла, папки). В процессе репликации происходит копирование данных из одного источника на другой (или на множество других) и наоборот. Иными словами, изменения, сделанные в одной копии объекта, распространяются в другие копии.

При синхронной репликации, если данная реплика (копия объекта, обновляемая автоматически при обновлении оригинала) обновляется, все другие реплики того же фрагмента данных также должны быть обновлены в одной и той же транзакции (транза́кция (англ. transaction, от лат. transactio 
 соглашение, договор) – минимальная логически осмысленная операция, которая имеет смысл и может быть совершена только полностью, см. wiki). Можно сказать, что на практике существует лишь одна версия данных.

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

В философской концепции развития по спирали, user-1 и user-2 осуществляют обмен данными через общую сетевую папку (Shared folder), как раньше это происходило в локальной сети. Но если в том случае для осуществления информационного обмена user-1 и user-2 должны были быть расположены не далее 80 метров друг от друга (максимальная дальность передачи информации, при которой гарантируется качественная связь без применения специальных усилителей-повторителей), то теперь их географическое местоположение значения не имеет.