rsync

rsync يك ابزار سريع و بسيار انعطاف پذير براي كپي كردن فايل مي باشد. اين نرم افزار مي تواند از طريق يك remote shell و يا از طريق سرويس rsync به كپي كردن يك فايل يا دايركتوري به / از يك سيستم در يك شبكه بپردازد. rsync مي تواند براي منطبق سازي فايلها و دايركتوري هاي در حال تغيير در يك سيستم با سيستم ديگر به كار رود، اين نرم افزار براي اين كار از الگوريتم دلتا استفاده مي كند تا تنها با در نظر گرفتن تغييرات موجود در فايل مبدا و اعمال اين تغييرات در فايل مقصد، باعث كاهش داده هاي در حال انتقال بروي شبكه گردد. rsync بيشتر براي عمل backup و mirroring به كار مي رود.
rsync با استفاده از يك الگوريتم به نام quick check به دنبال فايلهايي كه نياز به انتقال دارند مي گردد، اين اگوريتم به سراغ فايلهايي مي رود كه سايز آنها و يا زمان آخرين اصلاح در آنها عوض شده است. در صورت تشخيص الگوريتم به عدم نياز فايل به بروزرساني، مي توان با استفاده از گزينه هاي rsync مواردي را كه در فايل مبدا تغيير كرده است را به فايل مقصد منتقل كنيم.
برخي از مشخصهاي rsync عبارتند از:

  • پشتيباني از كپي كردن اطلاعات مربوط به فايل مثل لينكها، device ها، مالكها، گروهها، و مجوزهاي دسترسي به فايلها.
  • تعيين كردن برخي استثنائات با استفاده از گزينه هاي rsync (با استفاده از اين وي‍‍‍ژگي مي توانيم تعيين كنيم كه برخي از فايلها يا دايركتوري ها كپي نشود).
  • ناديده گرفتن فايلهاي مشابهي كه در يك CVS در نظر گرفته نشده است.
  • عدم نياز به مجوز كاربر ريشه.
  • قابليت استفاده از remote-shell هاي مثل rsh و ssh.
  • پشتيباني استفاده از سرويس rsync به صورت authenticated يا anonymous ( اين وي‍ژگي براي mirroring سودمند است‌).

rsync قابليت كپي كردن فايل به / از يك سيستم دور و يا به صورت محلي بروي يك سيستم را دارد. (اين نرم افزار عمل كپي كردن فايل بين دو سيستم دور را پشتيباني نمي كند).
دور روش متفاوت براي ارتباط با يك سيستم دور در rsync وجود دارد:

  • استفاده از يك برنامه remote-shell براي انتقال (مثل ssh يا rsh ).
  • برقراري ارتباط با يك سرويس rsync به طور مستقيم و از طريق پروتكل TCP.