ایستگاه های کاری آنلاین OnWorks Linux و Windows

لوگو

میزبانی آنلاین رایگان برای ایستگاه های کاری

<قبلی | فهرست | بعدی>

همگام سازی فایل ها و دایرکتوری ها

یک استراتژی متداول برای نگهداری یک نسخه پشتیبان از یک سیستم شامل همگام سازی یک یا چند دایرکتوری با دایرکتوری (یا دایرکتوری) دیگری است که در سیستم محلی (معمولاً نوعی دستگاه ذخیره سازی قابل جابجایی) یا یک سیستم راه دور قرار دارد. برای مثال، ممکن است یک کپی محلی از یک وب سایت در دست توسعه داشته باشیم و هر از چند گاهی آن را با کپی «زنده» در یک وب سرور راه دور همگام سازی کنیم.

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

rsync به این صورت فراخوانی می شود:

rsync مقصد منبع گزینه ها

جایی که منبع و مقصد یکی از موارد زیر هستند:


● یک فایل یا فهرست محلی

● یک فایل یا فهرست راه دور به شکل [user@]host: path

● یک سرور rsync راه دور که با URI مشخص شده است rsync://[user@]host[:port]/path

توجه داشته باشید که منبع یا مقصد باید یک فایل محلی باشد. کپی از راه دور به راه دور پشتیبانی نمی شود.

بیایید امتحان کنیم rsync در برخی از فایل های محلی اول، بیایید خود را تمیز کنیم فو دایرکتوری:


[me@linuxbox ~]$ rm -rf foo/*

[me@linuxbox ~]$ rm -rf foo/*


بعد، ما را همگام می کنیم زمین بازی دایرکتوری با یک کپی مربوطه در فو:


[me@linuxbox ~]$ rsync -av زمین بازی foo

[me@linuxbox ~]$ rsync -av زمین بازی foo


ما هر دو را گنجانده ایم -a گزینه (برای بایگانی-باعث بازگشت و حفظ صفات فایل) و -v گزینه (خروجی گویا) برای ساختن a آینه از زمین بازی دایرکتوری داخل فو. در حالی که دستور اجرا می شود، لیستی از فایل ها و دایرکتوری های در حال کپی را مشاهده خواهیم کرد. در پایان، یک پیام خلاصه مانند این را خواهیم دید:



ارسال شده 135759 بایت دریافت شده 57870 بایت 387258.00 بایت در ثانیه حجم کل 3230 است افزایش سرعت 0.02

ارسال شده 135759 بایت دریافت شده 57870 بایت 387258.00 بایت در ثانیه حجم کل 3230 است افزایش سرعت 0.02


که میزان کپی انجام شده را نشان می دهد. اگر دوباره دستور را اجرا کنیم، نتیجه متفاوتی خواهیم دید:



[me@linuxbox ~]$ rsync -av playgound foo

لیست فایل ساخت ... انجام شد


ارسال شده 22635 بایت دریافت شده 20 بایت 45310.00 بایت در ثانیه حجم کل 3230 است افزایش سرعت 0.14

[me@linuxbox ~]$ rsync -av playgound foo

لیست فایل ساخت ... انجام شد


ارسال شده 22635 بایت دریافت شده 20 بایت 45310.00 بایت در ثانیه حجم کل 3230 است افزایش سرعت 0.14


توجه داشته باشید که هیچ لیستی از فایل ها وجود ندارد. این به دلیل این هست که rsync تشخیص داد که هیچ تفاوتی بین آنها وجود ندارد ~/زمین بازی و ~/foo/زمین بازی، و بنابراین نیازی به کپی کردن چیزی نیست. اگر فایلی را در آن اصلاح کنیم زمین بازی و اجرا rsync از نو:


[me@linuxbox ~]$ زمین بازی لمسی/dir-099/file-Z [me@linuxbox ~]$ rsync -av زمین بازی foo لیست فایل ساخت ... انجام شد

زمین بازی/dir-099/file-Z

ارسال شده 22685 بایت دریافت شده 42 بایت 45454.00 بایت در ثانیه حجم کل 3230 است افزایش سرعت 0.14

[me@linuxbox ~]$ زمین بازی لمسی/dir-099/file-Z [me@linuxbox ~]$ rsync -av زمین بازی foo لیست فایل ساخت ... انجام شد

زمین بازی/dir-099/file-Z

ارسال شده 22685 بایت دریافت شده 42 بایت 45454.00 بایت در ثانیه حجم کل 3230 است افزایش سرعت 0.14


ما آن را می بینیم rsync تغییر را شناسایی کرد و فقط فایل به روز شده را کپی کرد.

به عنوان یک مثال عملی، بیایید هارد اکسترنال خیالی را که قبلاً با آن استفاده کردیم، در نظر بگیریم قیر. اگر درایو را به سیستم خود متصل کنیم و یک بار دیگر در آن نصب شود /me- dia/BigDisk، می توانیم با ایجاد یک دایرکتوری به نام یک نسخه پشتیبان مفید از سیستم انجام دهیم /پشتیبان گیری روی درایو خارجی و سپس استفاده کنید rsync برای کپی کردن مهمترین چیزها از سیستم خود در درایو خارجی:



[me@linuxbox ~]$ mkdir /media/BigDisk/backup

[me@linuxbox ~]$ sudo rsync -av --delete /etc /home /usr/local

/media/BigDisk/پشتیبان گیری

[me@linuxbox ~]$ mkdir /media/BigDisk/backup

[me@linuxbox ~]$ sudo rsync -av --delete /etc /home /usr/local

/media/BigDisk/پشتیبان گیری


در این مثال، ما را کپی کردیم /و غیره, / صفحه اصلیو / usr / محلی دایرکتوری ها از سیستم ما به دستگاه ذخیره سازی خیالی ما. ما شامل --حذف گزینه ای برای حذف فایل هایی که ممکن است در دستگاه پشتیبان وجود داشته باشند و دیگر در دستگاه منبع وجود نداشته باشند (این اولین باری که ما یک نسخه پشتیبان تهیه می کنیم بی ربط است، اما در کپی های بعدی مفید خواهد بود). تکرار رویه اتصال درایو خارجی و اجرای آن rsync دستور می تواند یک راه مفید (البته نه ایده آل) برای پشتیبان گیری از یک سیستم کوچک باشد. البته، نام مستعار در اینجا نیز مفید خواهد بود. ما می توانیم یک نام مستعار ایجاد کنیم و آن را به ما اضافه کنیم

فایل bashrc. برای ارائه این ویژگی:


نام مستعار backup='sudo rsync -av --delete /etc /home /usr/local

/media/BigDisk/backup'

نام مستعار backup='sudo rsync -av --delete /etc /home /usr/local

/media/BigDisk/backup'


اکنون تنها کاری که باید انجام دهیم این است که درایو خارجی خود را متصل کرده و آن را اجرا کنیم پشتیبان دستور انجام کار


 

برترین سیستم عامل Cloud Computing در OnWorks: