۰
(۰)

`rsync` یک ابزار قدرتمند و انعطاف‌پذیر برای انتقال و همگام‌سازی فایل‌ها و پوشه‌ها در سیستم‌های لینوکسی است. این دستور برای کپی کردن داده‌ها بین دو مکان مختلف استفاده می‌شود، و می‌تواند به صورت محلی (روی یک سیستم) یا از طریق شبکه (بین دو سیستم) عمل کند. از جمله قابلیت‌های برجسته `rsync` می‌توان به پشتیبانی از انتقال داده‌ها با پهنای باند محدود، امنیت بالا، و امکان همگام‌سازی انتخابی اشاره کرد.

در این مقاله، نحوه نصب و استفاده از `rsync` در توزیع‌های مختلف لینوکس شامل اوبونتو، دبیان، سنتوس و فدورا را آموزش خواهیم داد.

پیش‌نیازها

– یک سیستم لینوکس (اوبونتو، دبیان، سنتوس یا فدورا)
– دسترسی به ترمینال با دسترسی مدیریتی (sudo)
– اتصال به اینترنت (برای نصب ابزارها)

نصب `rsync` بر روی اوبونتو و دبیان

در اوبونتو و دبیان، `rsync` معمولاً به صورت پیش‌فرض نصب شده است. اما اگر نصب نشده باشد، می‌توانید با استفاده از دستور زیر آن را نصب کنید:

sudo apt update
sudo apt install rsync -y

نصب `rsync` بر روی سنتوس و فدورا

در سنتوس و فدورا، می‌توانید از دستورهای زیر برای نصب `rsync` استفاده کنید:

برای سنتوس:

sudo yum install rsync -y

برای فدورا:

sudo dnf install rsync -y

ساختار کلی دستور `rsync`

ساختار کلی دستور `rsync` به صورت زیر است:

rsync [گزینه‌ها] منبع مقصد

– منبع (Source): مسیری که فایل‌ها باید از آنجا کپی شوند.
– مقصد (Destination): مسیری که فایل‌ها باید به آنجا کپی شوند.
– گزینه‌ها (Options): پارامترهایی که رفتار `rsync` را تعیین می‌کنند.

مثال‌های عملی از استفاده `rsync`

۱. کپی کردن فایل‌ها و پوشه‌ها به صورت محلی

برای کپی کردن یک فایل یا پوشه به صورت محلی (در همان سیستم)، می‌توانید از دستور زیر استفاده کنید:

rsync -avh /path/to/source /path/to/destination

– **`-a`**: گزینه آرشیو که اطمینان حاصل می‌کند فایل‌ها با تمام مجوزها، مالکیت و ساختار دایرکتوری کپی شوند.
– **`-v`**: گزینه حالت verbos برای نمایش اطلاعات بیشتر در حین عملیات.
– **`-h`**: نمایش اندازه فایل‌ها در قالبی خوانا برای انسان (مثلاً MB یا GB).

مثال:
rsync -avh /home/user/documents /home/user/backup

۲. همگام‌سازی فایل‌ها بین دو سیستم از طریق SSH

یکی از رایج‌ترین استفاده‌های `rsync`، انتقال فایل‌ها بین دو سیستم از طریق SSH است. برای این کار، از گزینه `-e` به همراه `ssh` استفاده کنید:

rsync -avh -e ssh /path/to/source user@remote_host:/path/to/destination
مثال:
rsync -avh -e ssh /home/user/documents user@192.168.1.10:/home/user/backup

در اینجا، `rsync` تمام فایل‌ها و پوشه‌های موجود در `/home/user/documents` را به سیستم ریموت با IP `192.168.1.10` منتقل می‌کند.

۳. همگام‌سازی دو پوشه (کپی به صورت دوطرفه)

اگر می‌خواهید دو پوشه را به صورت دوطرفه همگام‌سازی کنید، می‌توانید از `rsync` برای به‌روزرسانی فقط فایل‌های جدیدتر استفاده کنید. به این صورت که فایل‌های موجود در منبع و مقصد را همگام‌سازی می‌کند و فایل‌هایی که تغییر کرده‌اند را به‌روزرسانی می‌کند:

rsync -avhu --delete /path/to/source /path/to/destination

– **`–delete`**: فایل‌هایی که در منبع وجود ندارند، اما در مقصد موجود هستند را حذف می‌کند.
– **`-u`**: فقط فایل‌هایی را کپی می‌کند که جدیدتر هستند.

مثال:
rsync -avhu --delete /home/user/documents /home/user/backup

۴. انتقال فایل‌های حجیم با پهنای باند محدود

اگر با محدودیت پهنای باند مواجه هستید و نمی‌خواهید که انتقال فایل‌ها تمام پهنای باند را مصرف کند، می‌توانید از گزینه `–bwlimit` استفاده کنید:

rsync -avh --bwlimit=1000 /path/to/source user@remote_host:/path/to/destination

– **`–bwlimit`**: مقدار پهنای باندی که `rsync` استفاده می‌کند (بر حسب KB/s).

مثال:
rsync -avh --bwlimit=1000 /home/user/videos user@192.168.1.10:/home/user/backup

در اینجا، پهنای باند به ۱۰۰۰ کیلوبایت در ثانیه محدود شده است.

۵. استفاده از `rsync` برای پشتیبان‌گیری

یکی از کاربردهای اصلی `rsync` برای پشتیبان‌گیری از فایل‌ها و سیستم‌ها است. شما می‌توانید از آن برای ایجاد نسخه‌های پشتیبان به صورت منظم استفاده کنید. برای این کار، کافی است که یک اسکریپت bash ایجاد کنید که دستور `rsync` را اجرا کند.

#!/bin/bash
rsync -avh --delete /home/user/documents /mnt/backup/documents_backup

با ذخیره کردن این اسکریپت و اجرای آن، `rsync` تمامی فایل‌های موجود در `/home/user/documents` را به پوشه `/mnt/backup/documents_backup` همگام‌سازی می‌کند و فایل‌های اضافی را حذف می‌کند.

۶. همگام‌سازی فایل‌های مشخص

می‌توانید از `rsync` برای کپی کردن فقط فایل‌های مشخص یا پسوندهای خاص استفاده کنید:

rsync -avh --include='*.txt' --exclude='*' /path/to/source/ /path/to/destination/

– **`–include`**: فایل‌های با پسوند مشخص شده را شامل می‌شود.
– **`–exclude`**: همه چیز به جز فایل‌های مشخص شده را حذف می‌کند.

مثال:
rsync -avh --include='*.pdf' --exclude='*' /home/user/documents /home/user/pdf_backup

در اینجا، فقط فایل‌های `.pdf` از `/home/user/documents` به `/home/user/pdf_backup` منتقل می‌شوند.

نکات و پیشنهادات

۱. استفاده از `rsync` برای اسکریپت‌های پشتیبان‌گیری: `rsync` به دلیل ویژگی همگام‌سازی، یکی از بهترین ابزارها برای ایجاد اسکریپت‌های پشتیبان‌گیری منظم است.
۲. اتصالات SSH امن‌تر: برای اطمینان از امنیت انتقال داده‌ها، همواره از کلیدهای SSH به جای رمزهای عبور استفاده کنید.
۳. استفاده از `cron` برای زمان‌بندی: می‌توانید از `cron` برای اجرای خودکار اسکریپت‌های `rsync` در زمان‌های معین استفاده کنید.

جمع‌بندی

`rsync` ابزاری بسیار مفید و کارآمد برای همگام‌سازی فایل‌ها در سیستم‌های لینوکسی است. با استفاده از این ابزار، شما می‌توانید فایل‌ها و پوشه‌ها را به‌سرعت کپی و همگام‌سازی کنید، پشتیبان‌گیری‌های منظم انجام دهید و حتی انتقال فایل‌های حجیم را بهینه‌سازی کنید. این ابزار به دلیل سرعت، امنیت و انعطاف‌پذیری بالا، یکی از محبوب‌ترین ابزارهای مدیریت فایل در لینوکس به شمار می‌آید.

چقدر این مطلب مفید بود؟

روی یک ستاره کلیک کنید تا به آن امتیاز دهید!

میانگین امتیاز ۰ / ۵. تعداد آرا: ۰

تا الان رای نیامده! اولین نفری باشید که به این پست امتیاز می دهید.