Как настроить и использовать Rsync для синхронизации файлов между Linux и Windows через WSL

  • Главная
  • База знаний
  • Как настроить и использовать Rsync для синхронизации файлов между Linux и Windows через WSL
10.03.2025, 17:00

Rsync (Remote Synchronization) — консольная программа, созданная для синхронизации файлов и каталогов между различными хранилищами данных. В отличие от обычного копирования, Rsync передает только измененные данные, что экономит время и трафик.

Преимущества использования Rsync в WSL

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

Для начала работы вам необходим компьютер с Windows 10 или 11 и поддержкой WSL. Учитывайте, что для работы с WSL в БИОСе вашего ПК должна быть включена аппаратная поддержка виртуализации. Без этого WSL установить не получится.

Установка и настройка WSL

Выполните следующую команду в PowerShell с правами администратора:

wsl --install

Установка Rsync в WSL

Для установки Rsync выполните команду: 

sudo apt update  
sudo apt install rsync

Настройка SSH в WSL

Для работы Rsync по сети потребуется SSH. Установите и активируйте OpenSSH Server:

sudo apt install openssh-server  

sudo service ssh start  

sudo systemctl enable ssh  

Синхронизация данных между ОС

В WSL Windows-диски монтируются в каталог /mnt/. Например, диск C: доступен по пути /mnt/c/.

Чтобы синхронизировать файлы из каталога /home/user/project/ в Windows-папку C:\backup, используйте команду:

rsync -avz /home/user/project/ /mnt/c/backup/

Обратный процесс синхронизации выполняется аналогично. Чтобы передать файлы из C:\backup в каталог /home/user/project/, выполните команду:

rsync -avz /mnt/c/backup/ /home/user/project/

Автоматизация процесса синхронизации

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

1. Создайте новый файл:

nano sync.sh

2. Скопируйте в него следующий код:

#!/bin/bash
rsync -avz /home/user/project/ /mnt/c/backup/

3. Сохраните файл (Ctrl + X → Y → Enter).

4. Сделайте его исполняемым:

chmod +x sync.sh

5. Запустите вручную при необходимости:

./sync.sh

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

Чтобы синхронизация запускалась автоматически (например, каждый день в 02:00 ночи), выполните команду:

crontab -e


Добавьте строку:

0 2 * * * /home/user/sync.sh

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

Заключение

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

Теперь, освоив установку WSL, настройку Rsync и SSH, а также автоматизацию процесса, вы сможете значительно упростить работу с файлами и избежать лишних ручных действий.