راهنمای کامل Rsync: ابزار کارآمد برای همگامسازی و انتقال فایلها
Rsync یکی از قدرتمندترین و محبوبترین ابزارها برای همگامسازی و انتقال فایلها در سیستمهای لینوکسی و یونیکسی است. این ابزار با ارائه قابلیتهایی همچون انتقال فایلها بهصورت امن، فشردهسازی دادهها، و انتقال بهصورت افزایشی، توانسته است جایگاه ویژهای در مدیریت فایلها و پشتیبانگیری از سرورها به دست آورد. در این مقاله، به بررسی دقیق قابلیتهای Rsync، نحوه نصب و استفاده از آن برای همگامسازی و انتقال فایلها در شبکههای محلی و از راه دور پرداختهایم.
در این مقاله به راهنمای کامل Rsync میپردازیم و دستورات پر کاربرد آن را بازگو خواهیم کرد.با ما همراه باشید.
Rsync چیست و چه کاربردی دارد؟
Rsync یک ابزار قدرتمند و انعطافپذیر برای همگامسازی و انتقال فایلها بین سیستمها است که در سیستمعاملهای مبتنی بر یونیکس و لینوکس بهطور گسترده استفاده میشود. کاربرد اصلی Rsync، انتقال فایلها بهصورت افزایشی است؛ به این معنا که تنها بخشهای تغییر یافته یا جدید از فایلها منتقل میشوند، نه کل فایل. این ویژگی باعث میشود که هم پهنای باند شبکه کاهش یابد و هم زمان انتقال فایلها بهبود یابد.
Rsync بهطور معمول برای انجام پشتیبانگیری از دادهها، همگامسازی فایلها بین سرورها یا دستگاههای مختلف، و انتقال فایلها از راه دور از طریق شبکه استفاده میشود. این ابزار همچنین میتواند فایلها را با استفاده از پروتکل SSH انتقال دهد تا امنیت بیشتری فراهم شود.
آرسینک یا rcync مخفف کلمه Remote Sync میباشه به معنای همگام سازی از راه دور. در توزیع های لینوکسی و یونیکسی بصورت پیشفرض فعال میباشد ولا در مواردی نیاز به نصب دارد.
کار اصلی آرسینک در سرور ها به وسیله ریموت و SSH انجام میشود که میتوان با سرعت بالا یک دایرکتوری , فایل , فولدر , بک آپ و… را منتقل کرد بصورتی که مجوزهای(permision) های آن تغییری نکند.
کاربرد rsync چیست؟
- کپی و همگام سازی فایلها و دایرکتوری ها در یک سرور محلی یا سرور ریموت(از راه دور)
کپی و انتقال بک آپ ها , فایلها , دیوایس ها با تمام مجوزها (owner) و …
سرعت بالاتر از SCP به دلیل استفاده از پروتکل remote-update
کاهش مصرف پهنای باند به دلیل ساپورت از فشرده سازی در مبدا و مقصد
پشتیبانی از پروتکل SHH که امکانات بینظیر و سریعی در اختیار کاربر قرار میدهد.
دستورات rsync
-v
:شفاف سازی اطلاعات
-r
:کپی تودرتوی فایلها
-a
:حالت آرشیو ، حالت آرشیو علاوه بر کپی تودرتو تمامی خصوصیات فایلها و همچنین symlink ها را نیز حفظ میکند
-z
: فشرده سازی
-h
: تبدیل اعداد به فرمت قابل خواندن
-w
: غیر فعالسازی قابلیت سینک بایت به بایت
نصب rsync در cent os
#centos 6 & centos 7
yum -y install rsync
#centos 8 & fedora
dnf -y install rsync
#debian & ubuntu
apt-get -y install rsync
راهنمای کامل Rsync
Rsync یکی از قدرتمندترین ابزارها برای همگامسازی و انتقال فایلها در سیستمهای مبتنی بر یونیکس و لینوکس است. این ابزار با ویژگیهای منحصربهفرد خود، از جمله انتقال افزایشی و فشردهسازی دادهها، توانسته است به یکی از پرکاربردترین راهکارهای مدیریت فایلها در شبکههای محلی و از راه دور تبدیل شود. Rsync به کاربر امکان میدهد تا تنها بخشهایی از فایلها که تغییر کردهاند را انتقال دهد، که این موضوع باعث کاهش حجم دادههای منتقلشده و افزایش سرعت فرآیند انتقال میشود. همین امر Rsync را برای کاربردهایی مانند پشتیبانگیری و همگامسازی فایلها ایدهآل میسازد.
یکی دیگر از مزایای مهم Rsync قابلیت انتقال فایلها از طریق پروتکلهای امنی مانند SSH است. با این قابلیت، کاربر میتواند اطمینان حاصل کند که انتقال فایلها در شبکه بهصورت ایمن و بدون خطر نفوذ انجام میشود. این ویژگی بهخصوص در محیطهای سازمانی که انتقال فایلهای حساس انجام میشود، اهمیت زیادی دارد. Rsync همچنین با استفاده از قابلیت فشردهسازی دادهها، پهنای باند مصرفی را به حداقل میرساند و در عین حال کارایی انتقال دادهها را بهبود میبخشد.
علاوه بر این، Rsync انعطافپذیری بالایی دارد و میتواند برای سناریوهای مختلفی مانند همگامسازی فایلها بین دو سیستم محلی یا پشتیبانگیری از دادهها بهصورت خودکار استفاده شود. تنظیمات متنوعی که Rsync ارائه میدهد، امکان کنترل دقیق بر فرآیند انتقال و مدیریت فایلها را فراهم میکند. از دیگر ویژگیهای مهم Rsync میتوان به قابلیت حذف فایلهای قدیمی در مقصد، همگامسازی ساختارهای پیچیده دایرکتوری، و توانایی انتقال فایلها بهصورت افزایشی اشاره کرد که این ابزار را به یک راهکار جامع برای مدیریت فایلها تبدیل میکند.
روشهای انتقال فایل با rsync
روش اول: copy /syn در سرور لوکال(محلی)
توسط دستور زیر میتوانید یک فایل را در سرور خود به محلی دیگر کپی یا سینک کنید:
rsync -zvh user-backup.tar.gz /tmp/backups/
در مثال بالا /tmp/backups آدرس محل ذخیره سازی است و دس صورتی که وجود نداشته باشد ایجاد میگردد.
روش دوم:کپی / سینک یک دایرکتوری(فولدر) در محل دیگری از سرور:
rsync -avzh /root/famaserver /tmp/backups/
دستور بالا فولدر root/famaserver را به فولدر tmp/backups منتقل میکند با تمامیه فایلها و دسترسی ها
روش سوم:copy/sync یک دایرکتوری از سرور لوکال به سروری دیگر
rsync -avz /home/users root@192.168.0.101:/home/
دستور بالا فولدر /home/users سرور محلی که در آن دستور اجرا شده را به فولدر /home سرور 192.168.0.101 منتقل میکند.
روش چهارم: کپی / سینک یک فایل یا فولدر از یک سرور دیگر به سرور شما
rsync -avzh root@192.168.0.100:/home/user /home/
در مثال بالا دایرکتوری /home/user از سرور 192.168.0.100 به دایرکتوری /home سرور شما منتقل میگردد.
روش پنجم: Rsync در بستر SSH
در این روش اطلاعات (فایل یا فولدر) در بستر SSH منتقل میگردد که نام کاربری و کلمه عبور نیز کد گذاری میشود.
در این روش یک فایل یا فولدر را از سرور دیگر از طریق SSH به سرور محلی منتقل میکنیم:
rsync -avzhe ssh root@192.168.0.100:/home/backup.tar /home/
روش ششم:در این روش یک فایل یا فولدر را از طریق SSH از سرور خود به سرور دیگری منتقل میکنیم:
rsync -avzhe ssh /home/backup.tar root@192.168.0.100:/home/
انتقال فایلهای دلخواه با Rsync پروتکل rsync
این قابلیت را دارد که فایلهای خاصی را فاکتور بگیریم که از انتقال آنها جلوگیری کنیم .
از طریق –include و –exclude به راحتی میتوانیم روی جابجایی خاص متمرکز شویم:
در مثال زیر قصد داریم تنها فایلهایی که با حروف اوآنها famaserver است را جابجا کنیم و فایلهایی که حروف آخر آنها .sql است را منتقل نکنیم.
rsync -avze ssh --include 'famaserver*' --exclude '*.sql' root@192.168.0.101:/home/user/ /home/user/
تعیین حجم فایلها یا دایرکتوری
در این روش شما میتوانید تعیین کنید که حداقل و حداکثر حجم فایلها یا دایرکتوری ها چه اندازیه ای باشد:
rsync -avzhe ssh --max-size='600k' /home/user/ root@192.168.0.100:/home/user/ rsync -avzhe ssh --min-size='100k' /home/user/ root@192.168.0.100:/home/user/
محدود کردن سرعت
این قابلیت نیز وجود دارد که فایلها با سرعت معینی جابجا شوند تا ترافیک سرور را مشغول نکنند
rsync --bwlimit=200 -avzhe ssh /home/user/ root@192.168.0.100:/home/user
نمایش وضعیت انتقال
با استفاده از progress میتوانید وضعیت و سرعت و میزان جابجایی را مشاهده کنید.
rsync -avzhe ssh --progress /home/rpmpkgs root@192.168.0.100:/root/rpmpkgs
نتیجهگیری:
استفاده از ابزار Rsync بهعنوان یکی از بهترین راهکارها برای انتقال و همگامسازی فایلها، باعث میشود که مدیریت فایلهای سرور و پشتیبانگیریها بهینهتر و کارآمدتر شود. با بهرهگیری از این ابزار و یادگیری نحوه استفاده صحیح از آن، میتوانید از انتقال سریع، امن، و کمحجم فایلها بهرهمند شوید. بهروز نگهداشتن ابزارها و استفاده از تکنیکهای مناسب همواره به افزایش بهرهوری و امنیت سرورهای شما کمک میکند.
Rsync چیست و چه کاربردی دارد؟
Rsync یک ابزار قدرتمند برای انتقال و همگامسازی فایلها در سیستمهای لینوکسی است که امکان انتقال افزایشی و امن فایلها را از یک سیستم به سیستم دیگر فراهم میکند.
چگونه میتوان Rsync را نصب کرد؟
برای نصب Rsync در سیستمهای لینوکسی، کافی است از دستور sudo apt install rsync
در توزیعهای مبتنی بر Debian و sudo yum install rsync
در توزیعهای مبتنی بر Red Hat استفاده کنید.
مزایای استفاده از Rsync چیست؟
مزایای Rsync شامل انتقال افزایشی، فشردهسازی دادهها برای کاهش پهنای باند، امنیت بالا در انتقال اطلاعات، و توانایی همگامسازی فایلها بهصورت محلی و از راه دور است.
آیا Rsync میتواند فایلها را از طریق SSH انتقال دهد؟
بله، Rsync قابلیت انتقال فایلها از طریق SSH را دارد که امنیت بالاتری را برای انتقال فایلها بین سیستمها فراهم میکند.
چگونه میتوان از Rsync برای پشتیبانگیری استفاده کرد؟
برای پشتیبانگیری با Rsync میتوانید دستور rsync -av --delete /source/ /destination/
را اجرا کنید که فایلها و دایرکتوریها را از منبع به مقصد کپی کرده و هرگونه فایل حذفشده را در مقصد پاک میکند.
ویکی پدیا – فاماسرور