راهنمای جامع همگامسازی فایلها و دایرکتوریها با Rsync
مقدمه
در مدیریت سیستمهای لینوکسی و سرورهای مختلف، انتقال و همگامسازی دادهها از اهمیت بالایی برخوردار است. Rsync، مخفف “Remote Sync”، یکی از ابزارهای قوی و محبوب برای انتقال دادهها بین سیستمهای محلی و راه دور است. این ابزار با انتقال فقط بخشهای تغییر یافتهی فایلها، میتواند پهنای باند مصرفی را کاهش داده و سرعت همگامسازی را افزایش دهد.
در این مقاله، ابتدا به معرفی Rsync و کاربرد آن خواهیم پرداخت و سپس دستورات و گزینههای مختلف آن را بررسی کرده و نحوه استفاده از این ابزار برای همگامسازی دایرکتوریها و فایلها بین سیستمهای محلی و راه دور را توضیح میدهیم.
🔷برای دریافت هاست دانلود اسپانسری و کسب درآمد از ترافیک کلیک کنید🔷
پیشنیازها
قبل از شروع، برای استفاده از Rsync جهت همگامسازی بین سیستم محلی و راه دور، نیاز است:
کلیدهای SSH را ایجاد و روی هر دو سیستم پیکربندی کنید.
در صورت عدم نصب Rsync، از دستور زیر برای نصب آن استفاده کنید:
sudo apt update
sudo apt install rsync
تعریف Rsync و ویژگیهای آن
Rsync یک ابزار همگامسازی فایل است که قابلیت استفاده از شبکه را نیز دارد. با استفاده از Rsync میتوان عملیات همگامسازی فایلها و دایرکتوریها را به راحتی و با دقت بالا انجام داد. یکی از ویژگیهای مهم Rsync این است که تنها فایلهایی که تغییر کردهاند یا جدید هستند را منتقل میکند، که باعث صرفهجویی در پهنای باند و زمان میشود.
ساختار دستورات Rsync
ساختار دستورات Rsync مشابه ابزارهایی همچون ssh و scp است. به عنوان مثال، برای همگامسازی دو دایرکتوری محلی به نامهای dir1 و dir2 از دستور زیر استفاده کنید:
rsync -r dir1/ dir2
فلگ -r عملیات همگامسازی را بهصورت بازگشتی انجام میدهد. اما به دلیل نیاز به حفظ مجوزها و تنظیمات پیشرفتهتر، استفاده از فلگ -a یا حالت آرشیو نیز پیشنهاد میشود:
rsync -a dir1/ dir2
همگامسازی دایرکتوریها با سیستم راه دور
برای همگامسازی دایرکتوریها بین یک سیستم محلی و یک سرور راه دور، باید از Rsync به همراه SSH استفاده کنید. به عنوان مثال:
پوش فایلها از سیستم محلی به سرور راه دور:
rsync -a ~/dir1 username@remote_host:/path/to/destination
دریافت فایلها از سرور راه دور به سیستم محلی:
rsync -a username@remote_host:/path/to/dir1 /local/destination
گزینههای پیشرفته Rsync
Rsync دارای گزینههای متعددی است که میتوانند در موارد مختلفی به کار آیند:
فشردهسازی دادهها با استفاده از فلگ -z:
rsync -az source destination
نمایش پیشرفت و ادامه انتقالهای قطعشده با استفاده از فلگ -P:
rsync -azP source destination
حذف فایلهای غیرموجود در مبدأ از دایرکتوری مقصد با فلگ –delete:
rsync -a –delete source destination
استفاده از –exclude برای حذف فایلهای خاص از انتقال:
rsync -a –exclude=”*.log” source destination
پشتیبانگیری از فایلها با استفاده از –backup و تنظیم مسیر برای فایلهای پشتیبان:
rsync -a –delete –backup –backup-dir=/path/to/backups /path/to/source destination
مثال کامل: همگامسازی و انتقال فایلها بین دو سیستم
فرض کنید میخواهید دایرکتوری project را از سیستم محلی به یک سرور راه دور انتقال داده و در عین حال از دادههای قبلی نسخه پشتیبان تهیه کنید:
rsync -av –delete –backup –backup-dir=/backups/$(date +%F) ~/project/ user@remote_host:/var/www/project
این دستور:
دایرکتوری project را به مسیر /var/www/project در سرور راه دور منتقل میکند.
از هر فایل موجود که تغییر کرده است در /backups/yyyy-mm-dd پشتیبان تهیه میکند.
فایلهای غیرموجود در سیستم محلی را از مقصد حذف میکند.
نتیجهگیری
ابزار Rsync با قابلیتهای پیشرفته خود میتواند عملیات همگامسازی را بسیار ساده و بهینه کند. با استفاده از دستورات و گزینههای متنوع Rsync، میتوانید بهراحتی فایلها و دایرکتوریها را بین سیستمهای مختلف منتقل و همگامسازی کنید و کنترل کاملی بر فرآیند انتقال فایلها داشته باشید.