دستور rsync در لینوکس
در این بخش به بررسی دستور 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
میتواند در صرفهجویی زمان و منابع، بهویژه در محیطهای تولیدی و سرورهای بزرگ، تأثیر بسزایی داشته باشد.
آیا این مطلب برای شما مفید بود ؟