Синхронизация файлов и папок ubuntu

Копирование данных при помощи rsync в Ubuntu

Rsync предварительно установлен с некоторыми дистрибутивами Linux. Если это не предварительно установлено, можно установить его с помощью ниже команды:

Базовый синтаксис rsync:

# rsync [опции] [источник] [место назначения]

В опциях можно определить множество параметров.

Файлы копии локально

Для копирования всех файлов от исходного каталога до целевого каталога войдите ниже команды:

После выполнения вышеупомянутой команды все .odc файлы в исходном каталоге,/home/tin/Documents, будут скопированы в целевой каталог,/home/tin/Desktop/data.

Файлы копии от локального до удаленной системы

Rsync может скопировать файлы по сети, все, в чем Вы нуждаетесь, вход в систему SSH удаленного сервера или рабочего стола.

Эта команда копирует содержание локальной/var/www папки к папке,/var/www из системы на IP 192.168.0.100. Это использует пользователя ‘корень’ для вхождения в удаленную систему.

Копирование файлов на основе размера

Можно также определить максимальный размер файла, который может быть скопирован с помощью rsync. Скажем, в этом случае, я определяю максимальный размер к 0.2K. Файлы с размером, больше, чем это, не будут скопированы в/home/tin/Desktop/data.

Минимальный размер

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

В этом примере я определяю минимальный размер 30K. Файлы с размером меньше, чем 30K не получат скопированное использование rsync.

Прогресс представления

Можно также просмотреть прогресс при копировании файлов с помощью rsync. Добавьте — прогрессируют в команде rsync в синтаксисе как показано ниже:

Скопируйте всю папку с rsync

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

Добавьте ниже команды в терминале:

Исключите файлы

Можно также исключить определенные файлы при копировании файла и папки с помощью rsync.

Читать еще:  Синхронизация календаря outlook с яндекс почтой

Путем ввода следующей команды все файлы будут скопированы от источника до места назначения кроме .odc файлов.

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

Ubuntu One Setup

Если вы еще не настроили Ubuntu One, вам придется настроить его перед синхронизацией файлов. Нажмите значок почты на панели и выберите « Ubuntu One ».

Нажмите кнопку Присоединиться сейчас и создайте учетную запись.

На других компьютерах нажмите ссылку « У меня уже есть учетная запись! » и войдите в свою существующую учетную запись.

После этого вы получите папку «Ubuntu One» в своей домашней папке. Все файлы в этой папке автоматически синхронизируются между вашими компьютерами.

Как Проверить Версию Rsync

Прежде чем мы проверим версию rsync, нам нужно зайти на сервер VPS, который мы будем использовать. Это полезное руководство поможет вам сделать это на машине с Windows, используя Putty SSH. Если вы работаете на компьютере с MacOS или Linux, используйте вместо этого терминал.

Rsync предустановлен во многих дистрибутивах Linux. Чтобы проверить, установлен ли rsync на вашем компьютере, выполните следующую команду:

В нашем дистрибутиве Ubuntu, вот что мы увидим в выводе:

Это означает, что версия rsync 3.1.3 уже установлена на нашей машине.

Использование строгой синхронизации

По умолчанию действие GitHub не включает строгий режим. Это означает, что при синхронизации в экземпляр Конфигурации приложения только будут добавляться пары "ключ-значение" из файла конфигурации (пары "ключ-значение" не будут удаляться). Включение строгого режима означает, что пары "ключ-значение", отсутствующие в файле конфигурации, будут удалены из экземпляра Конфигурации приложений, чтобы он соответствовал файлу конфигурации. Если вы выполняете синхронизацию из нескольких источников или используете Azure Key Vault с Конфигурацией приложений, вам потребуется применять разные префиксы или метки для строгой синхронизации, чтобы не удалить параметры конфигурации из других файлов (см. примеры ниже).

Настройка синхронизации с удаленным сервером при помощи rsync

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

Читать еще:  Синхронизация в гугле что это такое

Сегодня версия rsync использует протокол SSH для передачи файлов по-умолчанию. Однако вы можете использовать и демон rsyncd. Для этого клиент rsync должен быть установлен на удаленном компьютере, и его демон добавлен в автозагрузку:

Конфигурационный файл rsync — /etc/rsyncd.conf . В этом файле можно настроить параметры rsync и настройки для синхронизации для разных ресурсов.

Для синхронизации через демона rsync адрес удаленного сервера указывается так rsync:// :

Чтобы скопировать файл на удаленный сервер через протокол SSH, используйте команду:

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

Копирование с локального хоста на удаленный хост

Скопируем директорию с локального сервера на удаленный:

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

Копирование с удаленного хоста на локальный хост

Так же вы можете синхронизировать файлы и с удаленного сервера на локальный, команда для этого немного изменится:

Для принудительного использования SSH протокола, а также если вы изменили порт для SSH или для авторизации требуется указать явно где расположен сертификат SSL, команды будут выглядеть следующим образом.

Принудительное использование протокола SSH

Подключение по стандартному порту:

Если удаленный SSH сервер имеет отличный от стандартного порт:

Если надо явно указать порт и ключ:

Синхронизация с использованием опций исключений

Также очень удобный опции —include и —exclude, с помощью этих опций, можно делать исключения по копированию директорий или файлов:

В данном случае мы исключили директорию “administrator” при копировании на удаленный сервер.

Добавлением опции —include мы смогли задать фильтр по файлам, скопировали только файлы с расширением «*.php«.

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

Конечно можно указать одну директорию:

Еще мы можем исключить файлы с определенным расширением:

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

Читать еще:  Синхронизация dropbox и synology

Для копирования определенного типа файлов (да и не только) мы можем использовать опцию —include. Используется она точно так же, как и exclude. Вот пример, в котором я загружаю на сервер только все файлы с расширением .sql:

Исключения с помощью .rsync-filter

Для более гибкой настройки копирования (в случае регулярного копирования это будет очень полезно) все исключения/включения можно оформить в файле .rsync-filter (это появилось в более поздних версиях rsync).

Попробую объяснить подробно на примере, как и что мы можем исключать (спасибо этому блогу за хорошее описание).
Допустим, у меня есть такой каталог (somedir), в котором я хочу исключить (красная стрелка) или оставить (зеленая стрелка) некоторые файлы/каталоги:

Ниже приведен один из примеров настройки исключений в файле .rsync-filter с комментариями:

Для того, чтобы rsync заметил файл .rsync-filter, достаточно указать опцию -F:

В итоге на сервер будут скопированы только эти файлы:

Кстати, если мы не хотим чтобы сам .rsync-filter не копировался, то -F нужно будет указать дважды

Mac OS X

Вы можете использовать ту же команду на Mac. Сначала откройте окно терминала — нажмите Command + Space, введите Terminal в диалоговом окне поиска Spotlight и нажмите Enter. Запустите следующую команду, указав соответствующий путь:

ln -s «/ path / to / ExternalFolder» «/ Users / имя / Dropbox / ExternalFolder»

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

mv «/ path / to / ExternalFolder» «/ Пользователи / имя / Google Диск /»

ln -s «/ Пользователи / имя / Google Диск / ExternalFolder» «/ путь / к / ExternalFolder»

create-symlinks-for-google-drive-on-mac-os-x

Настройка автоматического монтирования при логине

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

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

Прямо перед закрывающим тегом </pam_mount> необходимо вставить следующую строку (заменив username на имя своего пользователя):

ТоргХолодМаш
Добавить комментарий