کاراکتر همگام آر ، به عنوان کاراکتر دور شناخته میشود . کاراکتر همگام آر ، به منظور گرفتن اطلاعات پشتیبانی در Unix /Linux استفاده میشود . آر سینک به منظور هماهنگ کردن فایل ها و داده ها راهنمای کتابخانه ای از یک محل به محل دیگر استفاده میشود . مکان اطلاعات بازیابی شده ممکن است بر روی یک گیرنده ی محلی و یا غیر محلی (دور ) قرار گیرد .
ویژگی های مهمrcync :
سرعت : در دفعات اول ، rcync کل داده ها را بین اطلاعات اصلی کتاب خانه ای و داده های نهایی ، تکرار میکند .
در دفعات بعدی rcync تنها اطلاعات و بایت های تغییر داده شده را به محل نهایی انتقال میدهد که این عامل سرعت انتقال داده را تسریع میکند .
امنیت : rcync به پنهان کردن داده ها توسط اس اس اِچ در طول انتقال آنها کمک میکند
پهنای باند کمتر : rsync از فشرده سازی و آزاد سازی اطلاعات ( داده ها ) و ایجاد سد در مقابل در یافت و انتقال داده ها استفاده میکند . بنابر این پهنای باند استفاده شده توسط rsyncاز دیگر پروتکل ها کمتر میباشد .
برتری : هیچ برتری به خصوصی لازمه ی اجرا و نصب rsync نمیباشد .
$ rsync options source destination
مثال 1:منبع و مقصد به طور همزمان میتوانند محلی یا غیر محلی ( دور ) باشند .
$ rsync -zvr /var/opt/installation/inventory/ /root/temp
building file list ... done
sva.xml
svB.xml
.
sent 26385 bytes received 1098 bytes 54966.00 bytes/sec
total size is 44867 speedup is 1.63
$
در مورد داده های جزئی ( غیر محلی ) اسم ورود ( passwordاسم جزئی سرور و محل آن باید شناسایی شود .
برای هماهنگ سازی داده های کتابخانه ای در یک گیرنده محلی به دستورات زیر توجه شود .
اکنون اجازه دهید ماژول تایم را در یکی از فایل هایی که از منبع به مقصد کپی شده است را ببینید. همانطور که در زیر مشاهده می کنید، rsync در هنگام همگام سازی نشانه های زمانی را حفظ نمی کند.
$ ls -l /var/opt/installation/inventory/sva.xml /root/temp/sva.xml
-r--r--r-- 1 bin bin 949 Jun 18 2009 /var/opt/installation/inventory/sva.xml
-r--r--r-- 1 root bin 949 Sep 2 2009 /root/temp/sva.xml
مثال۲: ذخیره همزمان timestamps در همگام سازی با استفاده از rsync –
گزینه ی rsync _aمعرف یک حالت آرشیوی است .
در حال حاضر، اجرای همان فرمان ارائه شده در مثال 1 (اما با گزینه rsync -a) همانطور که در زیر نشان داده شده است:
همانطور که در زیر مشاهده میکنید، rsync در زمان همگامسازی تایمرهای زمانی را حفظ کرده است
$ rsync -azv /var/opt/installation/inventory/ /root/temp/
building file list ... done
./
sva.xml
svB.xml
.
sent 26499 bytes received 1104 bytes 55206.00 bytes/sec
total size is 44867 speedup is 1.63
$
$ ls -l /var/opt/installation/inventory/sva.xml /root/temp/sva.xml
-r--r--r-- 1 root bin 949 Jun 18 2009 /var/opt/installation/inventory/sva.xml
-r--r--r-- 1 root bin 949 Jun 18 2009 /root/temp/sva.xml
مثال 3. همگام سازی تنها یک فایل
برای کپی تنها یک فایل، نام فایل را به دستور rsync مشخص کنید، همانطور که در زیر نشان داده شده است .
$ rsync -v /var/lib/rpm/Pubkeys /root/temp/
Pubkeys
sent 42 bytes received 12380 bytes 3549.14 bytes/sec
total size is 12288 speedup is 0.99
مثال 4. هماهنگ سازی فایل ها از محلی تا جزئی .
آر سینک به شما اجازه می دهد تا فایل ها / دایرکتوری ها را بین سیستم محلی و جزئی همگام سازی کنید .
$ rsync -avz /root/temp/ thegeekstuff@192.168.200.10:/home/thegeekstuff/temp/
Password:
building file list ... done
./
rpm/
rpm/Basenames
rpm/Conflictname
sent 15810261 bytes received 412 bytes 2432411.23 bytes/sec
total size is 45305958 speedup is 2.87
هنگام انجام هماهنگ سازی با سرور جزئی ، شما باید نام کاربری و آی پی آدرس سرور جزئی را مشخص کنید. شما همچنین باید راهنمای مقصد را در سرور جزئی مشخص کنید. فرمت عبارت است از نام کاربری @نام ماشین : مسیر
همانطور که در بالا مشاهده می کنید، در هنگام انجام rsync از محلی به سرور جزئی ; درخواست رمز عبور می شود
گاهی اوقات شما نمی خواهید رمز عبور را وارد کنید در زمانی که باز یابی اطلاعات از فایل ها از محلی به جزئی صورت میگیرد به عنوان مثال، اگر یک متن پوسته پشتیبان دارید، که فایل ها را از سرور محلی به سرور جزئی با استفاده از rsync کپی می کند، نیازی به توانایی rsync برای وارد کردن رمز عبور نمیباشد
مثال 5: انطباق ; سازی فایل ها از جزئی به محلی:
وقتی میخواهید فایلها را از جزئی; به محلی منطبق; کنید، مسیر جزئی; را در; منبع و محلی در مقصد مشخص کنید، همانطور که در زیر نشان داده شده است.
$ rsync -avz thegeekstuff@192.168.200.10:/var/lib/rpm /root/temp
Password:
receiving file list ... done
rpm/
rpm/Basenames
.
sent 406 bytes received 15810230 bytes 2432405.54 bytes/sec
total size is 45305958 speedup is 2.87
مثال 6. برنامه های (موقت ) جزئی برای همگام سازی
ری سینک ; به شما اجازه می دهد تا برنامه ; های جزئی را که می خواهید استفاده کنید مشخص کنید. شما می توانید rsync ssh را برای فعال کردن اتصال از راه دور ایمن استفاده کنید
از rsync -e ssh استفاده کنید تا مشخص کنید کدام برنامه جزئی ; استفاده می شود. در این مورد، rsync از SSH استفاده خواهد کرد.
$ rsync -avz -e ssh thegeekstuff@192.168.200.10:/var/lib/rpm /root/temp
Password:
receiving file list ... done
rpm/
rpm/Basenames
sent 406 bytes received 15810230 bytes 2432405.54 bytes/sec
total size is 45305958 speedup is 2.87
مثال ۷ : فایل های اصلاح شده را در مقصد رونویسی نکنید
در وضعیت همگام سازی معمولی، اگر یک فایل در مقصد تغییر کند، ممکن است ما نمی خواهیم فایل را با فایل قدیمی از منبع بازنویسی کنیم.
از rsync -u ابه این منظور میتوانید ستفاده کنید. (به این معنی که فایل در مقصد را بازنویسی نکنید، اگر اصلاح شده باشد). در مثال زیر، فایل Basenames قبلا در مقصد اصلاح شده است. بنابراین، با rsync -u رونویسی نخواهد شد.
$ ls -l /root/temp/Basenames
total 39088
-rwxr-xr-x 1 root root 4096 Sep 2 11:35 Basenames
$ rsync -avzu thegeekstuff@192.168.200.10:/var/lib/rpm /root/temp
Password:
receiving file list ... done
rpm/
sent 122 bytes received 505 bytes 114.00 bytes/sec
total size is 45305958 speedup is 72258.31
$ ls -lrt
total 39088
-rwxr-xr-x 1 root root 4096 Sep 2 11:35 Basenames
مثال ۸ : تنها ساختار درختی راهنما را همگام سازی کنید (نه فایل ها)
از گزینه rsync -d برای همگام سازی فقط درخت دایرکتوری از منبع به مقصد استفاده کنید. در مثال زیر، تنها ساختار درختی راهنما با استفاده از روش بازگشتی هماهنگ شود، نه فایلهای موجود در فهرست راهنما .
$ rsync -v -d thegeekstuff@192.168.200.10:/var/lib/ .
Password:
receiving file list ... done
logrotate.status
CAM/
YaST2/
acpi/
sent 240 bytes received 1830 bytes 318.46 bytes/sec
total size is 956 speedup is 0.46
مثال 9. مشاهده پیشرفت rsync در هنگام انتقال
هنگام استفاده از rsync برای پشتیبان، ممکن است بخواهید پیشرفت اطلاعات بازبینی شده را را بدانید . بدین معنی که چه تعداد فایل ها کپی هستند، و در چه سطحی کپی کردن فایل صورت میگیرد .
گزینه rsync-progress نشان دهنده پیشرفت دقیقی از اجرای rsync است که در زیر نشان داده شده است.
$ rsync -avz --progress thegeekstuff@192.168.200.10:/var/lib/rpm/ /root/temp/
Password:
receiving file list ...
19 files to consider
./
Basenames
5357568 100% 14.98MB/s 0:00:00 (xfer#1, to-check=17/19)
Conflictname
12288 100% 35.09kB/s 0:00:00 (xfer#2, to-check=16/19)
.
.
.
sent 406 bytes received 15810211 bytes 2108082.27 bytes/sec
total size is 45305958 speedup is 2.87
مثال 10. حذف فایل های ایجاد شده در هدف
اگر یک فایل در منبع وجود نداشته باشد، اما در هدف قرار داشته باشد ، ممکن است بخواهید فایل را در هنگام هدف گذاری در rsync حذف کنید.
در این مورد، از گزینه -delete استفاده کنید همانطور که در زیر نشان داده شده است. گزینه حذف rsync حذف فایل هایی که در راهنمای کتابخانه ای مرجع وجود ندارد را انجام میدهد .
# Source and target are in sync. Now creating new file at the target.
$ > new-file.txt
$ rsync -avz --delete thegeekstuff@192.168.200.10:/var/lib/rpm/ .
Password:
receiving file list ... done
deleting new-file.txt
./
sent 26 bytes received 390 bytes 48.94 bytes/sec
total size is 45305958 speedup is 108908.55
داده های هدف فایل جدیدی با عنوان file txt زمانی که با فایل هدف هماهنگی ایجاد میکنند ، دارند ، گزینه delete فایل txt را پاک میکند .
مثال 11. فایل جدید را در مقصد ایجاد نکنید
اگر دوست دارید، می توانید تنها فایل های موجود در هدف را به روز کنید (همگام سازی کنید). در صورتی که منبع دارای فایل های جدید است که در هدف وجود ندارد، می توانید از ایجاد این فایل های جدید در هدف جلوگیری کنید. اگر می خواهید این ویژگی، از گزینه -existing با دستور rsync استفاده کنید.
ابتدا فایل جدید-file.txt را در منبع اضافه کنید.
[/var/lib/rpm ]$ > new-file.txt
بعد، rsync را از هدف اجرا کنید .
$ rsync -avz --existing root@192.168.1.2:/var/lib/rpm/ .
root@192.168.1.2's password:
receiving file list ... done
./
sent 26 bytes received 419 bytes 46.84 bytes/sec
total size is 88551424 speedup is 198991.96
اگر خروجی بالا را ببینید، فایل جدید new-file.txt را دریافت نکرده است .
مثال 12. مشاهده تغییرات بین منبع و مقصد
این گزینه برای مشاهده تفاوت در فایل ها یا دایرکتوری ها بین منبع و مقصد مفید است.
$ ls -l /var/lib/rpm
-rw-r--r-- 1 root root 5357568 2010-06-24 08:57 Basenames
-rw-r--r-- 1 root root 12288 2008-05-28 22:03 Conflictname
-rw-r--r-- 1 root root 1179648 2010-06-24 08:57 Dirnames
$ ls -l /root/temp
-rw-r--r-- 1 root root 12288 May 28 2008 Conflictname
-rw-r--r-- 1 bin bin 1179648 Jun 24 05:27 Dirnames
-rw-r--r-- 1 root root 0 Sep 3 06:39 Basenames
در مثال بالا، بین منبع و مقصد، دو تفاوت وجود دارد. اول، مالک و گروه فایل Dirname متفاوت است. بعد، اندازه فایل های Basenames متفاوت است.
حالا اجازه دهید ببینیم چگونه rsync این تفاوت را نشان می دهد. گزینه -i تغییرات آیتم را نمایش می دهد.
$ rsync -avzi thegeekstuff@192.168.200.10:/var/lib/rpm/ /root/temp/
Password:
receiving file list ... done
>f.st.... Basenames
.f....og. Dirnames
sent 48 bytes received 2182544 bytes 291012.27 bytes/sec
total size is 45305958 speedup is 20.76
در خروجی 9 حرف در مقابل نام فایل یا نام دایرکتوری که نشان دهنده تغییرات است نمایش می دهد.
در مثال ما، حروف در مقابل Basenames (و Dirnames) موارد زیر را می گوید:
> specifies that a file is being transferred to the local host.
f represents that it is a file.
s represents size changes are there.
t represents timestamp changes are there.
o owner changed
g group changed.
مثال 13. شامل الگوی درج و انتقال فایل و ( همچنین ) خالی از آن است
rsync به شما اجازه می دهد تا الگوی مورد نظر خود را در هنگام انجام هماهنگ سازی به فایل ها و دایرکتوری ها اضافه یا از آن حذف کنید.
$ rsync -avz --include 'P*' --exclude '*' thegeekstuff@192.168.200.10:/var/lib/rpm/ /root/temp/
Password:
receiving file list ... done
./
Packages
Providename
Provideversion
Pubkeys
sent 129 bytes received 10286798 bytes 2285983.78 bytes/sec
total size is 32768000 speedup is 3.19
در مثال بالا، این شامل تنها فایل ها یا دایرکتوری هایی است که از 'P' شروع می شوند (با استفاده از rsync include) و تمام فایل های دیگر را حذف می کند. (با استفاده از rsync exclude '*')
مثال 14. فایل های بزرگ را انتقال ندهید
شما می توانید با استفاده از rsync فایل هایی که بیشتر از یک اندازه خاص است را با استفاده از گزینه rsync -max-size از انتقال آن جلو گیری کنید .
$ rsync -avz --max-size='100K' thegeekstuff@192.168.200.10:/var/lib/rpm/ /root/temp/
Password:
receiving file list ... done
./
Conflictname
Group
Installtid
Name
Sha1header
Sigmd5
Triggername
sent 252 bytes received 123081 bytes 18974.31 bytes/sec
total size is 45305958 speedup is 367.35
max-size = 100K باعث می شود rsync تنها فایل هایی را که کمتر از 100K هستند و یا مساوی آنها را داشته باشند انتقال دهد. شما می توانید برای مگابایت و G برای گیگابایت را نشان دهید.
مثال 15. انتقال فایل کامل
یکی از ویژگی های اصلی rsync این است که تنها انتقال بلوک ( سد ) های تغییر یافته را به مقصد به جای ارسال کل فایل انجام می دهد.
اگر پهنای باند شبکه مسئله ای برای شما نیست (اما CPU است)، شما می توانید کل فایل را با استفاده از گزینه rsync -W منتقل کنید. این باعث می شود روند rsync را سریعتر کند، زیرا لازم نیست که مجموعه اطلاعاتی را در منبع و مقصد اجرا و منتقل کند .[1]
# rsync -avzW thegeekstuff@192.168.200.10:/var/lib/rpm/ /root/temp
Password:
receiving file list ... done
./
Basenames
Conflictname
Dirnames
Filemd5s
Group
Installtid
Name
sent 406 bytes received 15810211 bytes 2874657.64 bytes/sec
total size is 45305958 speedup is 2.87
: https://www.thegeekstuff.com/2010/09/rsync-command-examples/ [1]
یاسر نیکی و محمد رضا مظلومی