Синхронизация файлов между Linux и Windows может показаться сложной задачей, особенно если вы не знакомы с имеющимися инструментами. Однако с помощью Windows Subsystem for Linux (WSL) этот процесс значительно упрощается.
WSL позволяет запускать среду Linux непосредственно в Windows, что дает возможность использовать аналогичные инструменты между двумя операционными системами.
В этой статье мы рассмотрим весь процесс использования Rsync для синхронизации файлов между Linux и Windows с помощью WSL. Мы расскажем обо всем, начиная с настройки WSL и заканчивая написанием скриптов для автоматической синхронизации.
К концу статьи вы будете иметь четкое представление о том, как эффективно управлять синхронизацией файлов между этими двумя платформами.
Что такое Rsync?
Rsync (сокращение от «удаленная синхронизация») – это инструмент командной строки, используемый для синхронизации файлов между двумя местами, который отличается высокой эффективностью, поскольку он переносит только изменения, внесенные в файлы, а не копирует все каждый раз, что делает его идеальным для синхронизации больших файлов или большого количества файлов.
Зачем использовать Rsync с WSL?
- WSL позволяет запускать команды и инструменты Linux непосредственно в Windows, что упрощает использование Rsync.
- Rsync передает только различия между файлами, экономя время и пропускную способность.
- Вы можете синхронизировать файлы между машиной Linux и машиной Windows без особых усилий.
- Rsync можно автоматизировать с помощью скриптов, что делает его идеальным для регулярного резервного копирования или синхронизации.
Необходимые условия
Прежде чем мы начнем, убедитесь, что у вас есть следующее:
- WSL поддерживается в версиях Windows 10 и 11.
- На компьютере с Windows должна быть установлена и настроена WSL.
- Установите дистрибутив Linux (например, Ubuntu) с сайта .
- Rsync обычно предустановлен, но мы расскажем, как установить его, если он не установлен.
- Rsync использует SSH для безопасной передачи файлов между системами.
Шаг 1: Установка и настройка WSL
Если вы еще не установили WSL, откройте powershell от имени администратора, нажав Win + X и выбрав «Windows PowerShell (Admin)» или «Command Prompt (Admin)», и выполните следующую команду для установки WSL.
wsl --install
Эта команда устанавливает WSL и дистрибутив Linux по умолчанию (обычно Ubuntu). После установки перезагрузите компьютер, чтобы завершить настройку.
После перезагрузки компьютера откройте установленный дистрибутив Linux (например, Ubuntu) из меню Пуск. Следуйте инструкциям на экране, чтобы создать учетную запись пользователя и установить пароль.
Шаг 2: Установка Rsync на WSL
Программа Rsync обычно предустановлена в большинстве дистрибутивов Linux. Однако если он не установлен, вы можете установить его с помощью следующих команд.
sudo apt update sudo apt install rsync rsync --version
Это должно отобразить установленную версию Rsync.
Шаг 3: Настройка SSH на WSL
Чтобы включить SSH на WSL, вам нужно установить Сервер OpenSSH.
sudo apt install openssh-server
Затем запустите и включите службу SSH, чтобы она автоматически запускалась при каждом запуске WSL.
sudo service ssh start sudo systemctl enable ssh
Убедитесь, что служба SSH запущена.
sudo service ssh status
Шаг 4: Синхронизация файлов с Linux (WSL) на Windows
Теперь, когда Rsync и SSH настроены, вы можете начать синхронизацию файлов. Допустим, вы хотите синхронизировать файлы из среды WSL в каталог на машине Windows.
Запустите свой дистрибутив Linux и определите каталог Windows, который обычно монтируется под /mnt/. Например, ваш диск C: расположен по адресу /mnt/c/.
Теперь выполните следующую команду, чтобы синхронизировать файлы из каталога WSL в каталог Windows:
rsync -avz /path/to/source/ /mnt/c/path/to/destination/
Пояснение к команде:
-a: Архивный режим (сохраняет права доступа, временные метки и символические ссылки).-v: Режим Verbose (подробный вывод).-z: Сжимает данные при передаче./path/to/source/: Каталог в среде WSL, который необходимо синхронизировать./mnt/c/path/to/destination/: Каталог на машине Windows, в который нужно синхронизировать файлы.
Шаг 5: Синхронизация файлов с Windows на Linux (WSL)
Если вы хотите синхронизировать файлы из каталога Windows в среду WSL, вы можете использовать аналогичную команду:
rsync -avz /mnt/c/path/to/source/ /path/to/destination/
Пояснение к команде:
/mnt/c/path/to/source/: Каталог на машине Windows, который нужно синхронизировать./path/to/destination/: Каталог в среде WSL, в который нужно синхронизировать файлы.
Шаг 6: Автоматизация синхронизации с помощью сценария
Чтобы упростить синхронизацию, вы можете создать сценарий bash для автоматизации процесса.
nano sync.sh
Добавьте в сценарий следующие строки:
#!/bin/bash rsync -avz /path/to/source/ /mnt/c/path/to/destination/
Сохраните файл и сделайте скрипт исполняемым:
chmod +x sync.sh
Выполните сценарий для синхронизации файлов.
./sync.sh
Вы можете использовать сценарий для запуска через определенные промежутки времени. Например, чтобы запускать сценарий каждый день в 2 часа ночи, добавьте следующую строку в crontab:
0 2 * * * /path/to/sync.sh
Заключение
Использование Rsync с WSL – это мощный и эффективный способ синхронизации файлов между Linux и Windows. Следуя шагам, описанным в этой статье, вы сможете легко установить Rsync, настроить SSH и автоматизировать синхронизацию файлов.




Комментарии (0)