ویژگی تصویر

دستور rsync در لینوکس

  /  لینوکس   /  دستور rsync در لینوکس
بنر تبلیغاتی الف
لینوکس - linux

در این بخش به بررسی دستور rsync در لینوکس می پردازیم، در دنیای مدیریت سیستم‌عامل‌های مبتنی بر لینوکس، انتقال فایل‌ها و همگام‌سازی داده‌ها به یکی از مهم‌ترین نیازهای مدیران سیستم تبدیل شده است. دستور rsync به‌عنوان یک ابزار قدرتمند برای کپی کردن و همگام‌سازی فایل‌ها در بین سرورها و دیسک‌های محلی یا شبکه‌ای عمل می‌کند. برخلاف دستورات ساده‌تر مانند cp، که تنها برای کپی فایل‌ها به کار می‌رود، rsync قابلیت‌های پیشرفته‌ای برای انتقال داده‌ها، ایجاد نسخه‌های پشتیبان و همگام‌سازی پوشه‌ها ارائه می‌دهد.

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

معرفی دستور rsync

rsync (که مخفف “remote sync” است) یک ابزار متن‌باز برای انتقال و همگام‌سازی فایل‌ها بین سیستم‌های مختلف است. این دستور در بسیاری از توزیع‌های لینوکس به‌طور پیش‌فرض نصب شده است و به کاربر این امکان را می‌دهد که فایل‌ها را به‌صورت محلی یا از راه دور کپی کند. برخلاف بسیاری از ابزارهای دیگر مانند scp یا cp، rsync تنها فایل‌های تغییر یافته یا جدید را منتقل می‌کند، به این معنی که اگر بخشی از یک فایل تغییر کرده باشد، تنها آن بخش به مقصد منتقل می‌شود.

ویژگی دیگر rsync قابلیت حفظ مجوزهای دسترسی فایل‌ها، تاریخ تغییرات، مالکیت‌ها و حتی لینک‌های نمادین است. این مزیت‌ها باعث شده است که rsync به‌عنوان ابزاری بسیار مناسب برای ایجاد نسخه‌های پشتیبان و همگام‌سازی داده‌ها در سیستم‌های مختلف استفاده شود.

نحوه نصب rsync

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

rsync --version

اگر rsync نصب نشده باشد، می‌توانید آن را با استفاده از مدیر پکیج توزیع خود نصب کنید:

  • در اوبونتو یا دبیان:
sudo apt update
sudo apt install rsync
  • در CentOS یا Red Hat:
sudo yum install rsync

نحوه استفاده از دستور rsync

ساختار پایه‌ای دستور rsync به این صورت است:

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

مثال ساده کپی فایل از یک دایرکتوری به دایرکتوری دیگر:

rsync -av /home/user/source/ /home/user/destination/

در این مثال:

  • -a به معنای “حالت آرشیو” است که کلیه خصوصیات فایل‌ها مانند مجوزها، زمان آخرین تغییر، مالکیت و لینک‌های نمادین را حفظ می‌کند.
  • -v برای فعال‌سازی خروجی پرجزئیات استفاده می‌شود که به کاربر نشان می‌دهد چه فایل‌هایی در حال انتقال هستند.

همگام‌سازی فایل‌ها بین دو سرور

یکی از پرکاربردترین ویژگی‌های rsync، انتقال فایل‌ها بین دو سیستم از راه دور است. فرض کنید قصد دارید از سروری به سرور دیگر فایل‌ها را انتقال دهید. برای این کار، از ساختار زیر استفاده می‌شود:

rsync -avz /local/directory/ user@remote_host:/remote/directory/

در این مثال:

  • -z فشرده‌سازی فایل‌ها را فعال می‌کند تا انتقال سریع‌تر انجام شود.
  • user@remote_host مشخصات کاربری است که به سرور مقصد متصل می‌شود.

مثال کاربردی انتقال فایل به سرور راه دور:

rsync -avz /var/www/html/ user@192.168.1.100:/var/www/html/

این دستور فایل‌های موجود در پوشه /var/www/html را از سرور محلی به آدرس IP سرور راه دور همگام‌سازی می‌کند.

انتقال تنها فایل‌های تغییر یافته

یکی از ویژگی‌های مهم rsync، توانایی آن در انتقال تنها فایل‌هایی است که تغییر کرده‌اند یا جدید اضافه شده‌اند. این ویژگی به شدت در بهینه‌سازی پهنای باند و زمان انتقال تأثیرگذار است. فرض کنید یک دایرکتوری با صدها گیگابایت داده دارید و می‌خواهید آن را به‌روزرسانی کنید. به جای انتقال مجدد تمامی فایل‌ها، rsync تنها بخش‌های تغییر یافته را انتقال می‌دهد.

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

rsync -av --ignore-existing /source/directory/ /destination/directory/

در این مثال، --ignore-existing فایل‌هایی که قبلاً در مقصد وجود دارند را نادیده می‌گیرد و فقط فایل‌های جدید یا تغییر یافته را انتقال می‌دهد.

حفظ مجوزها و مالکیت‌ها

در برخی موارد، حفظ مجوزهای دسترسی، مالکیت‌ها و لینک‌های نمادین هنگام انتقال فایل‌ها بسیار مهم است، مخصوصاً اگر در حال انتقال فایل‌های سیستمی یا داده‌های حساس هستید. rsync به شما امکان می‌دهد که تمامی این جزئیات را همراه فایل‌ها منتقل کنید.

برای این کار، از گزینه‌های زیر استفاده می‌شود:

rsync -av --owner --group --perms /source/directory/ /destination/directory/

در اینجا:

  • --owner و --group مالکیت فایل‌ها را حفظ می‌کنند.
  • --perms مجوزهای فایل را انتقال می‌دهد.

ایجاد نسخه‌های پشتیبان با rsync در لینوکس

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

مثال:

rsync -av --backup --backup-dir=/path/to/backup /source/directory/ /destination/directory/

در این دستور، هرگاه فایل‌هایی در مقصد تغییر کنند، نسخه قدیمی آن‌ها در مسیر مشخص شده با --backup-dir ذخیره می‌شود.

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

استفاده بهینه از rsync می‌تواند در صرفه‌جویی زمان و منابع، به‌ویژه در محیط‌های تولیدی و سرورهای بزرگ، تأثیر بسزایی داشته باشد.

آیا این مطلب برای شما مفید بود ؟

خیر
بله
بنر تبلیغاتی ج