Как да използвате Rsync за синхронизиране на локални и отдалечени директории
Rsync е мощен инструмент за копиране и синхронизиране на данни в Linux операционната система. Той позволява бърз и ефективен трансфер на файлове между локални и отдалечени системи.
В тази статия ще научим как да използваме rsync, за да управляваме данните си ефективно и да осигурим сигурността им.
Предпоставки
За да използвате Rsync за синхронизиране на локални и отдалечени директории, трябва да отговаряте на следните изисквания:
- Вашата система трябва да работи с Linux.
- Rsync трябва да бъде инсталиран на вашата система.
Ако не сте сигурни дали Rsync е инсталиран на вашата система, можете да използвате следната команда:
which rsync
Ако тази команда не генерира изход, трябва да инсталирате Rsync. За повечето Linux дистрибуции Rsync е наличен в пакетните репозитории и може да бъде инсталиран с помощта на управляващата система на пакетите.
Инсталиране на Rsync
За да инсталирате Rsync на Debian или Ubuntu, използвайте следната команда:
sudo apt install rsync
За да инсталирате Rsync на CentOS или Fedora, използвайте следната команда:
sudo yum install rsync
След като Rsync е инсталиран, можете да започнете да го използвате за синхронизиране на локални и отдалечени директории.
Основни принципи за използване на rsync
Синтаксисът на Rsync в най-основната си форма изглежда така:
rsync [опции] източник [целева директория]
където:
- източник е директорията или файлът, който искаме да синхронизираме.
- целева директория е директорията, в която искаме да синхронизираме източника.
Например, за да синхронизираме директорията /home/user/programs в директорията /baihui/backup
, бихме използвали следната команда:
rsync -a /home/user/programs /baihui/backup
Tази команда ще синхронизира всички файлове и поддиректории от /home/user/programs
в /baihui/backup
.
Опции на Rsync
Rsync предлага редица опции, които ни позволяват да контролираме как се извършва синхронизацията. Някои от най-често използваните опции са:
- -a – синхронизира всички файлове и поддиректории, включително правата за достъп, собствениците и групите.
- -r – синхронизира поддиректориите рекурсивно.
- -v – показва подробна информация за синхронизацията.
Синхронизиране на локални директории
За да синхронизираме две локални директории, можем да използваме следната команда:
rsync -a източник [целева директория]
Например, за да синхронизираме директорията /home/user/data
в директорията /home/user/backup
, бихме използвали следната команда:
rsync -a /home/user/data /home/user/backup
Тази команда ще синхронизира всички файлове и поддиректории в /home/user/data
в /home/user/backup
.
Синхронизиране на отдалечени директории
За да синхронизираме отдалечени директории, можем да използваме следната команда:
rsync [опции] [потребител@]хост:източник [целева директория]
Например, за да синхронизираме директорията /home/user/data
на хоста example.com
в директорията /mnt/backup
на локалната машина, бихме използвали следната команда:
rsync -a [email protected]:/home/user/data /mnt/backup
Тази команда ще синхронизира всички файлове и поддиректории в /home/user/data
на хоста example.com
в /mnt/backup
на локалната машина.
Инкрементални архиви
Rsync може да използва алгоритъм за делта прехвърляне, за да синхронизира само променените части на файловете. Това се нарича инкрементално архивиране.
За да активираме инкременталното архивиране, използваме опцията -r
;
rsync -ra източник [целева директория]
Тази команда ще синхронизира само променените части на файловете в /home/user/data
в /home/user/backup
.
Запазване на разрешенията за файлове
Rsync може да запази правата за достъп, собствениците и групите на файловете при синхронизация.
За да активираме това, използваме опцията -a
;
rsync -a източник [целева директория]
Тази команда ще запази правата за достъп, собствениците и групите на всички файлове в /home/user/data
в /home/user/backup
.
Контрол на честотната лента
Rsync може да използва опцията -m
за да ограничи скоростта на трансфер на данни. Това може да бъде полезно, ако искате да избегнете претоварване на мрежата или ако имате ограничения за честотната лента.
Опцията -m
приема като аргумент максимална скорост на трансфер в килобайта в секунда (Kbps). Например, за да ограничите скоростта на трансфер на 100 Kbps, бихте използвали следната команда:
rsync -m100 източник [целева директория]
Можете също така да използвате опцията -w
за да зададете максимален размер на файла, който да се прехвърля за една секунда. Това може да бъде полезно, ако искате да ограничите размера на пакетите, които се изпращат през мрежата.
Опцията -w
приема като аргумент максимален размер на файла в килобайта (KB). Например, за да ограничите размера на файла на 10 KB, бихте използвали следната команда:
rsync -w10 източник [целева директория]
Пример
Да предположим, че искате да синхронизирате директорията /home/user/data
в директорията /mnt/backup
на локалната машина, като ограничите скоростта на трансфер на 100 Kbps. Можете да използвате следната команда:
rsync -m100 /home/user/data /mnt/backup
Тази команда ще синхронизира всички файлове и поддиректории в /home/user/data
в /mnt/backup
, като ограничи скоростта на трансфер на 100 Kbps.
Благодарим ви за прочитането на статията! Ако намерихте информацията за полезна, можете да дарите посредством бутоните по-долу:
Donate ☕️ Дарете с PayPalDonate 💳 Дарете с Revolut