فرمان Rsync (Remote sync) ابزاریست فوق العاده سریع برای کپی و همگام سازی فایل ها و دایرکتوری ها ، این فرمان قادر است عملیات کپی را در یک سرور محلی و یا مابین دو سرور مختلف انجام دهد. ابزار Rsync گزینه های زیادی جهت کنترل عمیات کپی بر روی فایل ها ارائه می دهد.
Rsync از الگوریتم delta-transfer برای کپی کردن فایل ها استفاده می کند. این الگوریتم تنها تفاوت ها بین فایل های مبدا و فایل های موجود در مقصد را انتقال می دهد. و همین امر باعث کاهش داده های ارسال شده در شبکه می شود.
Rsync با استفاده از یک الگوریتم “quick check” با جستجوی فایل هایی که سایز آنها تغییر پیدا کرده است فایل های که نیاز به کپی دارند را مشخص می کند. هرگونه تغییر در ویژگی فایل ها حتی زمانی که فایل ها نیاز به کپی شدن ندارند در فایل ها ی مقصد نیز اعمال می شود.
فرمان Rsync از فرمان SCP سریع تر عمل می کند زیرا Rsync از پروتکل Remote-update استفاده می کند و این پروتکل تنها تفاوت های بین دو مجموعه از فایل ها را انتقال می دهد. بدین صورت که بار اول تمام محتوای فایل ها و یا پوشه ها را در مقصد کپی می کند و در دفعات بعدی تنها بلوک های تغییر یافته را در مقصد کپی می کند.
Rsync عملیات کپی را بین دو هاست روی یک سرور محلی و یا روی یک سرور محلی و یک سرور ریموت انجام می دهد و کپی بین دو سرور ریموت را پشتیبانی نمی کند.
برای استفاده از دستور Rsync دو روش متفاوت وجود دارد.
1- استفاده از نرم افزار های Remote-shell مانند SSH ، RSH
2- اتصال مستقیم از طریق TCP
از Remote-shell زمانی استفاده می شود که مسیرهای مبدا و یا مقصد شامل علامت : بعد از مشخصات هاست باشد. و زمانی از اتصال مستقیم استفاده می شود که از علامت :: در آدرس مبدا و یا مقصد استفاده شده باشد.
فرم اصلی دستور Rsync
1 |
Rsync parameters source path destination path |
پارامتر های دستور Rsync
پارامتر v- نمایش جزئیات
پارامتر r- داده ها را بصورت بازگشتی کپی می کند
پارامتر a- حالت آرشیو، حالت آرشیو اجازه می دهد تا فایل ها بصورت بازگشتی کپی شوند همچنین لینک های نمادین ، دسترسی فایل ها، مالکیت ها و برچسب های زمانی را حفظ می کند.
پارامتر z- فشرده سازی داده ها
پارامتر h- خروجی خوانا و قابل فهم برای انسان
- کپی و همگام سازی فایل ها و دایرکتوری ها روی یک سیستم محلی
-کپی و همگام سازی یک فایل بر روی یک سیستم محلی
دستور زیر یک فایل را از یک مسیر به مسیر دیگری کپی و همگام سازی می کند. در این مثال فایلی با نام list.txt از مسیر home/client به مسیر home/tmp/backup کپی و sync می شود.
1 |
rsync -zvh /home/client/list.txt /home/tmp/backup |
-کپی و همگام سازی یک دایرکتوری بر روی یک سیستم محلی
دستور زیر یک تمام فایل های موجود در دایرکتوری client را به دایرکتوری backup در همان سیستم کپی و همگام سازی می کند.
1 |
rsync -avzh /home/client/ /home/tmp/backup |
- کپی و همگام سازی فایل ها و دایرکتوری ها بر روی/ از روی یک سرور
-کپی و همگام سازی یک دایرکتوری از سرور محلی به یک سرور ریموت
دستور زیر یک دایرکتوری را از یک سیستم محلی بر روی یک سیستم ریموت کپی و همگام سازی می کند. در این مثال فایلی به backup.tar از روی کامپیوتر شما بر روی یک سرور ریموت که از شما دور است کپی و همگام سازی می شود.
1 |
rsync -avz /home/client/backups/ root@remote_server_ip:/home/tmp |
– کپی و همگام سازی فایل ها و دایرکتوری ها از روی یک سرور ریموت به سرور محلی
دستور زیر یک فایل از سرور ریموت به یک دایرکتوری محلی کپی و همگام سازی می شود. در این مثال دایرکتوری backup در سیستم محلی شما و در مسیر home/tmp/backup-temp کپی و همگام سازی می شود.
1 |
rsync -avz root@remote_server_ip:/home/remote-backup/backup.tar /home/tmp/backup-temp |
دستور Rsync با شماره پورت های غیر استاندارد SSH
1 |
rsync -arvz -e '<strong>ssh -p <port-number></strong>' username@remote_server_ip:/path/to/remote/folder /path/to/local/folder |
در مثال زیر با شماره پورت 1234 برای SSH تمام فایل های موجود در دایرکتوری remote-backups به دایرکتوری backups کپی و همگام سازی می شود.
1 |
rsync -arvz -e 'ssh -p 1234' root@remote_server_ip:/home/remote-backups/ /home/tmp/backups |
Latest posts by مریم عبدالملکی (see all)
- نصب MySQL روی Ubuntu 14.04 LTS server - تیر ۳۰, ۱۳۹۹
- جلوگیری از حملات DDOS در سرور های مجازی تحت ویندوز - تیر ۱۶, ۱۳۹۹
- Docker چیست؟ - خرداد ۲۶, ۱۳۹۹