mehdi sedighi
mehdi sedighi
خواندن ۲ دقیقه·۵ سال پیش

نحوه استفاده از Rsync برای همگام سازی فایل ها در لینوکس

مقدمه

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

سنتکس پایه

سنتکس پایه این دستور همانند دستور cp و mv در لینوکس می باشد. برای شروع دو پوشه dir1 و dir2 را ایجاد می کنیم در درون پوشه dir1 با استفاده از دستور touch صد فایل خالی با نام های file1 ... file100 تولید می کنیم.

cd ~
mkdir dir1
mkdir dir2
touch dir1/file{1..100}


با استفاده از دستور ls می توانید محتوی پوشه dir1 ، که شامل ۱۰۰ فایل است را مشاهده کنید.

ls dir1

پوشه dir2 هنوز خالی است حال با استفاده دستور rsync محتوی پوشه dir1 و dir2 را همگام (همسان) می کنیم. اینجا به جای واژه کپی از واژه همگام استفاده کردم چون همگام سازی فقط فایل هایی را به مقصد ارسال می کند که اصلاح شده اند.

rsync -r dir1/ dir2

دستور فوق محتوی پوشه dir1 را به پوشه dir2 منتقل می کند به کاراکتر / در جلوی dir1 دقت کنید در صورتی که این کارکتر در دستور نباشد به جای محتوی پوشه dir1 خود پوشه dir1 با محتوایش درون پوشه dir2 منتقل خواهد شد.

از کلید هایی مختلف می توان برای تغییر در حالت پیش فرض دستور استفاده کرد:

  • کلید r برای انتقال به صورت بازگشتی است زمانی که بخواهیم یک پوشه با زیر پوشه هایش نیز همگام سازی شود از این کلید استفاده می کنیم.
  • کلید a یک پرچم ترکیبی، مخفف عبارت "بایگانی" است و به صورت بازگشتی همگام سازی می کند و پیوندهای نمادین ، پرونده های ویژه و دستگاهها ، زمان اصلاح ، گروه ، مالک و مجوزها را حفظ می کند.
  • کلید v برای نمایش مراحل انتقال اطلاعات استفاده می شود. اگر در حال انتقال پرونده هایی هستید که قبلاً فشرده نشده اند، مانند فایل های متنی، می توانید با اضافه کردن گزینه z ، انتقال شبکه را کاهش دهید.
  • از کلید P برای نمایش سرعت انتقال لحظه ای استفاده می شود

انتقال بر روی ماشین از راه دور

یکی از قابلیت های پر کاربرد این دستور انتقال اطلاعات بر روی ماشین های راه دور است. مثال با دستور زیر محتوی پوشه dir1 به پوشهdestination_directory در ماشین با نام remote_host و کاربری username منتقل می شود.

rsync -a ~/dir1 username@remote_host:destination_directory

برای دریافت فایل های از ماشین راه دور کافی است جای مبدا و مقصد به درستی مشخص شود.


جمع بندی

با استفاده از ابزار rsync می توان وظایف مختلف پشتیانگیری را بر روی ماشین های شبکه طراحی و پیاده سازی کرد.

دستور rsync دارای قابلیت ها و گزینه های مختلفی دارد که به فراخور نیاز می توانید از انها استفاده کنید.


منبع:

برای مطالعه بیشتر و دسترسی به مقالات در همین حوزه می توانید به ادرس زیر مراجعه کنید.

https://www.digitalocean.com/community/tutorials/how-to-use-rsync-to-sync-local-and-remote-directories-on-a-vps


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