بخوانید 6 دقیقه منتشر شده در
Rsync همچنین به عنوان همگام سازی از راه دور معروف است رشته ابزار فرمان خطی که برای کپی و همگام سازی فایل ها و دایرکتوری ها از راه دور و محلی در سیستم های لینوکس / یونیکس مورد استفاده قرار می گیرد. بیشترین استفاده از این ابزار عالی.
چرا اصلاً از دستورات Rsync استفاده می کنید؟
فکر می کردید که می پرسیدید ، پس چرا:
- به طور موثر فایل ها را به سیستم از راه دور یا از آن همگام سازی می کند.
- از کپی پیوندها ، دستگاهها ، مالکان ، گروهها و مجوزها پشتیبانی می کند.
- بسیار سریعتر از Secure Copy (scp) است زیرا از پروتکل به روز رسانی از راه دور برای انتقال داده بین دو مجموعه فایل استفاده می کند. اولین بار که کل محتویات یک فایل یا فهرست را از منبع به مقصد کپی می کند ، دفعه بعد فقط بلوک ها و بایت های تغییر یافته را در مقصد کپی می کند.
- از پهنای باند کمتری استفاده می کند زیرا از روش فشرده سازی و رفع فشار استفاده می کند. هنگام ارسال و دریافت داده ها در دو طرف.
17 دستور مختلف Rsync
نحو Rsync
گزینه های همگام سازی مقصد منبع
General Rsync Arguments
- -r: داده ها را بصورت بازگشتی کپی می کند
- -v: برای خروجی مفصل
- -a: حالت بایگانی که به شما امکان می دهد فایل ها را بصورت بازگشتی کپی کنید. علاوه بر این ، پیوندهای نمادین ، مجوزهای فایل ، کاربر و گروه را نیز حفظ می کند.
- -z: فشرده سازی داده ها.
- -h: فرمت قابل خواندن برای انسان ، خروجی اعداد با فرمت قابل خواندن برای انسان
نصب Rsync در لینوکس
آن را با دستور زیر نصب کنید
yum install rsync (در سیستم عامل RedHat)
apt-get install rsync (در Debian like)
کپی و همگام سازی فایل ها یا دایرکتوری (محلی به یک سایت از راه دور)
این اقدام دایرکتوری ها را از یک ماشین محلی به یک دستگاه از راه دور همگام می کند ، برای مثال ، دستگاه محلی دارای پوشه "rpmpkgs" که حاوی برخی از بسته های RPM است و می خواهید محتویات فهرست محلی به سرور راه دور ارسال شود ، از دستور زیر استفاده کنید:
rsync -avz rpmpkgs / [email protected]: / home /
ارسال فهرست فایل های افزایشی
کپی یا همگام سازی دایرکتوری راه دور با دسکتاپ محلی
این مثال به همگام سازی دایرکتوری راه دور با فهرست محلی کمک می کند.
در مثال زیر ، فهرست / home / shaheer / rpmpkgs از سرور از راه دور در فهرست / tmp / myrpms به سیستم محلی منتقل شده است.
rsync -avzh [email protected]: / home / shaheer / rpmpkgs / tmp / myrpms
دریافت لیست فایل های افزایشی
ایجاد دایرکتوری / tmp / myrpms
این مثال یک فایل را در دستگاه محلی از مکانی به مکان دیگر همگام می کند.
در مثال ، فایلی با نام backup.tar باید کپی یا همزمان با / tmp / backups / شود پوشه. rsync -zvh yourfiles.tar / tmp / yourfiles /
ایجاد دایرکتوری / tmp / yourfiles
yourfiles.tar
دستور زیر باید همه فایلها را از یک فهرست به پوشه دیگر در همان دستگاه منتقل یا همگام سازی کند. / tmp folder / backups /.
resync -avzh / root / rpmpkgs / tmp / yourdekifiles /
ارسال لیست فایل های افزایشی
rpmpkgs /
نمایش پیشرفت انتقال Rsync
ما از گزینه -progress برای نمایش پیشرفت انتقال داده ها از یک دستگاه به دستگاه دیگر استفاده می کنیم.
همچنین فایل ها و زمان باقی مانده تا کامل شدن انتقال را نمایش می دهد. [19659015] ] rsync -avzhe ssh --progress / home / rpmpkgs
Rsync over SSH
با این پروتکل می توانیم از SSH (پوسته امن) برای انتقال داده ها استفاده کنیم ، با استفاده از این پروتکل در ارتباطات شبکه ، می توانیم اطمینان حاصل کنید که داده ها در یک اتصال امن با رمزگذاری منتقل می شوند و هیچ کس نمی تواند داده ها را در حین انتقال آن بخواند.
همچنین ، هنگام استفاده از این پروتکل ، ما باید رمز کاربر / کاربر اصلی را برای انجام یک کار خاص ارائه دهیم ، بنابراین هنگام استفاده از این گزینه ، ورود به سیستم به صورت رمزگذاری شده منتقل می شود ، بنابراین رمز عبور ایمن می ماند.
پشتیبان گیری از پرونده ها از سرور ابری به سرور میزبانی شده محلی از طریق SSH
برای تعیین پروتکل ، باید گزینه -e را با نام پروتکلی که می خواهید استفاده کنید مشخص کنید.
در مثال ، ما از ssh با گزینه -e و انتقال داده ها استفاده می کنیم.
rsync -avzhe ssh [email protected]. 1.200: /root/install.log / tmp /
کپی یک فایل از سرور محلی به سرور راه دور با استفاده از SSH
rsync -avzhe ssh backup.tar [email protected]: / dekibackup /
Rsync -delete
اگر یک فایل یا فهرست در منبع وجود ندارد ، اما در مقصد وجود دارد ، ممکن است بخواهید آن فایل یا فهرست موجود را در حین همگام سازی حذف کنید.
از گزینه حذف می توان برای حذف فایلی که در فهرست اصلی وجود ندارد ، استفاده کرد.
rsync -avz -حذف [email protected]: / var / lib / rpm /
تنظیم حداکثر اندازه فایل برای اولین انتقال
کاربران می توانند حداکثر اندازه فایل را برای انتقال یا همگام سازی تعیین کنند.
این می تواند با استفاده از پارامتر -max -size انجام دهید.
در مثال ، حداکثر اندازه 200k است ، بنابراین فرمان فقط فایلهای مساوی یا کمتر از این اندازه را منتقل می کند.
rsync -avzhe ssh --max-size = '400k' / var / lib / rpm / [email protected]: / root / tmprpm
رمز [email protected]:
ارسال لیست فایل های افزایشی
ایجاد دایرکتوری / root / tmprpm
./
بیایید یک آزمایش آزمایشی با Sync انجام دهیم
اگر مبتدی هستید و نمی دانید فرمان شما چه کاری انجام می دهد ، می توانید از "اجرای خشک" استفاده کنید.
این می تواند همه چیز را خراب کند پوشه مقصد ، و واگرد می تواند بسیار خسته کننده باشد
استفاده از این گزینه هیچ تغییری ایجاد نمی کند ، اما فقط یک فرمان را اجرا می کند و خروجی فرمان را نشان می دهد ، اگر خروجی همان نتیجه ای را که می خواهید انجام دهید نشان دهد ، سپس می توانید گزینه -dry-run را از فرمان حذف کرده و فرمان مبارزه را در ترمینال اجرا کنید. /
mybackup.tar
نتیجه گیری
همگام سازی از راه دور ابزاری عالی است که پشتیبان گیری و انتقال داده ها بین سرورها را برای بسیاری از sysadmins آسان کرده است.
به همین دلیل است که من دانش خود را در مورد نمونه های عملی دستورات Rsync به اشتراک گذاشتم. می تواند برای پشتیبان گیری ، SSH ، انتقال دایرکتوری و همگام سازی استفاده شود.
مراجعه کنید. همچنین: