این دستور rsync است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.
برنامه:
نام
rsync - یک ابزار کپی فایل سریع، همه کاره، از راه دور (و محلی).
خلاصه
محلی: rsync [OPTION...] SRC... [DEST]
دسترسی از طریق پوسته راه دور:
کشش: rsync [OPTION...] [USER@]HOST:SRC... [DEST]
فشار: rsync [OPTION...] SRC... [USER@]HOST:DEST
دسترسی از طریق rsync daemon:
کشش: rsync [OPTION...] [USER@]HOST::SRC... [DEST]
rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]
فشار: rsync [OPTION...] SRC... [USER@]HOST::DEST
rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST
استفادههایی که فقط با یک آرگ SRC و بدون آرگ DEST وجود دارد، فایلهای منبع را بهجای فهرستبندی میکند
کپی برداری.
شرح
Rsync یک ابزار کپی فایل سریع و فوق العاده همه کاره است. می تواند به صورت محلی کپی کند،
به/از میزبان دیگری روی پوسته راه دور، یا به/از یک شبح rsync راه دور. الف را ارائه می دهد
تعداد زیادی گزینه که هر جنبه ای از رفتار آن را کنترل می کند و اجازه می دهد بسیار انعطاف پذیر باشد
مشخصات مجموعه فایل هایی که باید کپی شوند. به دلیل انتقال دلتا معروف است
الگوریتمی که با ارسال تنها مقدار داده های ارسالی از طریق شبکه را کاهش می دهد
تفاوت بین فایل های منبع و فایل های موجود در مقصد. Rsync است
به طور گسترده برای پشتیبان گیری و آینه سازی و به عنوان یک دستور کپی بهبود یافته برای استفاده روزمره استفاده می شود.
Rsync فایل هایی را پیدا می کند که باید با استفاده از الگوریتم "بررسی سریع" (به طور پیش فرض) منتقل شوند.
که به دنبال فایل هایی می گردد که اندازه یا در آخرین زمان تغییر یافته اند. هر گونه تغییر در
سایر صفات حفظ شده (طبق درخواست گزینه ها) در فایل مقصد ساخته می شوند
مستقیماً زمانی که بررسی سریع نشان می دهد که داده های فایل نیازی به به روز رسانی ندارد.
برخی از ویژگی های اضافی rsync عبارتند از:
o پشتیبانی از کپی لینک ها، دستگاه ها، مالکان، گروه ها و مجوزها
o گزینه های مشابه گنو tar را حذف و حذف کنید
oa حالت حذف CVS برای نادیده گرفتن همان فایل هایی که CVS نادیده می گیرد
o می توانید از هر پوسته از راه دور شفاف، از جمله ssh یا rsh استفاده کنید
o به امتیازات فوق کاربر نیاز ندارد
o خط لوله انتقال فایل برای به حداقل رساندن هزینه تأخیر
o پشتیبانی از دیمون های rsync ناشناس یا تایید شده (ایده آل برای آینه سازی)
عمومی
Rsync فایلها را به یا از یک میزبان راه دور یا به صورت محلی روی میزبان فعلی کپی میکند (آن
از کپی کردن فایل ها بین دو میزبان راه دور پشتیبانی نمی کند).
دو راه مختلف برای rsync برای تماس با یک سیستم راه دور وجود دارد: استفاده از پوسته از راه دور
برنامه ای به عنوان حمل و نقل (مانند ssh یا rsh) یا تماس مستقیم با دیمون rsync از طریق
TCP حمل و نقل پوسته از راه دور هر زمان که مسیر مبدا یا مقصد وجود داشته باشد استفاده می شود
جداکننده تک کولون (:) بعد از مشخصات میزبان. تماس با دیمون rsync
به طور مستقیم زمانی اتفاق می افتد که مسیر مبدأ یا مقصد حاوی یک دو نقطه (::) باشد.
جداکننده پس از مشخصات میزبان، یا زمانی که URL rsync:// مشخص شده است (همچنین به
بخش "استفاده از ویژگی های RSYNC-DAEMON VIA A Remote-Shell Connection" برای استثناء
این قانون اخیر).
به عنوان یک مورد خاص، اگر یک منبع arg بدون مقصد مشخص شود، فایل ها
در قالب خروجی مشابه "ls -l" فهرست شده اند.
همانطور که انتظار می رود، اگر هیچکدام از مسیرهای مبدا یا مقصد، میزبان راه دور را مشخص نکرده باشند، کپی کنید
به صورت محلی رخ می دهد (همچنین به ---فقط لیست گزینه).
Rsync به سمت محلی به عنوان "کلینت" و سمت راه دور به عنوان "سرور" اشاره می کند. نکن
"سرور" را با یک دیمون rsync اشتباه بگیرید - یک شبح همیشه یک سرور است، اما یک سرور می تواند
یا یک دیمون یا یک فرآیند ایجاد شده با پوسته از راه دور.
برپایی
برای دستورالعمل نصب فایل README را ببینید.
پس از نصب، می توانید از rsync برای هر دستگاهی که می توانید از طریق پوسته راه دور به آن دسترسی داشته باشید استفاده کنید
(و همچنین برخی از آنها که می توانید با استفاده از پروتکل rsync daemon-mode به آنها دسترسی داشته باشید). برای از راه دور
انتقال، یک rsync مدرن از ssh برای ارتباطات خود استفاده می کند، اما ممکن است پیکربندی شده باشد
برای استفاده از پوسته راه دور متفاوت به طور پیش فرض، مانند rsh یا remsh.
همچنین می توانید هر پوسته راه دوری را که دوست دارید، با استفاده از -e خط فرمان
گزینه، یا با تنظیم متغیر محیطی RSYNC_RSH.
توجه داشته باشید که rsync باید بر روی هر دو دستگاه مبدا و مقصد نصب شود.
طریقه استفاده
شما از rsync به همان روشی که از rcp استفاده می کنید استفاده می کنید. شما باید یک منبع و یک مقصد را مشخص کنید،
که یکی از آنها ممکن است از راه دور باشد.
شاید بهترین راه برای توضیح نحو با چند مثال باشد:
rsync -t *.c foo:src/
با این کار تمام فایل های مطابق با الگوی *.c از دایرکتوری فعلی به دایرکتوری منتقل می شود
دایرکتوری src در دستگاه foo. اگر هر یک از فایل ها از قبل در سیستم راه دور وجود داشته باشد
سپس پروتکل rsync remote-update برای به روز رسانی فایل با ارسال فقط استفاده می شود
تفاوت در داده ها توجه داشته باشید که گسترش حروف عام در خط فرمان (*.c)
قبل از اجرای rsync توسط پوسته کنترل می شود و نه توسط خود rsync.
(دقیقاً مانند همه برنامه های دیگر به سبک posix).
rsync -avz foo:src/bar /data/tmp
این کار به صورت بازگشتی همه فایلها را از دایرکتوری src/bar در دستگاه foo منتقل میکند
به دایرکتوری /data/tmp/bar در ماشین محلی. فایل ها به داخل منتقل می شوند
حالت "بایگانی"، که تضمین می کند که پیوندهای نمادین، دستگاه ها، ویژگی ها، مجوزها،
مالکیت و غیره در انتقال محفوظ است. علاوه بر این، از فشرده سازی استفاده خواهد شد
اندازه بخش های داده انتقال را کاهش دهید.
rsync -avz foo:src/bar/ /data/tmp
یک بریده بریده بر روی منبع این رفتار را تغییر می دهد تا از ایجاد منبع اضافی جلوگیری شود
سطح دایرکتوری در مقصد شما می توانید یک دنباله / در یک منبع را به عنوان معنی در نظر بگیرید
"copy the contents of this directory" در مقابل "copy the directory by name"، اما در
در هر دو مورد، ویژگی های دایرکتوری حاوی به حاوی منتقل می شود
دایرکتوری در مقصد به عبارت دیگر، هر یک از دستورات زیر کد را کپی می کند
فایلها به همین ترتیب، از جمله تنظیمات آنها برای ویژگیهای /dest/foo:
rsync -av /src/foo /dest
rsync -av /src/foo/ /dest/foo
همچنین توجه داشته باشید که مراجع میزبان و ماژول برای کپی کردن به اسلش انتهایی نیاز ندارند
محتویات دایرکتوری پیش فرض برای مثال، هر دوی این ها فهرست راه دور را کپی می کنند
مطالب در "/dest":
میزبان rsync -av: /dest
rsync -av host::module /dest
همچنین میتوانید از rsync در حالت فقط محلی استفاده کنید، جایی که هم منبع و هم مقصد این کار را نمیکنند
یک ":" در نام داشته باشید. در این مورد مانند یک دستور کپی بهبود یافته عمل می کند.
در نهایت، میتوانید تمام ماژولهای (قابل فهرست) موجود از یک دیمون rsync خاص را فهرست کنید
با کنار گذاشتن نام ماژول:
rsync somehost.mydomain.com::
برای جزئیات بیشتر به بخش زیر مراجعه کنید.
ADVANCED طریقه استفاده
سینتکس درخواست چندین فایل از یک میزبان راه دور با مشخص کردن انجام می شود
آرگ های میزبان راه دور اضافی به همان سبک اول، یا با حذف نام میزبان.
به عنوان مثال، همه اینها کار می کنند:
rsync -av host:file1 :file2 host:file{3,4} /dest/
rsync -av host::modname/file{1,2} host::modname/file3 /dest/
rsync -av host::modname/file1 ::modname/file{3,4،XNUMX}
نسخههای قدیمیتر rsync با استفاده از فضاهای نقلقولشده در SRC مورد نیاز است، مانند مثالهای زیر:
rsync -av host:'dir1/file1 dir2/file2' /dest
میزبان rsync:: 'modname/dir1/file1 modname/dir2/file2' /dest
این تقسیم کلمات هنوز هم (به طور پیش فرض) در آخرین rsync کار می کند، اما به همین سادگی نیست
به عنوان اولین روش استفاده کنید
اگر نیاز به انتقال نام فایلی دارید که حاوی فضای خالی است، می توانید آن را مشخص کنید
--protect-args (-s) گزینه، یا باید از فضای خالی به روشی فرار کنید که
پوسته از راه دور متوجه خواهد شد. برای مثال:
rsync -av host:'file\ name\ with\ spaces' /dest
برقراری ارتباط به AN RSYNC اهریمن، دیو
همچنین می توان از rsync بدون پوسته از راه دور به عنوان حمل و نقل استفاده کرد. در این مورد
شما مستقیماً به یک شبح rsync از راه دور متصل خواهید شد، معمولاً با استفاده از پورت TCP 873. (این
بدیهی است که دیمون باید روی سیستم راه دور اجرا شود، بنابراین به STARTING مراجعه کنید
AN RSYNC DAEMON برای پذیرش اتصالات بخش زیر برای اطلاعات در مورد آن.)
استفاده از rsync در این روش مانند استفاده از آن با پوسته راه دور است با این تفاوت که:
o برای جدا کردن نام میزبان به جای دو نقطه از دو نقطه :: استفاده می کنید
از مسیر، یا از URL rsync:// استفاده می کنید.
o اولین کلمه "path" در واقع یک نام ماژول است.
o شبح راه دور ممکن است پیامی از روز اتصال شما را چاپ کند.
o اگر هیچ نام مسیری را در دیمون راه دور مشخص نکنید، لیست مسیرهای قابل دسترسی را خواهید دید
در دیمون نشان داده خواهد شد.
o اگر هیچ مقصد محلی را مشخص نکردهاید، فهرستی از فایلهای مشخص شده در
دیمون از راه دور ارائه شده است.
o نباید آن را مشخص کنید --rsh (-e) گزینه.
نمونه ای که تمام فایل های موجود در یک ماژول راه دور به نام "src" را کپی می کند:
rsync -av host::src /dest
برخی از ماژولهای موجود در دیمون راه دور ممکن است نیاز به احراز هویت داشته باشند. اگر چنین است، شما یک دریافت خواهید کرد
هنگام اتصال، اعلان رمز عبور شما می توانید با تنظیم رمز عبور از درخواست جلوگیری کنید
متغیر محیطی RSYNC_PASSWORD به رمز عبوری که می خواهید استفاده کنید یا از آن استفاده کنید
--password-file گزینه. این ممکن است هنگام اسکریپت rsync مفید باشد.
هشدار: در برخی از سیستم ها، متغیرهای محیط برای همه کاربران قابل مشاهده است. روی آن سیستم ها
با استفاده از --password-file توصیه می شود.
می توانید با تنظیم متغیر محیطی، اتصال را از طریق یک پروکسی وب برقرار کنید
RSYNC_PROXY به یک جفت نام میزبان:پورت که به پروکسی وب شما اشاره می کند. توجه داشته باشید که وب شما
پیکربندی پروکسی باید از اتصالات پراکسی به پورت 873 پشتیبانی کند.
همچنین میتوانید با استفاده از یک برنامه بهعنوان یک پروکسی، با تنظیم کردن، یک اتصال دیمون برقرار کنید
متغیر محیطی RSYNC_CONNECT_PROG به دستوراتی که می خواهید به جای ایجاد اجرا کنید
یک اتصال سوکت مستقیم رشته ممکن است حاوی گریز "%H" برای نشان دادن آن باشد
نام میزبان مشخص شده در دستور rsync (بنابراین اگر به یک "%" در خود نیاز دارید از "%%" استفاده کنید
رشته). مثلا:
صادرات RSYNC_CONNECT_PROG='ssh پروکسی هاست nc %H 873'
rsync -av targethost1::module/src/ /dest/
rsync -av rsync:://targethost2/module/src/ /dest/
دستور مشخص شده در بالا از ssh برای اجرای nc (netcat) روی یک پروکسی هاست استفاده می کند که همه را فوروارد می کند.
داده ها به پورت 873 (شیب rsync) در هاست هدف (%H).
استفاده كردن RSYNC-DAEMON ویژگیها VIA A REMOTE-SHELL ارتباط
گاهی اوقات استفاده از ویژگی های مختلف یک دیمون rsync (مانند ماژول های نامگذاری شده) مفید است.
بدون اینکه در واقع به هیچ گونه اتصال سوکت جدیدی به یک سیستم (غیر از آنچه هست) اجازه داده شود
در حال حاضر برای اجازه دسترسی به پوسته از راه دور مورد نیاز است). Rsync از اتصال به هاست با استفاده از پشتیبانی می کند
یک پوسته از راه دور و سپس ایجاد یک سرور یکبار مصرف "دیمون" که انتظار دارد آن را بخواند
فایل پیکربندی در آدرس اصلی کاربر راه دور. اگر می خواهید رمزگذاری کنید، این می تواند مفید باشد
دادههای انتقال به سبک دیمون، اما از آنجایی که دیمون توسط ریموت راهاندازی میشود
کاربر، ممکن است نتوانید از ویژگی هایی مانند chroot یا تغییر uid استفاده شده توسط
اهریمن، دیو. (برای راه دیگری برای رمزگذاری انتقال دیمون، استفاده از ssh برای تونل a را در نظر بگیرید
پورت محلی به یک ماشین راه دور و پیکربندی یک شبح rsync معمولی در آن میزبان راه دور
فقط اتصالات از "localhost" مجاز است.)
از دیدگاه کاربر، انتقال شبح از طریق یک اتصال پوسته راه دور تقریباً استفاده می کند
همان نحو خط فرمان به عنوان یک انتقال معمولی rsync-daemon، با تنها استثنا
به این دلیل که باید به طور واضح برنامه پوسته راه دور را در خط فرمان با تنظیم کنید
--rsh=فرمان گزینه. (تنظیم RSYNC_RSH در محیط این را روشن نمی کند
عملکرد.) به عنوان مثال:
rsync -av --rsh=ssh میزبان::module /dest
اگر نیاز دارید که کاربر پوسته راه دور دیگری را مشخص کنید، به خاطر داشته باشید که پیشوند user@
در مقابل میزبان مقدار rsync-user را مشخص می کند (برای ماژولی که نیاز دارد
احراز هویت مبتنی بر کاربر). این بدان معنی است که شما باید گزینه '-l user' را به ssh بدهید
هنگام مشخص کردن پوسته راه دور، مانند این مثال که از نسخه کوتاه آن استفاده می کند
--rsh گزینه:
rsync -av -e "ssh -l ssh-user" rsync-user@host::module /dest
"ssh-user" در سطح ssh استفاده خواهد شد. "rsync-user" برای ورود به سیستم استفاده خواهد شد
"ماژول".
راه افتادن AN RSYNC اهریمن، دیو به تایید کنید ارتباطات
برای اتصال به دیمون rsync، سیستم از راه دور باید قبلاً یک دیمون داشته باشد
در حال اجرا (یا باید چیزی مانند inetd را پیکربندی کرده باشد تا یک شبح rsync برای ایجاد کند
اتصالات ورودی در یک پورت خاص). برای اطلاعات کامل در مورد نحوه راه اندازی دیمون
که اتصالات سوکت ورودی را مدیریت می کند، به rsyncd.conf(5) صفحه مرد -- یعنی
فایل پیکربندی برای دیمون، و حاوی جزئیات کامل برای نحوه اجرای دیمون است
(از جمله پیکربندی های مستقل و داخلی).
اگر از یکی از ترابری های پوسته راه دور برای انتقال استفاده می کنید، نیازی به این کار نیست
به صورت دستی یک دیمون rsync را راه اندازی کنید.
مرتب شده است انتقال سفارش
Rsync همیشه نام فایل های مشخص شده را در لیست انتقال داخلی خود مرتب می کند. این دسته
ادغام محتویات دایرکتوری هایی با نام یکسان، این کار را آسان می کند
نام فایل های تکراری را حذف کنید، و ممکن است زمانی که فایل ها در a منتقل می شوند، کسی گیج شود
ترتیبی متفاوت از آنچه در خط فرمان داده شده بود.
اگر به فایل خاصی نیاز دارید که قبل از دیگری منتقل شود، آن را جدا کنید
فایلها را در تماسهای مختلف rsync یا استفاده از آن را در نظر بگیرید -- تاخیر به روز رسانی (که تاثیری ندارد
ترتیب انتقال مرتب شده است، اما باعث می شود مرحله به روز رسانی نهایی فایل بسیار بیشتر اتفاق بیفتد
به طور سریع).
مثال ها
در اینجا چند نمونه از نحوه استفاده من از rsync آورده شده است.
برای تهیه نسخه پشتیبان از دایرکتوری خانه همسرم که شامل فایل های بزرگ MS Word و نامه است
پوشه ها، من از cron job استفاده می کنم که اجرا می شود
rsync -Cavz. arvidsjaur: پشتیبان
هر شب از طریق یک اتصال PPP به دایرکتوری تکراری در دستگاه من "arvidsjaur".
برای همگام سازی درختان منبع سامبا از اهداف Makefile زیر استفاده می کنم:
گرفتن:
rsync -avuzb --exclude '*~' samba:samba/ .
قرار دادن:
rsync -Cavuzb. samba:samba/
همگام سازی: قرار دادن
این به من امکان می دهد با دایرکتوری CVS در انتهای دیگر اتصال همگام سازی کنم. سپس انجام می دهم
عملیات CVS در دستگاه راه دور، که باعث صرفه جویی در زمان زیادی به عنوان پروتکل CVS راه دور می شود.
خیلی کارآمد نیست
من دایرکتوری بین سایت های ftp "قدیمی" و "جدید" خود را با دستور زیر بازتاب می کنم:
rsync -az -e ssh --delete ~ftp/pub/samba nimbus:"~ftp/pub/tridge"
این از cron هر چند ساعت یکبار راه اندازی می شود.
OPTIONS خلاصه
در اینجا خلاصه ای کوتاه از گزینه های موجود در rsync آمده است. لطفا به جزئیات مراجعه کنید
توضیحات زیر برای توضیحات کامل
-v، --verbose افزایش پرحرفی
--info=FLAGS پرحرفی اطلاعاتی ریز
--debug=FLAGS پرحرفی اشکال زدایی ریزدانه
-msgs2stderr کنترل ویژه خروجی برای اشکال زدایی
-q، --quiet سرکوب پیام های بدون خطا
--no-motd سرکوب حالت دیمون MOTD (به هشدار مراجعه کنید)
-c، --checksum رد شدن بر اساس چک جمع، نه mod-time و اندازه
-a، حالت آرشیو آرشیو. برابر -rlptgoD (بدون -H,-A,-X)
--no-OPTION یک OPTION ضمنی را خاموش می کند (به عنوان مثال --no-D)
-r، -- بازگشتی به دایرکتوری ها
-R، --relative از نام مسیرهای نسبی استفاده می کند
--no-implied-dirs dirs ضمنی را با --relative ارسال نکنید
-b، --پشتیبان گیری از پشتیبان گیری (به --پسوند و --backup-dir مراجعه کنید)
--backup-dir=DIR پشتیبان گیری را به صورت سلسله مراتبی بر اساس DIR ایجاد کنید
پسوند = پسوند پشتیبان SUFFIX (پیشفرض ~ w/o --backup-dir)
-u، فایلهای پرش را که جدیدتر روی گیرنده هستند بهروزرسانی کنید
--inplace به روز رسانی فایل های مقصد در محل
-افزودن داده ها به فایل های کوتاه تر
--append-verify --append w/old data in checksum file
-d، --dirs دایرکتوری ها را بدون بازگشت مجدد انتقال می دهد
-l، --links پیوندهای نمادین را به عنوان پیوندهای نمادین کپی می کنند
-L، --copy-links، symlink را به فایل مرجع/dir تبدیل می کند
--copy-unsafe-links فقط پیوندهای نمادین "ناامن" تبدیل می شوند
--safe-links symlink هایی که خارج از درخت هستند را نادیده می گیرند
--munge-links برای ایمن تر کردن پیوندهای نمادین munge
-k، --copy-dirlinks symlink را به dir به dir مرجع تبدیل می کند
-K، --keep-dirlinks dir سیملینک شده روی گیرنده را به عنوان dir در نظر می گیرد
-H، --hard-links پیوندهای سخت را حفظ می کند
-p، --perms مجوزها را حفظ می کنند
-E، -اجراپذیری قابلیت اجرا را حفظ میکند
--chmod=CHMOD بر مجوزهای فایل و/یا دایرکتوری تأثیر می گذارد
-A، --acls ACL ها را حفظ می کند (به معنی -p)
-X، --xattr صفات توسعه یافته را حفظ می کند
-o، --owner حفظ مالک (فقط فوق کاربر)
-g، --گروه حفظ گروه
--دستگاهها فایلهای دستگاه را حفظ میکنند (فقط فوق کاربر)
--specials فایل های خاص را حفظ می کند
-D همان --دستگاه ها --specials
-t، --times زمان های اصلاح را حفظ می کند
-O، --omit-dir-times فهرست راهنماها را از --times حذف کنید
-J، --omit-link-times حذف symlinks از --times
--سوپر گیرنده فعالیت های فوق کاربر را انجام می دهد
--جعلی-سوپر فروشگاه/بازیابی attrهای ممتاز با استفاده از xattrs
-S، --sparse فایل های پراکنده را به طور موثر مدیریت می کند
--preallocate allocate dest files قبل از نوشتن
-n، --dry-run یک اجرای آزمایشی را بدون هیچ تغییری انجام می دهند
-W، --کل فایل کپی فایل ها (بدون الگوریتم delta-xfer)
-x، --one-file-system از مرزهای سیستم فایل عبور نمی کند
-B، --block-size=SIZE اندازه بلوک جمع کنترل ثابت را مجبور می کند
-e، --rsh=COMMAND پوسته راه دور مورد استفاده را مشخص کنید
--rsync-path=PROGRAM rsync را برای اجرا در دستگاه راه دور مشخص کنید
--وجود پرش از ایجاد فایل های جدید در گیرنده
- نادیده گرفتن فایلهای موجود در گیرنده بهروزرسانی را نادیده بگیرید
فرستنده --remove-source-files فایل های همگام سازی شده را حذف می کند (غیر dir)
--del یک نام مستعار برای --delete-during
-حذف فایل های اضافی از dest dirs
--delete-before گیرنده قبل از xfer حذف می شود نه در طول
--delete-diur گیرنده در حین انتقال حذف می شود
--حذف-تاخیر یافتن حذف ها در حین، حذف بعد از آن
--delete-after گیرنده پس از انتقال حذف می شود، نه در طول
--delete-excluded همچنین فایل های حذف شده را از dest dirs حذف کنید
--ignore-missing-args آرگ های منبع گم شده را بدون خطا نادیده می گیرید
--delete-missing-args حذف آرگ های منبع گم شده از مقصد
--ignore-errors حذف می شود حتی اگر خطاهای I/O وجود داشته باشد
- حذف اجباری dirs حتی اگر خالی نباشد
--max-delete=NUM بیش از NUM فایل را حذف نکنید
--max-size=SIZE هیچ فایلی بزرگتر از SIZE را منتقل نکنید
--min-size=SIZE هیچ فایلی کوچکتر از SIZE منتقل نکنید
-- جزئی نگهداری فایل های نیمه منتقل شده
--partial-dir=DIR یک فایل نیمه منتقل شده را در DIR قرار می دهد
- بهروزرسانیهای تاخیری، تمام فایلهای بهروزرسانیشده را در پایان قرار میدهند
-m، --prune-empty-dirs زنجیره های دایرکتوری خالی را از لیست فایل هرس می کند
--numeric-ids مقادیر uid/gid را بر اساس نام کاربر/گروه ترسیم نمی کند
--usermap=STRING نگاشت نام کاربری سفارشی
--groupmap=STRING نگاشت نام گروه سفارشی
--chown=USER:GROUP نگاشت ساده نام کاربری/نام گروه
--timeout=SECONDS مهلت زمانی ورودی/خروجی را در ثانیه تنظیم کنید
--contimeout=SECONDS زمان پایان اتصال دیمون را در چند ثانیه تنظیم کنید
-I، -نادیده گرفتن-زمان فایلهایی که با اندازه و زمان مطابقت دارند را نادیده نمیگیرم
- فقط اندازه فایلهایی را که از نظر اندازه مطابقت دارند پرش کنید
--modify-window=NUM زمان های مد را با دقت کمتر مقایسه کنید
-T، --temp-dir=DIR فایل های موقت را در دایرکتوری DIR ایجاد می کند
-y، --فازی فایل مشابه را برای پایه پیدا کنید اگر فایل dest نباشد
--compare-dest=DIR همچنین فایل های دریافتی را نسبت به DIR مقایسه کنید
--copy-dest=DIR ... و شامل کپی از فایل های بدون تغییر است
--link-dest=DIR پیوند سخت به فایلها در DIR در صورت عدم تغییر
-z، - فشرده سازی داده های فایل در حین انتقال
--compress-level=NUM سطح فشرده سازی به صراحت تنظیم شده است
--skip-compress=LIST از فشرده سازی فایل ها با پسوند در LIST صرفنظر کنید
-C، --cvs-به همان روشی که CVS انجام می دهد، فایل های نادیده گرفتن خودکار را حذف کنید
-f، --filter=RULE یک قانون فیلتر کردن فایل اضافه کنید
-F مانند --filter='dir-merge /.rsync-filter'
تکرار شده: --filter='- .rsync-filter'
--exclude=PATTERN فایل های مطابق با PATTERN را حذف می کند
--exclude-from=FILE خواندن الگوها را از FILE حذف می کند
--include=PATTERN فایل های مطابق با PATTERN را حذف نکنید
--include-from=خواندن FILE شامل الگوهایی از FILE است
--files-from=FILE لیست نام فایل منبع را از FILE می خواند
-0، --from0 همه فایل های *from/filter با 0s محدود شده اند
-s، --protect-args no space-splitting; فقط کاراکترهای عام
--address=ADDRESS آدرس را برای سوکت خروجی به دیمون پیوند می دهد
--port=PORT شماره پورت جایگزین دو نقطه ای را مشخص کنید
--sockopts=OPTIONS گزینه های سفارشی TCP را مشخص می کند
--blocking-io از مسدود کردن I/O برای پوسته راه دور استفاده کنید
--outbuf=N|L|B بافر را روی None، Line یا Block قرار داد
--stats برخی از آمارهای انتقال فایل را ارائه می دهد
خروجی -8، --8 بیتی کاراکترهای بیت بالا را در خروجی خالی می کند
-h، --اعداد خروجی قابل خواندن توسط انسان در قالب قابل خواندن توسط انسان
--پیشرفت پیشرفت را در حین انتقال نشان می دهد
-P همان --جزئی --پیشرفت
-i، --itemize-changes یک خلاصه تغییرات برای همه بهروزرسانیها به دست میدهد
-M، --remote-option=OPTION OPTION را فقط به سمت راه دور ارسال کنید
--out-format=FORMAT به روز رسانی خروجی با استفاده از FORMAT مشخص شده
--log-file=FILE آنچه را که در حال انجام با فایل مشخص شده انجام می دهیم را ثبت کنید
--log-file-format=FMT به روز رسانی گزارش با استفاده از FMT مشخص شده
--password-file=FILE رمز عبور دیمون دسترسی را از FILE می خواند
--list-only فایل ها را به جای کپی کردن لیست کنید
--bwlimit=RATE پهنای باند ورودی/خروجی سوکت را محدود می کند
--write-batch=FILE یک به روز رسانی دسته ای برای FILE بنویسید
--only-write-batch=فایل مانند --write-batch اما بدون به روز رسانی مقصد
--read-batch=FILE یک به روز رسانی دسته ای را از FILE می خواند
--protocol=NUM مجبور به استفاده از نسخه قدیمی پروتکل می شود
--iconv=CONVERT_SPEC درخواست تبدیل مجموعه نویسه ای از نام فایل ها
--checksum-seed=NUM مجموعه بلوک/فایل checksum seed (پیشرفته)
-4، --ipv4 IPv4 را ترجیح می دهند
-6، --ipv6 IPv6 را ترجیح می دهند
- شماره نسخه چاپی نسخه
(-h) - کمک به نشان دادن این کمک (برای نظر -h به زیر مراجعه کنید)
Rsync همچنین می تواند به عنوان یک دیمون اجرا شود، در این صورت گزینه های زیر پذیرفته می شوند:
--daemon به عنوان یک دیمون rsync اجرا می شود
--address=ADDRESS به آدرس مشخص شده متصل شود
--bwlimit=RATE پهنای باند ورودی/خروجی سوکت را محدود می کند
--config=FILE فایل جایگزین rsyncd.conf را مشخص کنید
-M، --dparam=OVERRIDE لغو پارامتر پیکربندی شبح جهانی
--بدون جدا شدن از والد جدا نشوید
--port=PORT به شماره پورت جایگزین گوش دهید
--log-file=FILE تنظیمات "log file" را لغو می کند
--log-file-format=FMT تنظیم "قالب ورود" را لغو می کند
--sockopts=OPTIONS گزینه های سفارشی TCP را مشخص می کند
-v، --verbose افزایش پرحرفی
-4، --ipv4 IPv4 را ترجیح می دهند
-6، --ipv6 IPv6 را ترجیح می دهند
-h، --help نشان دادن این کمک (اگر بعد از --daemon استفاده شود)
OPTIONS
Rsync هر دو گزینه طولانی (دو خط تیر + کلمه) و کوتاه (تک تیر + حرف) را می پذیرد.
لیست کامل گزینه های موجود در زیر توضیح داده شده است. اگر بتوان گزینه ای را مشخص کرد
در بیش از یک روش، انتخاب ها با کاما از هم جدا می شوند. برخی از گزینه ها فقط طولانی است
نوع، نه کوتاه اگر گزینه پارامتری را بگیرد، پارامتر فقط بعد از آن فهرست می شود
نوع طولانی، حتی اگر باید برای کوتاه نیز مشخص شود. هنگام تعیین الف
پارامتر، میتوانید از فرم --option=param استفاده کنید یا «=» را با فضای خالی جایگزین کنید.
ممکن است لازم باشد پارامتر به نحوی نقل شود تا بتواند از پوسته جان سالم به در ببرد
تجزیه خط فرمان به خاطر داشته باشید که یک tilde پیشرو (~) در نام فایل جایگزین می شود
توسط پوسته شما، بنابراین --option=~/فو tilde را در فهرست اصلی شما تغییر نخواهد داد
(برای آن '=' را بردارید).
--کمک یک صفحه راهنمای کوتاه که گزینه های موجود در rsync و exit را توضیح می دهد چاپ کنید. برای
سازگاری با نسخههای قدیمیتر rsync، کمک نیز خروجی خواهد بود
اگر از -h گزینه بدون هیچ ارگ دیگری.
- نسخه
شماره نسخه rsync را چاپ کرده و خارج شوید.
-v، -- پرحرف
این گزینه مقدار اطلاعاتی که در حین انتقال به شما داده می شود را افزایش می دهد.
به طور پیش فرض، rsync بی صدا کار می کند. یک مجرد -v در مورد چه چیزی به شما اطلاعات می دهد
فایل ها در حال انتقال هستند و خلاصه ای از آن در پایان می باشد. دو -v گزینه ها خواهد بود
اطلاعاتی در مورد فایل هایی که حذف می شوند و کمی اطلاعات بیشتر به شما می دهد
در پایان. بیش از دو -v گزینه ها فقط در صورتی باید استفاده شوند که در حال اشکال زدایی هستید
rsync
در یک rsync مدرن، -v گزینه معادل تنظیم گروه های است -- اطلاعات
و - رفع اشکال گزینه ها. می توانید انتخاب کنید که از این گزینه های جدیدتر علاوه بر یا استفاده کنید
در محل استفاده -- پرحرف، از آنجایی که هر تنظیمات ریزدانه ای را نادیده می گیرد
تنظیمات از -v. هر دو -- اطلاعات و - رفع اشکال راهی برای درخواست کمک داشته باشید که به شما بگوید
دقیقاً چه پرچم هایی برای هر افزایش پرحرفی تنظیم می شود.
با این حال، به خاطر داشته باشید که تنظیم "حداکثر پرحرفی" دیمون، نحوه را محدود می کند
در سطح بالایی، پرچم های مختلف فردی را می توان در سمت دیمون تنظیم کرد. برای
به عنوان مثال، اگر حداکثر 2 باشد، هر گونه پرچم اطلاعات و/یا اشکال زدایی که روی بالاتر تنظیم شده باشد
ارزشی بیش از آنچه تعیین می شود -vv به درجه تنزل خواهد یافت -vv سطح در
ورود به سیستم دیمون
--info=پرچم ها
این گزینه به شما امکان می دهد تا کنترل دقیقی بر خروجی اطلاعاتی که می خواهید داشته باشید
دیدن. نام پرچم فردی ممکن است با یک عدد سطح، با معنی 0 دنبال شود
برای خاموش کردن آن خروجی، 1 سطح خروجی پیش فرض است و اعداد بالاتر
افزایش خروجی آن پرچم (برای کسانی که از سطوح بالاتر پشتیبانی می کنند). استفاده کنید
--info=راهنما برای دیدن همه نامهای پرچم موجود، خروجی آنها و چه پرچمی
اسامی برای هر افزایش در سطح فعل اضافه می شود. چند نمونه:
rsync -a --info=progress2 src/ dest/
rsync -avv --info=stats2,misc1,flist0 src/ dest/
توجه داشته باشید که --info=نامخروجی تحت تأثیر -- خارج از قالب و
--itemize-changes (-i) گزینه ها. برای اطلاعات بیشتر در مورد آنچه هست به آن گزینه ها مراجعه کنید
خروجی و زمان
این گزینه به 3.1.0 اضافه شد، بنابراین ممکن است Rsync قدیمی در سمت سرور رد شود
تلاش شما برای کنترل دقیق (اگر لازم باشد یک یا چند پرچم ارسال شود
سرور و سرور برای درک آنها خیلی قدیمی بودند). همچنین به "حداکثر
پرحرفی" اخطار بالا در هنگام برخورد با دیمون.
--debug=FLAGS
این گزینه به شما امکان می دهد تا کنترل دقیقی بر خروجی اشکال زدایی که می خواهید داشته باشید
دیدن. نام پرچم فردی ممکن است با یک عدد سطح، با 0 به معنای به دنبال شود
آن خروجی را خاموش کنید، 1 سطح خروجی پیش فرض است و اعداد بالاتر
افزایش خروجی آن پرچم (برای کسانی که از سطوح بالاتر پشتیبانی می کنند). استفاده کنید
--debug=راهنما برای دیدن همه نامهای پرچم موجود، خروجی آنها و چه پرچمی
اسامی برای هر افزایش در سطح فعل اضافه می شود. چند نمونه:
rsync -avvv --debug=none src/ dest/
rsync -avA --del --debug=del2,acl src/ dest/
توجه داشته باشید که برخی از پیام های اشکال زدایی تنها زمانی خروجی می شوند --msgs2stderr مشخص شده است،
به خصوص مواردی که مربوط به I/O و اشکال زدایی بافر هستند.
این گزینه به 3.1.0 اضافه شد، بنابراین ممکن است Rsync قدیمی در سمت سرور رد شود
تلاش شما برای کنترل دقیق (اگر لازم باشد یک یا چند پرچم ارسال شود
سرور و سرور برای درک آنها خیلی قدیمی بودند). همچنین به "حداکثر
پرحرفی" اخطار بالا در هنگام برخورد با دیمون.
--msgs2stderr
این گزینه rsync را تغییر می دهد تا تمام خروجی آن را مستقیماً به stderr بفرستد تا به
از طریق پروتکل (که معمولاً اطلاعات را خروجی میکند) پیامها را به سمت مشتری ارسال کنید
پیام ها از طریق stdout). این عمدتا برای اشکال زدایی به منظور جلوگیری از در نظر گرفته شده است
تغییر داده های ارسال شده از طریق پروتکل، زیرا داده های پروتکل اضافی می توانند تغییر کنند
آنچه در حال آزمایش است به خاطر داشته باشید که اتصال دیمون دارای stderr نیست
کانالی برای ارسال پیام به سمت مشتری، بنابراین اگر هر کدام را انجام می دهید
deemon-transfer debugging با استفاده از این گزینه، باید با استفاده از دیمون راه اندازی کنید
--بدون جدا شدن به طوری که می توانید خروجی stderr را در سمت دیمون ببینید.
این گزینه دارای اثر جانبی این است که خروجی stderr را با بافر خطی میکند به طوری که
ادغام خروجی 3 برنامه به شیوه ای خواناتر اتفاق می افتد.
-q، --ساکت
این گزینه مقدار اطلاعاتی که در حین انتقال به شما داده می شود را کاهش می دهد.
به ویژه سرکوب پیام های اطلاعاتی از سرور راه دور. این گزینه است
هنگام فراخوانی rsync از cron مفید است.
--بدون متد
این گزینه بر روی اطلاعاتی که در ابتدای a توسط مشتری خروجی می شود تأثیر می گذارد
انتقال دیمون این متن پیام روز (MOTD) را سرکوب میکند، اما این کار را نیز انجام میدهد
بر لیست ماژول هایی که دیمون در پاسخ به "rsync host::" ارسال می کند، تأثیر می گذارد.
درخواست کنید (به دلیل محدودیت در پروتکل rsync)، بنابراین اگر می خواهید این گزینه را حذف کنید
می خواهید لیست ماژول ها را از دیمون درخواست کنید.
-من، -- نادیده گرفتن-زمان ها
به طور معمول rsync از هر فایلی که قبلاً هم اندازه و یکسان هستند، صرفنظر می کند
تمبر زمانی اصلاح این گزینه این رفتار "بررسی سریع" را خاموش می کند و باعث می شود
تمامی فایل ها به روز شوند
---فقط اندازه
این الگوریتم «بررسی سریع» rsync را برای یافتن فایلهایی که باید وجود داشته باشند، تغییر میدهد
انتقال داده می شود، و آن را از پیش فرض انتقال فایل ها با هر یک تغییر می دهد
تغییر اندازه یا تغییر زمان آخرین تغییر برای جستجوی فایلهایی که دارند
تغییر اندازه این هنگام شروع به استفاده از rsync پس از استفاده از دیگری مفید است
سیستم آینهکاری که ممکن است مهر زمانی را دقیقاً حفظ نکند.
--modify-window
هنگام مقایسه دو مُهر زمانی، rsync با مهرهای زمانی برابر برخورد می کند
بیش از مقدار modify-window تفاوت ندارند. این به طور معمول 0 است (به طور دقیق
مطابقت دارند)، اما ممکن است برای شما مفید باشد که این مقدار را در برخی از مقادیر بزرگتر تنظیم کنید
موقعیت ها به ویژه، هنگام انتقال به یا از یک MS Windows FAT
سیستم فایل (که زمان ها را با وضوح 2 ثانیه نشان می دهد)، --modify-window=1
مفید است (اجازه دهید زمان تا 1 ثانیه متفاوت باشد).
-c، -- چکی
این روش بررسی rsync را تغییر می دهد که آیا فایل ها تغییر کرده اند و نیاز به آن دارند
یک انتقال. بدون این گزینه، rsync از یک "بررسی سریع" استفاده می کند که (به طور پیش فرض)
بررسی می کند که آیا اندازه هر فایل و زمان آخرین تغییر با فرستنده مطابقت دارد یا خیر
و گیرنده این گزینه این را تغییر می دهد تا یک جمع 128 بیتی برای هر فایل مقایسه شود
که اندازه ای مطابق دارد تولید چکسامها به این معنی است که هر دو طرف این کار را خواهند کرد
مقدار زیادی ورودی/خروجی دیسک را صرف خواندن تمام داده های موجود در فایل های انتقال (و
این قبل از هر خواندنی است که برای انتقال فایل های تغییر یافته انجام می شود)، بنابراین این
می تواند به طور قابل توجهی سرعت کارها را کاهش دهد.
طرف فرستنده در حین انجام اسکن سیستم فایل، چکسامهای خود را تولید میکند
که لیستی از فایل های موجود را می سازد. گیرنده چک جمع های خود را تولید می کند
هنگامی که در حال اسکن برای فایل های تغییر یافته است، و هر فایلی را که دارای همان فایل باشد، جمع آوری می کند
اندازه فایل فرستنده مربوطه: فایل هایی با اندازه تغییر یافته یا a
چک جمع تغییر یافته برای انتقال انتخاب می شوند.
توجه داشته باشید که rsync همیشه هر کدام را تأیید می کند منتقل فایل درست بود
در سمت دریافت کننده با بررسی یک جمع کل فایل که هست، بازسازی می شود
هنگام انتقال فایل ایجاد می شود، اما پس از انتقال به صورت خودکار
تأیید هیچ ربطی به این گزینه قبل از انتقال ندارد "این کار را انجام می دهد
فایل باید به روز شود؟" بررسی کنید.
برای پروتکل 30 و فراتر از آن (برای اولین بار در نسخه 3.0.0 پشتیبانی شد)، جمع کنترلی استفاده شده MD5 است.
برای پروتکل های قدیمی تر، چک جمع مورد استفاده MD4 است.
-آ، --بایگانی
این معادل است -rlptgoD. این یک راه سریع برای گفتن است که می خواهید بازگشت و
می خواهید تقریباً همه چیز را حفظ کنید (که -H یک حذف قابل توجه است). تنها
استثناء معادل فوق زمانی است که --فایلها-از مشخص شده است که در این صورت
-r ضمنی نیست.
توجه داشته باشید که -a میکند نه حفظ کردن لینک های سخت، زیرا یافتن فایل های چند پیوندی است
گران. باید جداگانه مشخص کنید -H.
--no-OPTION
شما می توانید یک یا چند گزینه ضمنی را با پیشوند نام گزینه با خاموش کنید
"نه-". همه گزینه ها ممکن است با یک "no-" پیشوند نباشند: فقط گزینه هایی که ضمنی هستند
توسط گزینه های دیگر (مثلا --نه-دی, -- بدون مجوز) یا دارای پیش فرض های مختلف در انواع مختلف هستند
شرایط (مثلا -- بدون-کل-فایل, --no-blocking-io, --بدون کارگردان). شما ممکن است مشخص کنید
نام گزینه کوتاه یا بلند پس از پیشوند "no-" (به عنوان مثال --no-R هست
همان --بدون نسبی).
به عنوان مثال: اگر می خواهید استفاده کنید -a (--بایگانی) اما نمی خواهم -o (-- مالک)، بجای
تبدیل کردن -a به -rlptgD، می توانید مشخص کنید -a -- نه - نه (و یا -a -- بدون مالک).
ترتیب گزینه ها مهم است: اگر مشخص کنید --نه-ر -aاز -r انتخاب
در نهایت روشن می شود، برعکس -a --نه-ر. همچنین توجه داشته باشید که
عوارض جانبی --فایلها-از گزینه موقعیتی نیستند، زیرا بر روی آن تأثیر می گذارد
حالت پیش فرض چندین گزینه و کمی معنی آن را تغییر می دهد -a (نگاه کنید به
--فایلها-از گزینه برای جزئیات بیشتر).
-r، - بازگشتی
این به rsync می گوید که دایرکتوری ها را به صورت بازگشتی کپی کند. همچنین ببینید -- کارگردانان (-d).
با شروع با rsync 3.0.0، الگوریتم بازگشتی مورد استفاده اکنون یک اسکن افزایشی است.
که از حافظه بسیار کمتری نسبت به قبل استفاده می کند و انتقال را پس از اسکن آغاز می کند
از چند دایرکتوری اول تکمیل شده است. این اسکن افزایشی فقط
الگوریتم بازگشتی ما را تحت تأثیر قرار می دهد و انتقال غیر بازگشتی را تغییر نمی دهد. آی تی
همچنین تنها زمانی امکان پذیر است که هر دو انتهای انتقال حداقل نسخه 3.0.0 باشد.
برخی از گزینهها برای دانستن فهرست کامل فایلها به rsync نیاز دارند، بنابراین این گزینهها آن را غیرفعال میکنند
حالت بازگشتی افزایشی این شامل: --حذف-قبل, --حذف-بعد,
--Pune-Empty-dirsو -- تاخیر به روز رسانی. به همین دلیل، حالت حذف پیش فرض
زمانی که شما مشخص می کنید --حذف در حال حاضر --حذف-در طول هنگامی که هر دو انتهای اتصال
حداقل 3.0.0 هستند (استفاده از --دل or --حذف-در طول برای درخواست این حذف بهبود یافته
حالت به صراحت). را نیز ببینید --حذف-تاخیر گزینه ای که انتخاب بهتری از
با استفاده از --حذف-بعد.
بازگشت افزایشی را می توان با استفاده از غیرفعال کرد --no-inc-recursive گزینه یا آن
کوتاه تر --no-ir نام مستعار
-ر، --نسبت فامیلی
از مسیرهای نسبی استفاده کنید. این بدان معنی است که نام مسیرهای کامل در دستور مشخص شده است
خط به جای آخرین قسمت نام فایل ها به سرور ارسال می شود. این
به ویژه زمانی مفید است که می خواهید چندین دایرکتوری مختلف را به آدرس ارسال کنید
همان زمان. به عنوان مثال، اگر از این دستور استفاده کرده باشید:
rsync -av /foo/bar/baz.c از راه دور:/ tmp /
... با این کار فایلی به نام baz.c in ایجاد می شود / tmp / روی دستگاه از راه دور اگر در عوض
استفاده کردی
rsync -avR /foo/bar/baz.c از راه دور:/ tmp /
سپس فایلی به نام /tmp/foo/bar/baz.c در دستگاه راه دور ایجاد می شود.
مسیر کامل خود را حفظ کند. به این عناصر مسیر اضافی «مطالبی» می گویند
دایرکتوری ها" (یعنی دایرکتوری های "foo" و "foo/bar" در مثال بالا).
با شروع با rsync 3.0.0، rsync همیشه این دایرکتوری های ضمنی را به صورت واقعی ارسال می کند.
دایرکتوری ها در لیست فایل، حتی اگر یک عنصر مسیر واقعاً یک پیوند نمادین در آن باشد
سمت ارسال این از برخی رفتارهای واقعاً غیرمنتظره هنگام کپی کردن کامل جلوگیری می کند
مسیر فایلی که متوجه نشدید دارای یک پیوند نمادین در مسیر آن است. اگر شما می خواهید
یک پیوند نمادین سمت سرور را کپی کنید، هم پیوند نمادین را از طریق مسیر آن وارد کنید و هم
دایرکتوری مرجع از طریق مسیر واقعی خود. اگر با یک rsync قدیمی تر سر و کار دارید
طرف ارسال کننده، ممکن است لازم باشد از آن استفاده کنید ------------- گزینه.
همچنین می توان مقدار اطلاعات مسیری را که به صورت ضمنی ارسال می شود محدود کرد
دایرکتوری ها برای هر مسیری که مشخص می کنید. با یک rsync مدرن در سمت ارسال
(شروع با 2.6.7)، می توانید یک نقطه و یک اسلش را در مسیر منبع قرار دهید، مانند
این:
rsync -avR /foo/./bar/baz.c از راه دور:/ tmp /
این باعث ایجاد /tmp/bar/baz.c در دستگاه راه دور می شود. (توجه داشته باشید که نقطه باید باشد
به دنبال آن یک اسلش، بنابراین "/foo/." مخفف نمی شود.) برای rsync قدیمی تر
برای محدود کردن مسیر منبع، باید از یک chdir استفاده کنید. مثلا،
هنگام فشار دادن فایل ها:
(cd /foo; rsync -avR bar/baz.c remote:/ tmp /)
(توجه داشته باشید که والدین دو دستور را در یک پوسته فرعی قرار می دهند، به طوری که "cd"
دستور برای دستورات بعدی قابل اجرا نمی ماند.) اگر در حال کشیدن فایل هستید
از یک rsync قدیمی، از این اصطلاح استفاده کنید (اما فقط برای انتقال غیر دیمون):
rsync -avR --rsync-path="cd /foo; rsync" \
از راه دور:bar/baz.c / tmp /
-------------
این گزینه بر رفتار پیش فرض آن تأثیر می گذارد --نسبت فامیلی گزینه. وقتی هست
مشخص شده است، ویژگی های دایرکتوری های ضمنی از نام منبع نیستند
در انتقال گنجانده شده است. این بدان معنی است که عناصر مسیر مربوطه در
در صورت وجود، سیستم مقصد بدون تغییر باقی میماند و هرگونه مفقودی به طور ضمنی وجود دارد
دایرکتوری ها با ویژگی های پیش فرض ایجاد می شوند. این حتی به این موارد ضمنی اجازه می دهد
عناصر مسیر دارای تفاوت های بزرگ هستند، مانند اینکه یک پیوند نمادین به یک دایرکتوری در آن وجود دارد
سمت دریافت کننده
برای مثال، اگر یک خط فرمان arg یا یک فایل از ورودی به rsync گفته شود که انتقال دهد
فایل «path/foo/file»، دایرکتوریهای «path» و «path/foo» زمانی که
--نسبت فامیلی استفاده می شود. اگر "path/foo" یک پیوند نمادین به "bar" در سیستم مقصد باشد،
rsync دریافت کننده معمولاً "path/foo" را حذف می کند، آن را به عنوان یک دایرکتوری دوباره ایجاد می کند.
و فایل را در دایرکتوری جدید دریافت کنید. با -------------، دریافت کننده
rsync "path/foo/file" را با استفاده از عناصر مسیر موجود به روز می کند، که به این معنی است
فایل در نهایت در "path/bar" ایجاد می شود. راه دیگری برای انجام این پیوند
حفظ استفاده از --keep-dirlinks گزینه (که بر روی پیوندهای نمادین نیز تأثیر می گذارد
به دایرکتوری ها در بقیه انتقال).
هنگام کشیدن فایلها از rsync قدیمیتر از 3.0.0، ممکن است لازم باشد از این گزینه استفاده کنید.
اگر طرف فرستنده در مسیری که درخواست میکنید دارای یک پیوند نمادین باشد و شما آن را به طور ضمنی بخواهید
دایرکتوری هایی که باید به عنوان دایرکتوری های معمولی منتقل شوند.
-ب، --پشتیبان گیری
با استفاده از این گزینه، نام فایل های مقصد از قبل موجود به عنوان هر فایل تغییر می یابد
منتقل یا حذف شده است. شما می توانید کنترل کنید که فایل پشتیبان کجا می رود و چه چیزی (اگر
پسوند any) با استفاده از ضمیمه می شود --پشتیبان- کارگردان و --پسوند گزینه.
توجه داشته باشید که اگر مشخص نکنید --پشتیبان- کارگردان، (1) ---moit-dir-times گزینه خواهد شد
ضمنی باشد، و (2) اگر --حذف نیز در حال اجرا است (بدون --حذف-حذف شد),
rsync یک قانون فیلتر "محافظت" را برای پسوند پشتیبان به انتهای همه موارد شما اضافه می کند.
مستثنیات موجود (مثلاً -f "P *~"). با این کار از فایلهای پشتیبانگیری قبلی جلوگیری میشود
از حذف شدن توجه داشته باشید که اگر قوانین فیلتر خود را ارائه می کنید، ممکن است
باید به صورت دستی قانون حذف/حفاظت خود را در جایی بالاتر درج کنید
فهرست کنید تا از اولویت بالایی برخوردار باشد تا موثر باشد (مثلاً اگر قوانین شما
یک گنجاندن/استثنای پس از '*' را مشخص کنید، قانون افزودن خودکار هرگز نخواهد بود
رسیده).
--backup-dir=DIR
در ترکیب با --پشتیبان گیری گزینه، این به rsync میگوید که همه نسخههای پشتیبان را در آن ذخیره کند
دایرکتوری مشخص شده در سمت دریافت کننده این را می توان برای افزایشی استفاده کرد
پشتیبان گیری علاوه بر این می توانید یک پسوند پشتیبان را با استفاده از --پسوند انتخاب
(در غیر این صورت فایل های پشتیبان گیری شده در دایرکتوری مشخص شده اصلی خود را حفظ خواهند کرد
نام فایل ها).
توجه داشته باشید که اگر یک مسیر نسبی را مشخص کنید، دایرکتوری پشتیبان نسبی خواهد بود
دایرکتوری مقصد، بنابراین احتمالاً می خواهید یک مسیر مطلق را مشخص کنید
یا مسیری که با "../" شروع می شود. اگر یک دیمون rsync گیرنده است، نسخه پشتیبان
dir نمی تواند از سلسله مراتب مسیر ماژول خارج شود، بنابراین بیشتر مراقب باشید که حذف نشود
آن را یا در آن کپی کنید.
--پسوند=پسوند
این گزینه به شما این امکان را می دهد که پسوند پیش فرض پشتیبان مورد استفاده با the را لغو کنید --پشتیبان گیری
(-b) گزینه. پسوند پیش فرض یک ~ است اگر نه --پشتیبان گیری- کارگردان مشخص شد، در غیر این صورت
یک رشته خالی است
-u، --به روز رسانی
این امر rsync را مجبور می کند تا از هر فایلی که در مقصد وجود دارد و دارای a
زمان اصلاح شده که جدیدتر از فایل منبع است. (اگر فایل مقصد موجود است
دارای زمان اصلاح برابر با فایل منبع است، در صورت اندازه ها به روز می شود
متفاوت هستند.)
توجه داشته باشید که این روی کپی کردن آدرسها، پیوندهای نمادین یا سایر موارد خاص تأثیری ندارد
فایل ها. همچنین، تفاوت فرمت فایل بین فرستنده و گیرنده همیشه وجود دارد
مهم نیست که چه تاریخی برای به روز رسانی به اندازه کافی مهم است
اشیاء. به عبارت دیگر، اگر منبع دارای دایرکتوری باشد که در آن مقصد دارای a
انتقال بدون در نظر گرفتن مهر زمانی انجام می شود.
این گزینه یک قانون انتقال است، نه یک استثنا، بنابراین بر روی دادهها تأثیر نمیگذارد
به لیست فایل ها می رود و بنابراین بر حذف ها تأثیری نمی گذارد. این فقط محدود می کند
فایل هایی که گیرنده درخواست انتقال آنها را دارد.
--درجا
این گزینه نحوه انتقال فایل rsync را در زمانی که داده های آن نیاز به به روز رسانی دارد، تغییر می دهد:
به جای روش پیش فرض ایجاد یک کپی جدید از فایل و انتقال آن به داخل
زمانی که کامل شد، rsync در عوض داده های به روز شده را مستقیماً در آن می نویسد
فایل مقصد
این چندین اثر دارد:
o لینک های سخت خراب نیستند. این بدان معنی است که داده های جدید از طریق قابل مشاهده خواهند بود
سایر پیوندهای سخت به فایل مقصد. علاوه بر این، تلاش برای کپی کردن
فایل های مبدأ متفاوت بر روی یک فایل مقصد چند پیوندی ایجاد می شود
در یک "طناب کشی" با داده های مقصد در حال تغییر جلو و عقب.
o باینری های در حال استفاده نمی توانند به روز شوند (یا سیستم عامل از این امر جلوگیری می کند
اتفاق می افتد، یا باینری هایی که سعی می کنند داده های خود را مبادله کنند، رفتار نادرست دارند یا
تصادف در).
o داده های فایل در حین انتقال در حالت ناهماهنگ خواهند بود
در صورت قطع شدن انتقال یا عدم موفقیت در بهروزرسانی، به همین شکل باقی میماند.
o فایلی که rsync نمی تواند روی آن بنویسد، به روز نمی شود. در حالی که یک کاربر فوق العاده می تواند
به روز رسانی هر فایل، یک کاربر معمولی باید اجازه نوشتن برای آن اعطا شود
باز کردن فایل برای نوشتن موفق.
o کارایی الگوریتم انتقال دلتا rsync ممکن است کاهش یابد
داده های موجود در فایل مقصد قبل از کپی شدن در a رونویسی می شوند
موقعیت بعدی در فایل در صورت استفاده این مورد اعمال نمی شود --پشتیبان گیری، از آنجا که
rsync به اندازه کافی هوشمند است که از فایل پشتیبان به عنوان فایل پایه استفاده کند
منتقل کردن.
اخطار: شما نباید از این گزینه برای به روز رسانی فایل هایی که توسط آن ها در دسترس هستند استفاده کنید
دیگران، بنابراین هنگام انتخاب استفاده از آن برای کپی مراقب باشید.
این گزینه برای انتقال فایل های حجیم با تغییرات مبتنی بر بلوک یا
داده های ضمیمه شده، و همچنین در سیستم هایی که به دیسک متصل هستند، نه محدود به شبکه. می تواند
همچنین کمک می کند تا عکس فوری سیستم فایل کپی روی نوشتن از کل جدا نشود
محتویات فایلی که فقط تغییرات جزئی دارد.
گزینه دلالت دارد --جزئي (از آنجایی که انتقال قطع شده باعث حذف نمی شود
فایل)، اما با -- جزئی- کارگردان و -- تاخیر به روز رسانی. قبل از rsync 2.6.4
--درجا نیز ناسازگار بود با --مقایسه-بهترین و --link-dest.
--پیوست
این باعث می شود rsync یک فایل را با اضافه کردن داده ها در انتهای فایل به روز کند.
که فرض می کند داده هایی که از قبل در سمت گیرنده وجود دارد یکسان است
با شروع فایل در سمت ارسال. اگر فایلی نیاز به انتقال دارد
و اندازه آن در گیرنده یکسان یا بلندتر از اندازه فرستنده است
فایل حذف شده است این در به روز رسانی غیرمحتوای فایل تداخلی ندارد
ویژگی ها (مثلا مجوزها، مالکیت، و غیره) زمانی که فایل نیازی به وجود ندارد
انتقال داده می شود و بر به روز رسانی فایل های غیر عادی تأثیر نمی گذارد. دلالت دارد
--درجا، اما منافاتی با --پراکنده (از آنجایی که همیشه در حال گسترش است
طول فایل).
--پیوست-تأیید
این درست مانند کار می کند --پیوست گزینه، اما داده های موجود در دریافت
سمت در مرحله تأیید جمعبندی کامل فایل گنجانده شده است، که باعث a
اگر مرحله تأیید نهایی با شکست مواجه شد، فایل دوباره ارسال می شود (rsync از یک نرمال استفاده می کند،
غیر الحاقی --درجا انتقال برای ارسال مجدد).
توجه: قبل از rsync 3.0.0، --پیوست گزینه مانند کار کرد --پیوست-تأیید، بنابراین اگر
شما در حال تعامل با یک rsync قدیمی هستید (یا انتقال از یک پروتکل قبلی استفاده می کند
تا 30)، با مشخص کردن هر یک از گزینههای ضمیمه، an آغاز میشود --پیوست-تأیید منتقل کردن.
-د، -- کارگردانان
به طرف فرستنده بگویید هر دایرکتوری که با آن مواجه می شود را وارد کند. بر خلاف
- بازگشتی، محتویات دایرکتوری کپی نمی شود مگر اینکه نام دایرکتوری باشد
مشخص شده "." یا با یک اسلش انتهایی به پایان می رسد (به عنوان مثال "."، "dir/."، "dir/"، و غیره).
بدون این گزینه یا - بازگشتی گزینه، rsync تمام دایرکتوری ها را رد می کند
برخوردها (و برای هر یک پیامی به همین منظور ارسال کنید). اگر هر دو را مشخص کنید
-- کارگردانان و - بازگشتی, - بازگشتی اولویت دارد.
La -- کارگردانان گزینه ای است که توسط --فایلها-از گزینه یا ---فقط لیست انتخاب
(از جمله ضمنی ---فقط لیست استفاده) اگر - بازگشتی مشخص نشده بود (بنابراین
دایرکتوری ها در لیست دیده می شوند). مشخص كردن --بدون کارگردان (و یا --نه-د) اگر شما می خواهید
این را خاموش کن
همچنین یک گزینه کمکی سازگار با عقب وجود دارد، -- قدیمی-dirs (و یا --قدیمی-د) که
به rsync می گوید که از هک "-r --exclude='/*/*'" استفاده کند تا یک rsync قدیمی تر را فهرست کند
تک دایرکتوری بدون تکرار
-ل، -- پیوندها
هنگامی که با پیوندهای نمادین مواجه می شوید، پیوند نمادین را در مقصد دوباره ایجاد کنید.
-ل، --کپی-پیوندها
هنگامی که با پیوندهای نمادین مواجه می شوید، موردی که آنها به آن اشاره می کنند (مرجع) است
به جای پیوند نمادین، کپی شده است. در نسخه های قدیمی rsync نیز این گزینه وجود داشت
عواقب جانبی گفتن به طرف گیرنده برای دنبال کردن پیوندهای نمادین، مانند پیوندهای نمادین
به دایرکتوری ها در یک rsync مدرن مانند این، باید مشخص کنید
--keep-dirlinks (-K) برای به دست آوردن این رفتار اضافی. تنها استثنا زمانی است
ارسال فایل ها به یک rsync که برای درک آن خیلی قدیمی است -K -- در آن صورت، -L
گزینه هنوز هم عوارض جانبی خواهد داشت -K در آن rsync دریافت کننده قدیمی.
--کپی-ناامن-لینک ها
این به rsync میگوید که مرجع پیوندهای نمادین را که خارج از آن هستند کپی کند
درخت کپی شده پیوندهای نمادین مطلق نیز مانند فایلهای معمولی در نظر گرفته میشوند و همینطور است
هر گونه پیوند نمادین در خود مسیر منبع زمانی که --نسبت فامیلی استفاده می شود. این گزینه ندارد
اثر اضافی اگر --کپی-پیوندها نیز مشخص شد.
---پیوندهای امن
این به rsync میگوید که هر پیوند نمادینی را که خارج از درخت کپی شده قرار دارد نادیده بگیرد.
تمام پیوندهای نمادین مطلق نیز نادیده گرفته می شوند. استفاده از این گزینه در ارتباط با
--نسبت فامیلی ممکن است نتایج غیر منتظره ای به همراه داشته باشد.
--munge-links
این گزینه به rsync میگوید که (1) همه پیوندهای نمادین سمت گیرنده را به نحوی تغییر دهد
که آنها را غیرقابل استفاده اما قابل بازیابی (نگاه کنید به زیر) می کند، یا (2) برای unmunge symlinks در
طرف فرستنده که در حالت مانگ ذخیره شده بود. این مفید است اگر شما
به منبع داده کاملاً اعتماد نکنید تا سعی نکنید یک پیوند نمادین را به a لغزش دهید
مکان غیر منتظره
روشی که rsync استفاده از symlink ها را غیرفعال می کند، پیشوند هر یک با رشته است
"/rsyncd-munged/". این امر از استفاده از پیوندها تا زمانی که آن زمان جلوگیری می کند
دایرکتوری وجود ندارد وقتی این گزینه فعال باشد، rsync از اجرا در این صورت امتناع می کند
آن مسیر یک دایرکتوری یا یک پیوند نمادین به یک دایرکتوری است.
این گزینه فقط روی سمت مشتری انتقال تأثیر می گذارد، بنابراین اگر به آن نیاز دارید
سرور را تحت تأثیر قرار دهید، آن را از طریق مشخص کنید -- گزینه از راه دور. (توجه داشته باشید که در انتقال محلی،
سمت مشتری فرستنده است.)
این گزینه هیچ تاثیری بر روی دیمون ندارد، زیرا دیمون تنظیماتی را که بخواهد انجام می دهد
Symlinks از طریق پارامتر "munge symlinks" آن. همچنین به "munge-symlinks" مراجعه کنید
اسکریپت perl در دایرکتوری پشتیبانی کد منبع.
-k، --کپی-dirlinks
این گزینه باعث می شود که طرف فرستنده با یک پیوند نمادین به یک دایرکتوری به گونه ای رفتار کند که انگار آن را دارد
یک دایرکتوری واقعی بودند اگر نمیخواهید پیوندهای نمادین داشته باشید، این کار مفید است
غیر دایرکتوری ها تحت تأثیر قرار می گیرند، همانطور که آنها استفاده می کنند --کپی-پیوندها.
بدون این گزینه، اگر طرف فرستنده دایرکتوری را با یک پیوند نمادین جایگزین کرده باشد
یک دایرکتوری، طرف دریافت کننده هر چیزی را که در مسیر جدید قرار دارد حذف می کند
Symlink، از جمله سلسله مراتب دایرکتوری (تا زمانی که --زور or --حذف هست در
اثر)
همچنین مشاهده کنید --keep-dirlinks برای یک گزینه مشابه برای سمت گیرنده.
--کپی-dirlinks برای همه پیوندهای نمادین به دایرکتوری های موجود در منبع اعمال می شود. اگر بخواهید
برای دنبال کردن فقط چند پیوند مشخص شده، ترفندی که می توانید استفاده کنید این است که آنها را به عنوان ارسال کنید
منبع اضافی با یک اسلش انتهایی، با استفاده از --نسبت فامیلی برای ساختن مسیرها
درست مطابقت دهید مثلا:
rsync -r --relative src/./ src/./follow-me/ dest/
این کار می کند زیرا rsync تماس می گیرد lstat(2) در منبع arg همانطور که داده شده است، و
اسلش دنباله دار می سازد lstat(2) پیوند نمادین را دنبال کنید و یک دایرکتوری در آن ایجاد کنید
فهرست فایل که پیوند نمادین یافت شده در حین اسکن "src/./" را لغو می کند.
-K، --keep-dirlinks
این گزینه باعث می شود که طرف گیرنده با یک پیوند نمادین به یک دایرکتوری به گونه ای رفتار کند
این یک دایرکتوری واقعی بود، اما تنها در صورتی که با دایرکتوری واقعی فرستنده مطابقت داشته باشد.
بدون این گزینه، سیم لینک گیرنده حذف می شود و با a جایگزین می شود
دایرکتوری واقعی
به عنوان مثال، فرض کنید یک دایرکتوری "foo" را که حاوی یک فایل "file" است، منتقل کنید.
اما "foo" یک پیوند نمادین به دایرکتوری "bar" روی گیرنده است. بدون
--keep-dirlinks، گیرنده پیوند نمادین "foo" را حذف می کند، آن را به عنوان دایرکتوری دوباره ایجاد می کند،
و فایل را در دایرکتوری جدید دریافت می کند. با --keep-dirlinks، گیرنده
Symlink را نگه می دارد و "فایل" به "bar" ختم می شود.
یک نکته احتیاط: اگر استفاده می کنید --keep-dirlinks، باید به همه پیوندها اعتماد کنید
در کپی! اگر ممکن است یک کاربر غیرقابل اعتماد سیملینک خود را ایجاد کند
در هر دایرکتوری، کاربر می تواند سپس (در یک کپی بعدی) سیم پیوند را جایگزین کند
با یک دایرکتوری واقعی و بر محتوای هر دایرکتوری که پیوند نمادین است تأثیر می گذارد
منابع. برای نسخه های پشتیبان، بهتر است از چیزی مانند bind استفاده کنید
برای تغییر سلسله مراتب دریافتی خود، به جای یک پیوند نمادین، mount کنید.
همچنین مشاهده کنید --کپی-dirlinks برای یک گزینه مشابه برای طرف ارسال کننده.
-H، -- پیوندهای سخت
این به rsync میگوید که به دنبال فایلهای پیوند سخت در منبع بگردد و آنها را به هم پیوند دهد
فایل های مربوطه در مقصد بدون این گزینه، فایل های پیوند سخت وارد می شوند
با منبع به گونه ای رفتار می شود که گویی فایل های جداگانه ای هستند.
این گزینه لزوماً تضمین نمی کند که الگوی پیوندهای سخت بر روی
مقصد دقیقاً با مقصد مطابقت دارد. مواردی که مقصد ممکن است
در نهایت با پیوندهای سخت اضافی شامل موارد زیر است:
o اگر مقصد حاوی پیوندهای سخت خارجی باشد (پیوندهای بیشتر از آنچه هست
موجود در لیست فایل منبع)، الگوریتم کپی آنها را خراب نمی کند
به صراحت با این حال، اگر یک یا چند مسیر دارای تفاوت محتوایی باشند،
فرآیند عادی بهروزرسانی فایل، پیوندهای اضافی را از بین میبرد (مگر اینکه اینطور نباشید
با استفاده از --درجا گزینه).
o اگر الف را مشخص کنید --link-dest دایرکتوری که حاوی پیوندهای سخت است، پیوند
از فایل های مقصد در برابر --link-dest فایل ها می توانند باعث ایجاد برخی مسیرها شوند
در مقصد برای تبدیل شدن به یکدیگر به دلیل --link-dest
انجمن ها
توجه داشته باشید که rsync فقط میتواند پیوندهای سخت بین فایلهایی را که در داخل هستند شناسایی کند
مجموعه انتقال اگر rsync فایلی را که دارای اتصالات هارد لینک اضافی است به روز کند
فایل های خارج از انتقال، آن پیوند خراب خواهد شد. اگر وسوسه شدید استفاده کنید
la --درجا گزینه ای برای جلوگیری از این شکستگی، بسیار مراقب باشید که می دانید چگونه خود را
فایل ها در حال به روز رسانی هستند تا مطمئن شوید که هیچ تغییر ناخواسته ای رخ نمی دهد
به دلیل پیوندهای سخت طولانی مدت (و ببینید --درجا گزینه ای برای هشدارهای بیشتر).
اگر بازگشت افزایشی فعال باشد (نگاه کنید به - بازگشتی)، rsync ممکن است یک مورد گم شده را منتقل کند
قبل از اینکه متوجه شود پیوند دیگری برای آن محتوا وجود دارد، یک فایل سخت پیوند شده است
در جای دیگر سلسله مراتب این روی دقت انتقال تاثیری ندارد
(یعنی کدام فایل ها با هم پیوند سخت دارند)، فقط کارایی آن (یعنی کپی کردن
دادههای یک کپی جدید و اولیه از یک فایل پیوند سخت که میتوانست بعداً پیدا شود
در انتقال در یکی دیگر از اعضای مجموعه فایل های پیوند سخت). یک راه برای
اجتناب از این ناکارآمدی غیرفعال کردن بازگشت افزایشی با استفاده از
--no-inc-recursive گزینه.
-پ، -- perms
این گزینه باعث می شود rsync دریافت کننده مجوزهای مقصد را تعیین کند
همانند مجوزهای منبع (همچنین نگاه کنید به -- chmod گزینه ای برای روشی برای اصلاح
آنچه rsync به عنوان مجوزهای منبع در نظر می گیرد.)
وقتی این گزینه است خاموش، مجوزها به صورت زیر تنظیم می شوند:
o فایل های موجود (از جمله فایل های به روز شده) مجوزهای موجود خود را حفظ می کنند،
هرچند -قابل اجرا گزینه ممکن است فقط مجوز اجرا را تغییر دهد
برای پرونده
o فایل های جدید بیت های مجوز "عادی" خود را روی فایل منبع تنظیم می کنند
مجوزهای پوشانده شده با مجوزهای پیش فرض دایرکتوری دریافت کننده
(یا umask فرآیند دریافت، یا مجوزهای مشخص شده از طریق
ACL پیشفرض دایرکتوری مقصد) و بیتهای مجوز ویژه آنها
غیرفعال می شود مگر در مواردی که دایرکتوری جدید یک بیت setgid را از آن به ارث می برد
دایرکتوری مادر آن
بنابراین ، هنگامی که -- perms و -قابل اجرا هر دو غیر فعال هستند، رفتار rsync این است
مانند سایر ابزارهای کپی فایل، مانند cp(1) و قیر(1).
به طور خلاصه: برای دادن مجوزهای منبع به فایل های مقصد (چه قدیمی و چه جدید)،
استفاده کنید -- perms. برای دادن مجوزهای پیشفرض مقصد به فایلهای جدید (هنگام خروج
فایل های موجود بدون تغییر)، مطمئن شوید که -- perms گزینه خاموش است و استفاده کنید
--chmod=ugo=rwX (که تضمین می کند همه بیت های غیر ماسک فعال می شوند). اگر شما می خواهید
برای اینکه تایپ کردن این رفتار دوم را آسانتر کنید، میتوانید یک نام مستعار popt برای آن تعریف کنید
مانند قرار دادن این خط در فایل ~/.popt (در زیر تعریف می شود -Z
گزینه، و شامل --no-g برای استفاده از گروه پیشفرض مقصد dir):
نام مستعار rsync -Z --no-p --no-g --chmod=ugo=rwX
سپس می توانید از این گزینه جدید در دستوری مانند این استفاده کنید:
rsync -avZ src/ dest/
(اخطار: مطمئن شوید که -a دنبال نمی کند -Z، یا این دو را دوباره فعال می کند
گزینه های "--no-*" ذکر شده در بالا.)
حفظ بیت setgid مقصد در دایرکتوری های تازه ایجاد شده وقتی
-- perms is off در rsync 2.6.7 اضافه شد. نسخه های قدیمی rsync به اشتباه
هنگامی که سه بیت مجوز ویژه برای فایل های تازه ایجاد شده حفظ شد -- perms
خاموش بود، در حالی که تنظیمات بیت setgid مقصد را روی یک تازه ایجاد شده نادیده گرفت
فهرست راهنما. رعایت پیش فرض ACL به پچ ACL برای rsync 2.6.7 اضافه شد، بنابراین
Rsync های قدیمی (یا غیر فعال ACL) از umask استفاده می کنند حتی اگر ACL های پیش فرض وجود داشته باشند.
(به خاطر داشته باشید که این نسخه rsync دریافت کننده است که بر این موارد تأثیر می گذارد
رفتار.)
-E، -قابل اجرا
این گزینه باعث می شود rsync قابلیت اجرایی (یا غیرقابل اجرا بودن) را حفظ کند
فایل های معمولی وقتی -- perms فعال نیست یک فایل معمولی در نظر گرفته می شود
اگر حداقل یک «x» در مجوزهای آن روشن باشد، قابل اجرا است. زمانی که یک موجود
قابلیت اجرایی فایل مقصد با منبع مربوطه متفاوت است
فایل، rsync مجوزهای فایل مقصد را به صورت زیر تغییر می دهد:
o برای غیرقابل اجرا کردن یک فایل، rsync تمام مجوزهای x خود را خاموش می کند.
o برای قابل اجرا کردن یک فایل، rsync هر مجوز x را که دارای a است روشن می کند
مجوز "r" مربوطه فعال شد.
If -- perms فعال است، این گزینه نادیده گرفته می شود.
-آ، -- acls
این گزینه باعث می شود rsync ACL های مقصد را به روز کند تا همان ACL های مقصد باشند
منبع ACL گزینه نیز دلالت دارد -- perms.
سیستم های مبدا و مقصد باید ورودی های ACL سازگار برای این گزینه داشته باشند
به درستی کار کند. را ببینید جعلی-فوق العاده گزینه ای برای راهی برای پشتیبان گیری و بازیابی ACL ها
که سازگار نیستند
-ایکس، --xattrs
این گزینه باعث می شود rsync ویژگی های توسعه یافته مقصد را به روز کند
همانند منابع
برای سیستم هایی که از فضاهای نام با ویژگی های توسعه یافته پشتیبانی می کنند، یک کپی توسط a انجام می شود
super-user همه فضاهای نام به جز سیستم را کپی می کند.*. یک کاربر معمولی فقط آن را کپی می کند
user.* فضای نام. امکان پشتیبان گیری و بازیابی فضای نام غیر کاربری به صورت عادی
کاربر، مشاهده کنید جعلی-فوق العاده گزینه.
توجه داشته باشید که این گزینه مقادیر خاص xattr rsyncs را کپی نمی کند (مثلاً مقادیر استفاده شده توسط
جعلی-فوق العاده) مگر اینکه گزینه را تکرار کنید (مثلا -XX). این حالت "کپی همه xattrs" است
قابل استفاده با جعلی-فوق العاده.
-- chmod
این گزینه به rsync می گوید که یک یا چند حالت "chmod" جدا شده با کاما را در
مجوز فایل ها در انتقال با مقدار به دست آمده طوری رفتار می شود که انگار
این مجوزهایی بود که طرف فرستنده برای فایل ارائه کرد، به این معنی
که به نظر می رسد این گزینه بر روی فایل های موجود تاثیری ندارد اگر -- perms نیست
فعال شده است
علاوه بر قوانین تجزیه معمولی مشخص شده در chmod(1) manpage، شما می توانید
موردی را مشخص کنید که فقط باید با یک پیشوند دایرکتوری اعمال شود،
یا یک مورد را مشخص کنید که فقط باید برای یک فایل با پیشوند "F" اعمال شود.
به عنوان مثال، موارد زیر تضمین می کند که همه دایرکتوری ها دارای علامت set-gid هستند.
که هیچ فایلی قابل نوشتن نیست، هر دو قابل نوشتن توسط کاربر و گروه قابل نوشتن هستند،
و اینکه هر دو قابلیت اجرایی ثابت در تمام بیت ها دارند:
--chmod=Dg+s،ug+w،Fo-w،+X
استفاده از اعداد حالت هشتگانه نیز مجاز است:
--chmod=D2775,F664
همچنین تعیین چندگانه قانونی است -- chmod گزینه ها، همانطور که هر گزینه اضافی است
فقط به لیست تغییراتی که باید انجام دهید اضافه شده است.
مشاهده -- perms و -قابل اجرا گزینه هایی برای چگونگی مقدار مجوز حاصل
را می توان برای فایل های موجود در انتقال اعمال کرد.
-و ، -- مالک
این گزینه باعث می شود که rsync صاحب فایل مقصد را یکسان تنظیم کند
فایل منبع، اما فقط در صورتی که rsync دریافت کننده به عنوان کاربر فوق العاده اجرا شود
(همچنین مراجعه کنید -- فوق العاده و جعلی-فوق العاده گزینه ها). بدون این گزینه، صاحب
فایل های جدید و/یا انتقال یافته برای کاربر فراخوان در سمت دریافت کننده تنظیم می شوند.
حفظ مالکیت به صورت پیشفرض نامهای منطبق را مرتبط میکند، اما ممکن است
در برخی شرایط به استفاده از شماره شناسه بازگردید (همچنین به --شماره شناسه ها
گزینه ای برای یک بحث کامل).
-g، -- گروه
این گزینه باعث می شود rsync گروه فایل مقصد را به همان صورت تنظیم کند
فایل منبع اگر برنامه دریافت کننده به عنوان کاربر فوق العاده (یا اگر
-- نه فوق العاده مشخص شد)، تنها گروه هایی که کاربر فراخوان در سمت دریافت کننده است
عضوی از حفظ خواهد شد. بدون این گزینه، گروه روی مقدار تنظیم می شود
گروه پیش فرض کاربر فراخوان در سمت گیرنده.
حفظ اطلاعات گروه به طور پیشفرض نامهای منطبق را مرتبط میکند، اما
ممکن است در برخی شرایط به استفاده از شماره شناسه بازگردد (همچنین رجوع کنید به
--شماره شناسه ها گزینه ای برای یک بحث کامل).
--دستگاه ها
این گزینه باعث می شود rsync کاراکتر را منتقل کند و فایل های دستگاه را به ریموت مسدود کند
سیستمی برای بازسازی این دستگاه ها اگر rsync گیرنده باشد این گزینه تاثیری ندارد
به عنوان کاربر فوق العاده اجرا نمی شود (همچنین به -- فوق العاده و جعلی-فوق العاده گزینه ها).
-- ویژه
این گزینه باعث می شود تا rsync فایل های خاصی مانند سوکت های با نام و fifos را منتقل کند.
-D La -D گزینه معادل است --دستگاه ها -- ویژه.
-t، --بار
این به rsync میگوید که زمانهای اصلاح را به همراه فایلها و بهروزرسانی منتقل کند
آنها را در سیستم راه دور توجه داشته باشید که در صورت عدم استفاده از این گزینه، بهینه سازی انجام می شود
که حذف فایل هایی که اصلاح نشده اند نمی تواند موثر باشد. در دیگر
کلمات، یک گمشده -t or -a باعث می شود انتقال بعدی طوری رفتار کند که گویی استفاده شده است -I,
باعث می شود همه فایل ها به روز شوند (اگرچه الگوریتم انتقال دلتا rsync باعث می شود
اگر فایل ها واقعاً تغییر نکرده باشند، به روز رسانی نسبتاً کارآمد است
بهتر است استفاده کنید -t).
-اوه ---moit-dir-times
این به rsync میگوید که وقتی زمانهای اصلاح را حفظ میکند، دایرکتوریها را حذف کند (نگاه کنید به
--بار). اگر NFS دایرکتوری ها را در سمت گیرنده به اشتراک بگذارد، خوب است
ایده برای استفاده -O. این گزینه در صورت استفاده استنباط می شود --پشتیبان گیری بدون --پشتیبان- کارگردان.
این گزینه همچنین دارای اثر جانبی جلوگیری از ایجاد زودهنگام دایرکتوری ها در آن است
کپی های بازگشتی افزایشی پیشفرض --inc-recursive کپی کردن به طور معمول انجام می دهد
به منظور آن، همه زیرشاخههای موجود در دایرکتوری والد را زودتر ایجاد کنید
تا بتوانید بلافاصله زمان تغییر دایرکتوری والد را تنظیم کنید (بدون
باید آن را به تأخیر بیندازید تا زمانی که تعدادی از کپی های بازگشتی به پایان برسد). این
اگر زمانهای تغییر دایرکتوری وجود نداشته باشد، اصطلاح اولیه ایجاد ضروری نیست
حفظ می شود، بنابراین از آن صرف نظر می شود. از آنجایی که دایرکتوری های اولیه درست نیستند
حالت، mtime یا مالکیت، استفاده از این گزینه می تواند زمانی که شخصی بخواهد کمک کند
از این دایرکتوری های نیمه تمام شده اجتناب کنید.
-جی، ---omit-link-times
این به rsync میگوید که وقتی زمانهای اصلاح را حفظ میکند، پیوندهای نمادین را حذف کند (نگاه کنید به
--بار).
-- فوق العاده
این به طرف گیرنده میگوید که حتی اگر این کار را انجام دهد، فعالیتهای فوق کاربر را انجام دهد
دریافت rsync توسط فوق کاربر اجرا نشد. این فعالیت ها عبارتند از: حفظ
کاربران از طریق -- مالک گزینه، حفظ همه گروه ها (نه فقط کاربر فعلی
گروه ها) از طریق --گروه ها گزینه، و کپی کردن دستگاه ها از طریق --دستگاه ها گزینه.
این برای سیستمهایی مفید است که چنین فعالیتهایی را بدون اینکه کاربر فوقالعاده باشند اجازه میدهند،
و همچنین برای اطمینان از اینکه اگر طرف دریافت کننده وجود نداشته باشد، خطا دریافت خواهید کرد
به عنوان کاربر فوق العاده اجرا شود. برای خاموش کردن فعالیتهای سوپرکاربر، کاربر فوقالعاده میتواند استفاده کند
-- نه فوق العاده.
جعلی-فوق العاده
هنگامی که این گزینه فعال است، rsync فعالیت های فوق کاربر را شبیه سازی می کند
ذخیره/بازیابی ویژگی های ممتاز از طریق ویژگی های توسعه یافته ویژه که هستند
پیوست به هر فایل (در صورت نیاز). این شامل مالک و گروه فایل (اگر باشد
پیش فرض نیست)، اطلاعات دستگاه فایل (دستگاه و فایل های خاص به عنوان ایجاد می شوند
فایلهای متنی خالی)، و هر بیت مجوزی که اجازه نمیدهیم روی آن تنظیم شود
فایل واقعی (مثلاً فایل واقعی ما، gs، ot را برای ایمنی دریافت می کند) یا این باعث محدود شدن آن می شود
دسترسی مالک (از آنجایی که ابرکاربر واقعی همیشه می تواند به یک فایل دسترسی داشته باشد/تغییر دهد
فایل هایی که ما ایجاد می کنیم همیشه می توانند توسط کاربر ایجاد کننده قابل دسترسی/تغییر باشند). این گزینه
همچنین ACL ها را کنترل می کند (اگر -- acls مشخص شد) و ویژگی های توسعه یافته غیر کاربر (اگر
--xattrs مشخص شد).
این یک راه خوب برای پشتیبان گیری از داده ها بدون استفاده از یک کاربر فوق العاده و ذخیره ACL است
از سیستم های ناسازگار
La جعلی-فوق العاده گزینه فقط روی طرفی که از آن گزینه استفاده می شود تأثیر می گذارد. تحت تاثیر قرار دادن
سمت راه دور یک اتصال پوسته راه دور، از -- گزینه از راه دور (-M) گزینه:
rsync -av -M--fake-super /src/ host:/dest/
برای یک کپی محلی، این گزینه هم منبع و هم مقصد را تحت تاثیر قرار می دهد. اگر شما
یک کپی محلی برای فعال کردن این گزینه فقط برای فایل های مقصد، مشخص کنید
-M--جعلی-سوپر. اگر می خواهید یک کپی محلی داشته باشید تا این گزینه را فقط برای منبع فعال کنید
فایل ها، ترکیب کنید جعلی-فوق العاده با -M--فوق العاده.
این گزینه توسط هر دو لغو می شود -- فوق العاده و -- نه فوق العاده.
همچنین تنظیمات "fake super" را در فایل rsyncd.conf دیمون ببینید.
-S، --پراکنده
سعی کنید فایل های پراکنده را به طور کارآمد مدیریت کنید تا فضای کمتری را در فایل اشغال کنند
مقصد درگیری با --درجا زیرا امکان بازنویسی داده ها وجود ندارد
به صورت پراکنده
--پیش تخصیص
این به گیرنده می گوید که هر فایل مقصد را به اندازه نهایی خود اختصاص دهد
قبل از نوشتن داده ها در فایل Rsync فقط از سطح فایل سیستم واقعی استفاده می کند
پشتیبانی از پیش تخصیص ارائه شده توسط لینوکس سقوط کردن(2) تماس سیستمی یا Cygwin's
posix_fallocate(3)، نه اجرای آهسته glibc که یک بایت صفر را در آن می نویسد
هر بلوک
بدون این گزینه، فایل های بزرگتر ممکن است به طور کامل روی سیستم فایل به هم پیوسته نباشند.
اما با این گزینه rsync احتمالا کندتر کپی می کند. اگر مقصد باشد
این گزینه یک فایل سیستم پشتیبانی کننده گسترده نیست (مانند ext4، xfs، NTFS، و غیره)
ممکنه اصلا تاثیر مثبتی نداشته باشه
-n، -- خشک اجرا شود
این باعث می شود rsync یک اجرای آزمایشی انجام دهد که هیچ تغییری ایجاد نمی کند (و تولید می کند
اکثرا همان خروجی یک اجرا واقعی). بیشتر به صورت ترکیبی استفاده می شود
با -v، -- پرحرف و / یا -من، --itemize-changes گزینه هایی برای دیدن آنچه rsync است
دستور قرار است قبل از اجرای واقعی آن انجام شود.
خروجی از --itemize-changes قرار است دقیقاً در یک اجرا خشک و
اجرای واقعی بعدی (ممنوع از فریب عمدی و شکست سیستم). اگر
این یک اشکال است. سایر خروجی ها باید عمدتاً بدون تغییر باشند، اما ممکن است متفاوت باشند
برخی از مناطق قابل ذکر است که اجرای خشک داده های واقعی را برای انتقال فایل ارسال نمی کند.
so --پیش رفتن هیچ تاثیری ندارد، "بایت های ارسال شده"، "بایت های دریافت شده"، "داده های تحت اللفظی"،
و آمار "داده های منطبق" بسیار کوچک هستند و مقدار "speedup" معادل است
به یک اجرا که در آن هیچ انتقال فایل مورد نیاز نیست.
-W، --کل فایل
با این گزینه از الگوریتم دلتا انتقال rsync استفاده نمی شود و کل فایل استفاده می شود
به جای آن همانطور که هست ارسال شد. انتقال ممکن است سریعتر باشد اگر از این گزینه استفاده شود
پهنای باند بین ماشین های مبدا و مقصد بیشتر از پهنای باند است
به دیسک (به خصوص زمانی که "دیسک" در واقع یک فایل سیستم شبکه ای باشد). این هست
پیشفرض زمانی که منبع و مقصد هر دو به عنوان مسیرهای محلی مشخص شده باشند، اما
تنها در صورتی که هیچ گزینه ای برای نوشتن دسته ای وجود نداشته باشد.
-ایکس، - سیستم یک فایل
این به rsync میگوید که هنگام تکرار، از عبور از مرز سیستم فایل خودداری کند. این کار را انجام می دهد
توانایی کاربر برای تعیین موارد برای کپی کردن از چندین سیستم فایل را محدود نکنید،
فقط بازگشت rsync از طریق سلسله مراتب هر دایرکتوری که کاربر دارد
مشخص شده، و همچنین بازگشت مشابه در سمت دریافت کننده در هنگام حذف.
همچنین به خاطر داشته باشید که rsync یک پایه اتصال به همان دستگاه را مانند روشن بودن در نظر می گیرد
همان فایل سیستم
اگر این گزینه تکرار شود، rsync همه دایرکتوری های mount-point را از کپی حذف می کند.
در غیر این صورت، شامل یک دایرکتوری خالی در هر نقطه نصبی است که با آن روبرو می شود (با استفاده از
ویژگی های دایرکتوری نصب شده به دلیل ویژگی های مربوط به نقطه اتصال زیرین
دایرکتوری غیرقابل دسترسی هستند).
اگر به rsync گفته شده باشد که پیوندهای نمادین را جمع کند (از طریق --کپی-پیوندها or
--کپی-ناامن-لینک ها، یک پیوند نمادین به یک دایرکتوری در یک دستگاه دیگر مانند یک در نظر گرفته می شود
نقطه اتصال پیوندهای نمادین به غیر دایرکتوری ها تحت تأثیر این گزینه قرار نمی گیرند.
-- موجود، --نادیده گرفتن-غیر موجود
این به rsync میگوید از ایجاد فایلهایی (از جمله دایرکتوریهایی) که وجود ندارند صرفنظر کند
هنوز در مقصد اگر این گزینه با -- نادیده گرفتن-موجود
گزینه، هیچ فایلی به روز نمی شود (که می تواند مفید باشد اگر تنها کاری که می خواهید انجام دهید این باشد
حذف فایل های اضافی).
این گزینه یک قانون انتقال است، نه یک استثنا، بنابراین بر روی دادهها تأثیر نمیگذارد
به لیست فایل ها می رود و بنابراین بر حذف ها تأثیری نمی گذارد. این فقط محدود می کند
فایل هایی که گیرنده درخواست انتقال آنها را دارد.
-- نادیده گرفتن-موجود
این به rsync میگوید از بهروزرسانی فایلهایی که از قبل در مقصد وجود دارند صرفنظر کند (این
میکند نه دایرکتوری های موجود را نادیده بگیرید، وگرنه هیچ کاری انجام نمی شود). همچنین ببینید
-- موجود.
این گزینه یک قانون انتقال است، نه یک استثنا، بنابراین بر روی دادهها تأثیر نمیگذارد
به لیست فایل ها می رود و بنابراین بر حذف ها تأثیری نمی گذارد. این فقط محدود می کند
فایل هایی که گیرنده درخواست انتقال آنها را دارد.
این گزینه می تواند برای کسانی که با استفاده از بک آپ گیری انجام می دهند مفید باشد --link-dest گزینه زمانی که
آنها باید به اجرای پشتیبان که قطع شده است ادامه دهند. از وقتی که --link-dest اجرا
در یک سلسله مراتب دایرکتوری جدید (در صورت استفاده صحیح) با استفاده از --چشم پوشی
موجود اطمینان حاصل می کند که فایل های از قبل مدیریت شده بهینه نمی شوند (که از این کار جلوگیری می کند
تغییر در مجوزها در فایل های پیوند سخت). این به این معنی است که این گزینه
فقط به فایل های موجود در خود سلسله مراتب مقصد نگاه می کند.
--remove-source-files
این به rsync میگوید که فایلها را از سمت ارسال کننده حذف کند (به معنی
غیر دایرکتوری ها) که بخشی از انتقال هستند و با موفقیت انجام شده اند
در سمت دریافت کننده کپی شده است.
توجه داشته باشید که فقط باید از این گزینه در فایل های منبعی استفاده کنید که ساکن هستند. اگر
شما از این برای انتقال فایل هایی که در یک دایرکتوری خاص نمایش داده می شوند استفاده می کنید
یک میزبان دیگر، مطمئن شوید که فایل های تمام شده به منبع تغییر نام داده می شوند
دایرکتوری، مستقیماً در آن نوشته نشده است، به طوری که rsync نمی تواند a را منتقل کند
فایلی که هنوز به طور کامل نوشته نشده است. اگر نمی توانید ابتدا فایل ها را در یک بنویسید
دایرکتوری های مختلف، باید از یک اصطلاح نامگذاری استفاده کنید که اجازه می دهد rsync اجتناب شود
انتقال فایل هایی که هنوز تمام نشده اند (مثلاً نام فایل را "foo.new" بگذارید
نوشته شده است، پس از اتمام نام آن را به "foo" تغییر دهید و سپس از گزینه استفاده کنید
--exclude='*.new' برای انتقال rsync).
با شروع با 3.1.0، rsync حذف سمت فرستنده را رد می کند (و یک خطا را خروجی می دهد)
اگر اندازه فایل یا زمان تغییر آن بدون تغییر باقی نماند.
--حذف
این به rsync میگوید که فایلهای اضافی را از سمت گیرنده حذف کند (آنهایی که
در سمت ارسال نیستند)، اما فقط برای دایرکتوری هایی که در حال وجود هستند
هماهنگ شده شما باید از rsync خواسته باشید که کل دایرکتوری را ارسال کند (به عنوان مثال "dir" یا
"dir/") بدون استفاده از علامت عام برای محتویات دایرکتوری (به عنوان مثال "dir/*")
عام توسط پوسته گسترش می یابد و rsync در نتیجه درخواست انتقال دریافت می کند
فایل های فردی، نه دایرکتوری والد فایل ها. فایل هایی که از آن حذف شده اند
انتقال نیز از حذف حذف می شوند مگر اینکه از آن استفاده کنید
--حذف-حذف شد گزینه یا قوانین را به عنوان تنها در سمت ارسال کننده علامت بزنید
(به بخش شامل/حذف اصلاح کننده ها در بخش FILTER RULES مراجعه کنید).
قبل از rsync 2.6.7، این گزینه هیچ تاثیری ندارد مگر اینکه - بازگشتی بود
فعال شد. با شروع 2.6.7، حذف نیز زمانی رخ می دهد -- کارگردانان (-d) است
فعال است، اما فقط برای دایرکتوری هایی که محتوای آنها کپی می شود.
این گزینه در صورت استفاده نادرست می تواند خطرناک باشد! این ایده بسیار خوبی است که ابتدا
اجرا را با استفاده از -- خشک اجرا شود گزینه (-n) برای دیدن فایل هایی که قرار است باشند
حذف شده.
اگر طرف فرستنده هر گونه خطای ورودی/خروجی را تشخیص دهد، پس از آن هر فایلی را حذف می کند
مقصد به طور خودکار غیرفعال می شود. این برای جلوگیری از فایل سیستم موقت است
خرابی (مانند خطاهای NFS) در سمت ارسال کننده به دلیل ایجاد یک حذف گسترده
فایل های مقصد شما می توانید این را با --نادیده گرفتن-خطاها
گزینه.
La --حذف گزینه ممکن است با یکی از گزینه های --delete-WHEN بدون ترکیب شود
درگیری و همچنین --حذف-حذف شد. با این حال، اگر هیچ یک از --delete-WHEN
گزینه ها مشخص شده است، rsync آن را انتخاب می کند --حذف-در طول الگوریتم هنگام صحبت کردن
برای rsync 3.0.0 یا جدیدتر، و --حذف-قبل الگوریتم هنگام صحبت با بزرگتر
rsync همچنین ببینید --حذف-تاخیر و --حذف-بعد.
--حذف-قبل
درخواست کنید که حذف فایل در سمت دریافت کننده قبل از انتقال انجام شود
شروع می شود. دیدن --حذف (که به طور ضمنی) برای جزئیات بیشتر در مورد حذف فایل.
حذف قبل از انتقال مفید است اگر سیستم فایل برای فضا و
حذف فایل های اضافی به امکان انتقال کمک می کند. با این حال، آن را
قبل از شروع انتقال یک تاخیر را معرفی می کند و این تاخیر ممکن است باعث شود
انتقال به تایم اوت (اگر --تایم اوت مشخص شد). همچنین rsync را مجبور به استفاده می کند
الگوریتم بازگشتی قدیمی و غیر افزایشی که برای اسکن همه موارد به rsync نیاز دارد
فایلهایی که به یکباره به حافظه منتقل میشوند (نگاه کنید به - بازگشتی).
--حذف-در طول، --دل
درخواست کنید که حذف فایل در سمت دریافت کننده به صورت تدریجی انجام شود
انتقال اتفاق می افتد اسکن حذف هر دایرکتوری درست قبل از هر دایرکتوری انجام می شود
دایرکتوری برای به روز رسانی بررسی می شود، بنابراین مانند یک کارآمدتر عمل می کند
--حذف-قبل، از جمله انجام حذف ها قبل از فیلتر هر دایرکتوری
فایل های در حال به روز رسانی این گزینه برای اولین بار در rsync نسخه 2.6.4 اضافه شد. دیدن
--حذف (که به طور ضمنی) برای جزئیات بیشتر در مورد حذف فایل.
--حذف-تاخیر
درخواست کنید که حذف فایل ها در سمت دریافت کننده در طول مدت زمان محاسبه شود
انتقال (مانند --حذف-در طول) و پس از اتمام انتقال حذف می شوند.
این زمانی مفید است که با آن ترکیب شود -- تاخیر به روز رسانی و / یا --درهم، و بیشتر است
کارآمد از استفاده --حذف-بعد (اما می تواند متفاوت رفتار کند، زیرا
--حذف-بعد پس از انجام تمام به روز رسانی ها، حذف ها را در یک پاس جداگانه محاسبه می کند
انجام شده). اگر تعداد فایل های حذف شده از یک بافر داخلی سرریز شود، یک موقت است
فایل در سمت دریافت کننده برای نگهداری نام ها ایجاد می شود (در حالی که حذف می شود
باز است، بنابراین نباید در حین انتقال آن را ببینید). اگر ایجاد
فایل موقت با شکست مواجه می شود، rsync سعی می کند دوباره به حالت استفاده برود --حذف-بعد (کدامیک
نمی تواند انجام دهد اگر - بازگشتی در حال انجام یک اسکن افزایشی). دیدن --حذف (که است
ضمنی) برای جزئیات بیشتر در مورد حذف فایل.
--حذف-بعد
درخواست کنید که حذف فایل در سمت دریافت کننده پس از انتقال انجام شود
کامل شده است. اگر فایلهای ادغام شده جدید در هر فهرست را به عنوان ارسال میکنید، مفید است
بخشی از انتقال و شما می خواهید حذف آنها برای حذف اعمال شود
مرحله انتقال فعلی همچنین rsync را مجبور به استفاده از قدیمی می کند،
الگوریتم بازگشتی غیر افزایشی که برای اسکن تمام فایل های موجود به rsync نیاز دارد
انتقال یکباره به حافظه (نگاه کنید به - بازگشتی) دیدن --حذف (که است
ضمنی) برای جزئیات بیشتر در مورد حذف فایل.
--حذف-حذف شد
علاوه بر حذف فایل های سمت گیرنده که در قسمت ارسال نیستند
سمت، این به rsync میگوید که فایلهای موجود در سمت گیرنده را نیز حذف کند
مستثنی شده است (نگاه کنید به -- استثناء کردن). برای روش ساخت، بخش FILTER RULES را ببینید
محرومیتهای فردی به این شکل روی گیرنده رفتار میکنند و راهی برای محافظت از آن میشوند
فایل ها را از --حذف-حذف شداست. دیدن --حذف (که به طور ضمنی) برای جزئیات بیشتر در مورد
حذف فایل
--نادیده گرفتن-فقدان-args
هنگامی که rsync برای اولین بار فایل های منبع درخواست شده صریحا را پردازش می کند (به عنوان مثال
آرگومان های خط فرمان یا --فایلها-از ورودی)، معمولاً یک خطا است اگر
فایل پیدا نمی شود این گزینه آن خطا را سرکوب می کند و سعی نمی کند
فایل را انتقال دهید این بر خطاهای فایل ناپدید شده بعدی در یک فایل تأثیر نمی گذارد
در ابتدا مشخص شد که وجود دارد و بعدها دیگر وجود ندارد.
--delete-missing-args
این گزینه رفتار (در ضمن) --نادیده گرفتن-فقدان-args گزینه یک مرحله
دورتر: هر ارگ از دست رفته به درخواست حذف مربوطه تبدیل خواهد شد
فایل مقصد در سمت دریافت کننده (در صورت وجود). اگر فایل مقصد
یک دایرکتوری غیر خالی است، فقط در صورتی که --force یا باشد با موفقیت حذف می شود
--delete در حال اجرا هستند. به غیر از آن، این گزینه مستقل از گزینه های دیگر است
نوع پردازش حذف
فایلهای منبع گمشده با ورودیهای فهرست فایل خاصی که نمایش داده میشوند نشان داده میشوند
به عنوان یک ورودی "* از دست رفته" در ---فقط لیست خروجی.
--نادیده گرفتن-خطاها
می گوید --حذف برای ادامه و حذف فایل ها حتی زمانی که خطاهای ورودی/خروجی وجود دارد.
--زور
این گزینه به rsync میگوید که یک دایرکتوری غیر خالی را زمانی که قرار است جایگزین شود حذف کند
توسط یک غیر دایرکتوری این تنها زمانی مرتبط است که حذفها فعال نباشند (نگاه کنید به
--حذف برای جزئیات بیشتر).
نکته برای نسخه های قدیمی rsync: --زور هنوز در هنگام استفاده مورد نیاز بود
--حذف-بعد، و قبلا غیر کاربردی بود مگر اینکه - بازگشتی گزینه بود
نیز فعال شده است.
--max-delete=NUM
این به rsync می گوید که بیش از NUM فایل یا دایرکتوری را حذف نکند. اگر آن حد
از همه حذفهای بیشتر تا پایان انتقال صرفنظر میشود. در
در پایان، rsync یک اخطار (شامل تعداد حذفهای حذفشده) خروجی میدهد و
با کد خطای 25 خارج می شود (مگر اینکه شرایط خطای مهم تری نیز وجود داشته باشد
رخ داده است).
با شروع نسخه 3.0.0، می توانید مشخص کنید --max-delete=0 در مورد هر یک هشدار داده شود
فایل های اضافی در مقصد بدون حذف هیچ یک از آنها. مشتریان قدیمی تر
این را به عنوان "نامحدود" تفسیر کرد، بنابراین اگر نمی دانید مشتری چه نسخه ای است،
شما می توانید از موارد کمتر آشکار استفاده کنید --max-delete=-1 به عنوان یک راه سازگار با عقب برای
مشخص کنید که هیچ گونه حذفی مجاز نیست (اگرچه نسخه های قدیمی واقعاً هشدار نمی دهند که چه زمانی
از حد فراتر رفت).
--max-size=SIZE
این به rsync میگوید که از انتقال هر فایلی که بزرگتر از مقدار مشخص شده است خودداری کند
اندازه. مقدار SIZE را می توان با یک رشته پسوند برای نشان دادن یک ضرب کننده اندازه، اضافه کرد.
و ممکن است یک مقدار کسری باشد (به عنوان مثال "-- حداکثر اندازه = 1.5 متر").
این گزینه یک قانون انتقال است، نه یک استثنا، بنابراین بر روی دادهها تأثیر نمیگذارد
به لیست فایل ها می رود و بنابراین بر حذف ها تأثیری نمی گذارد. این فقط محدود می کند
فایل هایی که گیرنده درخواست انتقال آنها را دارد.
پسوندها به شرح زیر است: "K" (یا "KiB") یک کیلو بایت است (1024)، "M" (یا "MiB") است.
یک مبی بایت (1024*1024) و "G" (یا "GiB") یک گیگابایت (1024*1024*1024) است. اگر شما
می خواهید ضریب به جای 1000 1024 باشد، از "KB"، "MB" یا "GB" استفاده کنید. (توجه داشته باشید:
حروف کوچک نیز برای همه مقادیر پذیرفته می شود.) در نهایت، اگر پسوند به هر کدام ختم شود
"+1" یا "-1"، مقدار با یک بایت در جهت مشخص شده جبران می شود.
مثالها: --max-size=1.5mb-1 برابر است با 1499999 بایت، و --max-size=2g+1 برابر با 2147483649 است.
بایت
توجه داشته باشید که نسخه های rsync قبل از 3.1.0 اجازه نمی دهند --max-size=0.
--min-size=SIZE
این به rsync میگوید که از انتقال هر فایلی که کوچکتر از مقدار مشخص شده است خودداری کند
SIZE، که می تواند به عدم انتقال فایل های کوچک و ناخواسته کمک کند. را ببینید -- حداکثر اندازه
گزینه ای برای توضیح SIZE و سایر اطلاعات.
توجه داشته باشید که نسخه های rsync قبل از 3.1.0 اجازه نمی دهند --min-size=0.
-ب، --block-size=BLOCKSIZE
این باعث می شود اندازه بلوک مورد استفاده در الگوریتم انتقال دلتا rsync به یک اندازه ثابت تبدیل شود
ارزش. معمولاً بر اساس اندازه هر فایل در حال به روز رسانی انتخاب می شود. دیدن
گزارش فنی برای جزئیات
-ه ، --rsh=فرمان
این گزینه به شما امکان می دهد یک برنامه پوسته راه دور جایگزین را برای استفاده انتخاب کنید
ارتباط بین نسخه های محلی و راه دور rsync. به طور معمول، rsync است
به طور پیش فرض برای استفاده از ssh پیکربندی شده است، اما ممکن است ترجیح دهید از rsh در یک شبکه محلی استفاده کنید.
اگر این گزینه با استفاده شود [user@]host::module/path، سپس پوسته راه دور COMMAND
برای اجرای یک شبح rsync در میزبان راه دور استفاده خواهد شد و همه داده ها خواهند بود
از طریق آن اتصال پوسته راه دور منتقل می شود، نه از طریق مستقیم
اتصال سوکت به دیمون rsync در حال اجرا در میزبان راه دور. بخش را ببینید
"استفاده از ویژگی های RSYNC-DAEMON از طریق یک اتصال پوسته راه دور" در بالا.
آرگومان های خط فرمان در COMMAND مجاز هستند مشروط بر اینکه COMMAND ارائه شده باشد
برای rsync به عنوان یک آرگومان واحد. شما باید از فاصله (نه برگه ها یا سایر فضاهای سفید) استفاده کنید
برای جدا کردن دستور و args از یکدیگر، و می توانید از single- و/یا استفاده کنید
دو نقل قول برای حفظ فاصله در آرگومان (اما نه اسلش معکوس). توجه داشته باشید که
دوبرابر کردن یک نقل قول در داخل یک رشته یک نقل قول به شما یک نقل قول تک می دهد.
به همین ترتیب برای نقل قول های دوگانه (البته باید به نقل قول های خود توجه کنید
پوسته در حال تجزیه است و کدام نقل قول rsync تجزیه است). چند نمونه:
-e 'ssh -p 2234'
-e 'ssh -o "ProxyCommand nohup ssh فایروال nc -w1 %h %p"'
(توجه داشته باشید که کاربران ssh می توانند به طور متناوب گزینه های اتصال خاص سایت را سفارشی کنند
فایل ssh/config آنها.)
همچنین می توانید برنامه پوسته راه دور را با استفاده از محیط RSYNC_RSH انتخاب کنید
متغیری که همان محدوده ای از مقادیر را می پذیرد -e.
همچنین ببینید --blocking-io گزینه ای که تحت تأثیر این گزینه قرار می گیرد.
--rsync-path=PROGRAM
از این برای تعیین اینکه چه برنامهای برای راهاندازی روی دستگاه از راه دور اجرا میشود، استفاده کنید
rsync اغلب زمانی استفاده می شود که rsync در مسیر پیش فرض پوسته راه دور نباشد (مثلاً
--rsync-path=/usr/local/bin/rsync). توجه داشته باشید که PROGRAM با کمک a اجرا می شود
پوسته، بنابراین می تواند هر برنامه، اسکریپت، یا دنباله دستوری باشد که می خواهید اجرا کنید، بنابراین
تا زمانی که ورودی و خروجی استانداردی را که rsync از آن استفاده می کند، خراب نکند
برقراری ارتباط.
یک مثال دشوار این است که یک دایرکتوری پیشفرض متفاوت در دستگاه راه دور تنظیم کنید
برای استفاده با --نسبت فامیلی گزینه. برای مثال:
rsync -avR --rsync-path="cd /a/b && rsync" host:c/d /e/
-M، --remote-option=OPTION
این گزینه برای موقعیتهای پیشرفتهتر که میخواهید جلوههای خاصی داشته باشید استفاده میشود
فقط به یک طرف انتقال محدود شود. به عنوان مثال، اگر می خواهید پاس کنید
--log-file=FILE و جعلی-فوق العاده به سیستم راه دور، آن را به صورت زیر مشخص کنید:
rsync -av -M --log-file=foo -M--fake-super src/ dest/
اگر میخواهید گزینهای داشته باشید، تنها بر روی محلی انتقال تأثیر میگذارد
معمولاً هر دو طرف را تحت تأثیر قرار می دهد، نفی آن را به طرف راه دور ارسال می کند. مثل این:
rsync -av -x -M--no-x src/ dest/
در استفاده از این احتیاط کنید، زیرا ممکن است گزینه ای را تغییر دهید که باعث rsync می شود
برای داشتن یک ایده متفاوت در مورد اینکه چه داده هایی را باید در آینده از سوکت انتظار داشت و این
آن را به شکلی مرموز شکست خواهد داد.
توجه داشته باشید که بهتر است از یک جداگانه استفاده کنید -- گزینه از راه دور برای هر گزینه ای که می خواهید
عبور. این باعث می شود استفاده شما با آن سازگار باشد --protect-args گزینه. اگر که
گزینه خاموش است، هر فاصله در گزینه های راه دور شما توسط پوسته راه دور تقسیم می شود
مگر اینکه اقداماتی برای محافظت از آنها انجام دهید.
هنگام انجام یک انتقال محلی، سمت "محلی" فرستنده و "راه دور" است.
سمت گیرنده است.
توجه داشته باشید که برخی از نسخههای کتابخانه تجزیهکننده گزینه popt دارای یک باگ هستند که در آنها وجود دارد
شما را از استفاده از arg مجاور با یک برابر در کنار یک گزینه کوتاه جلوگیری می کند
حرف (به عنوان مثال -M--log-file=/tmp/foo. اگر این اشکال بر نسخه popt شما تأثیر بگذارد، شما
می توانید از نسخه popt که با rsync موجود است استفاده کنید.
-C ، --cvs-exclude
این یک خلاصه نویسی مفید برای حذف طیف وسیعی از فایلهایی است که اغلب شما انجام میدهید
نمی خواهید بین سیستم ها انتقال دهید. از الگوریتم مشابهی برای CVS استفاده می کند
تعیین کنید که آیا یک فایل باید نادیده گرفته شود.
لیست حذف مقداردهی اولیه می شود تا موارد زیر را حذف کند (این موارد اولیه
به عنوان فاسد شدنی علامت گذاری می شوند - بخش قوانین فیلتر را ببینید):
RCS SCCS CVS CVS.adm RCSLOG cvslog.* برچسب ها برچسب ها .make.state .nse_depinfo *~
#* .#*،* _$* *$ *.old *.bak *.BAK *.orig *.rej .del-* *.a *.olb *.o *.obj
*.so *.exe *.Z *.elc *.ln core .svn/ .git/ .hg/ .bzr/
سپس، فایل های فهرست شده در $HOME/.cvsignore به لیست و هر فایلی که فهرست شده است اضافه می شود
در متغیر محیطی CVSIGNORE (همه نامهای cvsignore با
فضای سفید).
در نهایت، هر فایلی که در همان دایرکتوری فایل cvsignore. باشد نادیده گرفته می شود
و با یکی از الگوهای ذکر شده در آن مطابقت دارد. برخلاف فیلتر rsync/exclude
فایل ها، این الگوها در فضای خالی تقسیم می شوند. را ببینید CVS(1) راهنما برای اطلاعات بیشتر
اطلاعات.
اگر در حال ترکیب هستید -C با مال خودت -- فیلتر قوانین، شما باید توجه داشته باشید که این CVS
موارد استثنا در انتهای قوانین شما اضافه می شوند، صرف نظر از اینکه کجا هستند -C بود
در خط فرمان قرار داده شده است. این باعث می شود آنها در اولویت کمتری نسبت به قوانین شما باشند
به صراحت مشخص شده است. اگر میخواهید کنترل کنید که این موارد استثنای CVS کجا درج شوند
در قوانین فیلتر خود، باید آن را حذف کنید -C به عنوان یک گزینه خط فرمان و استفاده از a
ترکیبی از --filter=:C و --filter=-C (چه در خط فرمان شما یا توسط
قرار دادن قوانین ":C" و "-C" در یک فایل فیلتر همراه با قوانین دیگر). در
گزینه اول اسکن هر دایرکتوری را برای فایل cvsignore. روشن می کند. در
گزینه دوم یک بار وارد کردن CVS را انجام می دهد که در بالا ذکر شد.
-f، --filter=قانون
این گزینه به شما امکان می دهد قوانینی را اضافه کنید تا به طور انتخابی برخی از فایل ها را حذف کنید
لیست فایل هایی که باید منتقل شوند این بیشتر در ترکیب با a مفید است
انتقال بازگشتی
شما می توانید به همان تعداد استفاده کنید -- فیلتر گزینه های موجود در خط فرمان همانطور که می خواهید ایجاد کنید
لیست فایل هایی که باید حذف شوند اگر فیلتر دارای فضای خالی است، حتما نقل قول کنید
به طوری که پوسته قانون rsync را به عنوان یک آرگومان واحد می دهد. متن زیر
همچنین اشاره می کند که می توانید از خط زیر برای جایگزینی فضایی که a را جدا می کند استفاده کنید
حکومت از ارگ آن.
برای اطلاعات دقیق در مورد این گزینه به بخش FILTER RULES مراجعه کنید.
-F La -F گزینه مختصری برای اضافه کردن دو است -- فیلتر قوانین به فرمان شما در
اولین باری که از آن استفاده می شود مخفف این قانون است:
--filter='dir-merge /.rsync-filter'
این به rsync میگوید که به دنبال فایلهای rsync-filter در هر دایرکتوری بگردد
از طریق سلسله مراتب پاشیده شده و از قوانین آنها برای فیلتر کردن فایل ها در
انتقال. اگر -F تکرار می شود، مختصر این قانون است:
--filter='exclude .rsync-filter'
این خود فایلهای rsync-filter را از انتقال فیلتر میکند.
برای اطلاعات دقیق در مورد نحوه عملکرد این گزینه ها به بخش FILTER RULES مراجعه کنید.
--exclude=PATTERN
این گزینه یک شکل ساده شده است -- فیلتر گزینه ای که به طور پیش فرض یک exclude است
قانون و اجازه نمی دهد تا نحو تجزیه و تحلیل کامل قوانین قوانین فیلتر معمولی را انجام دهد.
برای اطلاعات دقیق در مورد این گزینه به بخش FILTER RULES مراجعه کنید.
--exclude-from=FILE
این گزینه مربوط به -- استثناء کردن گزینه، اما یک FILE را مشخص می کند که
شامل الگوهای حذف (یکی در هر خط). خطوط خالی در فایل و خطوط
شروع با '؛' یا '#' نادیده گرفته می شوند. اگر فایل is -، لیست از خوانده خواهد شد
ورودی استاندارد
--include=PATTERN
این گزینه یک شکل ساده شده است -- فیلتر گزینه ای که به طور پیش فرض یک شامل است
قانون و اجازه نمی دهد تا نحو تجزیه و تحلیل کامل قوانین قوانین فیلتر معمولی را انجام دهد.
برای اطلاعات دقیق در مورد این گزینه به بخش FILTER RULES مراجعه کنید.
--include-from=FILE
این گزینه مربوط به --عبارتند از گزینه، اما یک FILE را مشخص می کند که
شامل الگوهای (یکی در هر خط) است. خطوط خالی در فایل و خطوط
شروع با '؛' یا '#' نادیده گرفته می شوند. اگر فایل is -، لیست از خوانده خواهد شد
ورودی استاندارد
--files-from=FILE
استفاده از این گزینه به شما این امکان را می دهد که لیست دقیق فایل هایی را که باید انتقال دهید (به عنوان
خواندن از فایل مشخص شده یا - برای ورودی استاندارد). همچنین پیش فرض را تغییر می دهد
رفتار rsync برای انتقال فقط فایل ها و دایرکتوری های مشخص شده
آسان تر:
o --نسبت فامیلی (-R) گزینه ضمنی است که اطلاعات مسیر را حفظ می کند
که برای هر مورد در فایل مشخص شده است (استفاده از --بدون نسبی or --no-R if
می خواهید آن را خاموش کنید).
o -- کارگردانان (-d) گزینه ای است که دایرکتوری های مشخص شده را ایجاد می کند
در فهرست مقصد به جای رد کردن پر سر و صدا از آنها (استفاده از
--بدون کارگردان or --نه-د اگر می خواهید آن را خاموش کنید).
o --بایگانی (-a) رفتار گزینه دلالت نمی کند - بازگشتی (-r)، بنابراین
اگر می خواهید آن را به صراحت مشخص کنید.
o این عوارض جانبی حالت پیش فرض rsync را تغییر می دهد، بنابراین موقعیت rsync را تغییر می دهد
--فایلها-از گزینه در خط فرمان هیچ تاثیری بر نحوه سایر گزینه ها ندارد
تجزیه می شوند (مثلا -a قبل یا بعدش به همین صورت عمل میکنه --فایلها-ازهمانطور که می کند
--no-R و همه گزینه های دیگر).
نام فایلهایی که از FILE خوانده میشوند، همگی نسبت به منبع dir - هر کدام هستند
اسلش های اصلی حذف می شوند و هیچ مرجع «..» مجاز به بالاتر رفتن از آن نیست
منبع کارگردان برای مثال این دستور را بگیرید:
rsync -a --files-from=/tmp/foo / usr از راه دور:/پشتیبان گیری
اگر /tmp/foo حاوی رشته "bin" (یا حتی "/ صندوقچه") ، / usr / bin دایرکتوری خواهد شد
به عنوان /backup/bin در میزبان راه دور ایجاد شود. اگر حاوی "bin/" باشد (به
اسلش انتهایی)، محتویات فوری فهرست نیز ارسال خواهد شد
(بدون نیاز به ذکر صریح در فایل -- این در نسخه شروع شد
2.6.4). در هر دو مورد، اگر -r گزینه فعال بود، کل سلسله مراتب آن dir
نیز منتقل می شود (به خاطر داشته باشید که -r باید به صراحت مشخص شود
با --فایلها-از، از آنجایی که به آن اشاره نمی شود -a). همچنین توجه داشته باشید که اثر
(به طور پیش فرض فعال است) --نسبت فامیلی گزینه این است که فقط اطلاعات مسیر را کپی کنید
از فایل خوانده می شود -- باعث تکرار مسیر منبع-spec اجباری نمی شود
(/ usr در این مورد).
علاوه بر این، --فایلها-از فایل را می توان از میزبان راه دور به جای خواندن خواند
اگر میزبان محلی را در جلوی فایل مشخص کنید (میزبان باید با یک میزبان مطابقت داشته باشد
پایان انتقال). به عنوان یک میانبر، می توانید فقط یک پیشوند از ":" را به معنی مشخص کنید
"از راه دور انتقال استفاده کنید". مثلا:
rsync -a --files-from=:/path/file-list src:/ /tmp/copy
با این کار تمام فایل های مشخص شده در فایل /path/file-list کپی می شود
واقع در میزبان راه دور "src".
اگر --iconv و --protect-args گزینه ها مشخص شده و --فایلها-از
نام فایل ها از یک میزبان به میزبان دیگر ارسال می شود، نام فایل ها ترجمه خواهند شد
از مجموعه نویسه های میزبان ارسال کننده به مجموعه کاراکتر هاست گیرنده.
توجه: مرتب کردن لیست فایلها در ورودی --files-from کمک میکند تا Rsync بیشتر شود.
کارآمد است، زیرا از بازدید مجدد عناصر مسیری که بین آنها مشترک است جلوگیری می کند
ورودی های مجاور اگر ورودی مرتب نشده باشد، برخی از عناصر مسیر (در ضمن
دایرکتوری ها) ممکن است در نهایت چندین بار اسکن شوند و rsync در نهایت انجام می شود
پس از تبدیل شدن به عناصر لیست فایل، آنها را از حالت کپی برداری خارج کنید.
-0، --از 0
این به rsync میگوید که قوانین/نام فایلهایی که از یک فایل میخواند توسط a خاتمه مییابند
نویسه تهی ('\0')، نه NL، CR، یا CR+LF. این تاثیر می گذارد -- استثناء-از,
--شامل-از, --فایلها-ازو هر فایل ادغام شده مشخص شده در a -- فیلتر قانون.
تاثیری ندارد --cvs-exclude (از آنجایی که همه اسامی خوانده شده از یک فایل cvsignore. هستند
تقسیم بر روی فضای خالی).
-s ، --protect-args
این گزینه همه نام فایل ها و اکثر گزینه ها را بدون نیاز به ریموت rsync ارسال می کند
به پوسته راه دور اجازه می دهد آنها را تفسیر کند. این بدان معنی است که فضاها تقسیم نمی شوند
در نامها، و هر کاراکتر ویژه غیر عام ترجمه نمیشود (مانند ~، $،
؛، &، و غیره.). حروف عام در میزبان راه دور توسط rsync (به جای
پوسته آن را انجام می دهد).
اگر از این گزینه با استفاده کنید --iconv، ارگ های مربوط به سمت راه دور نیز خواهد بود
از محلی به مجموعه کاراکترهای راه دور ترجمه شود. ترجمه اتفاق می افتد
قبل از اینکه کارتهای وحشی گسترش پیدا کنند. را نیز ببینید --فایلها-از گزینه.
همچنین می توانید این گزینه را از طریق متغیر محیطی RSYNC_PROTECT_ARGS کنترل کنید.
اگر این متغیر دارای مقدار غیر صفر باشد، این گزینه به طور پیش فرض فعال می شود.
در غیر این صورت به طور پیش فرض غیرفعال می شود. هر حالت به صورت دستی لغو می شود
نسخه مثبت یا منفی این گزینه را مشخص کرده است (توجه داشته باشید که --نه-ها و
--no-protect-args نسخه های منفی هستند). از آنجایی که این گزینه اول بود
در نسخه 3.0.0 معرفی شده است، در صورت نیاز باید مطمئن شوید که غیرفعال است
با یک rsync از راه دور که قدیمی تر از آن است تعامل داشته باشید.
Rsync را نیز می توان (در زمان ساخت) به گونه ای پیکربندی کرد که این گزینه به طور پیش فرض فعال باشد
(با هم توسط محیط و هم توسط خط فرمان لغو می شود). این گزینه
در نهایت به یک تنظیم پیش فرض جدید در نقطه ای هنوز نامشخص تبدیل می شود
آینده.
-T، --temp-dir=DIR
این گزینه به rsync دستور می دهد که از DIR به عنوان یک دایرکتوری اسکرچ هنگام ایجاد استفاده کند
کپی های موقت از فایل های منتقل شده در سمت گیرنده. پیشفرض
رفتار این است که هر فایل موقت را در همان دایرکتوری مرتبط ایجاد کنید
فایل مقصد با شروع با rsync 3.1.1، نام فایل های موقت در داخل
DIR مشخص شده با یک نقطه اضافی پیشوند نخواهد بود (اگرچه آنها همچنان دارای یک هستند
پسوند تصادفی اضافه شده است).
این گزینه اغلب زمانی استفاده می شود که پارتیشن دیسک دریافت کننده نداشته باشد
فضای خالی کافی برای نگهداری یک کپی از بزرگترین فایل در انتقال. در این مورد
(یعنی زمانی که دایرکتوری scratch روی یک پارتیشن دیسک متفاوت است)، rsync این کار را نخواهد کرد
قادر به تغییر نام هر فایل موقت دریافتی در بالای فایل مرتبط باشید
فایل مقصد، اما در عوض باید آن را در جای خود کپی کنید. Rsync این کار را با کپی انجام می دهد
فایل در بالای فایل مقصد، به این معنی که مقصد
فایل در طول این کپی حاوی داده های کوتاه خواهد بود. اگر این کار به این شکل انجام نمی شد
(حتی اگر ابتدا فایل مقصد حذف شده باشد، داده ها به صورت محلی در a کپی می شوند
فایل موقت در دایرکتوری مقصد، و سپس به مکان تغییر نام داده می شود
این امکان وجود دارد که فایل قدیمی همچنان فضای دیسک را اشغال کند (اگر کسی آن را داشته باشد
باز است)، و بنابراین ممکن است فضای کافی برای قرار دادن نسخه جدید روی دیسک وجود نداشته باشد
در همان زمان.
اگر به دلایلی غیر از کمبود فضای دیسک از این گزینه استفاده می کنید، شما
ممکن است بخواهد آن را با -- تاخیر به روز رسانی گزینه، که تضمین می کند که همه
فایلهای کپی شده در فهرستهای فرعی در سلسله مراتب مقصد قرار میگیرند و منتظر میمانند
پایان انتقال اگر فضای کافی برای کپی کردن همه موارد ورودی ندارید
فایلهای موجود در پارتیشن مقصد، راه دیگری برای اینکه به rsync بگویید اینطور نیستید
نگرانی بیش از حد در مورد فضای دیسک، استفاده از آن است -- جزئی- کارگردان گزینه با a
مسیر نسبی؛ زیرا این به rsync می گوید که مخفی کردن یک کپی از a اشکالی ندارد
فایل واحد در یک زیرمجموعه در سلسله مراتب مقصد، rsync از آن استفاده خواهد کرد
partial-dir به عنوان یک ناحیه مرحله بندی برای آوردن فایل کپی شده و سپس تغییر نام آن
از آنجا به جای خود (مشخص کردن الف -- جزئی- کارگردان با یک مسیر مطلق نمی کند
این عارضه را داشته باشد.)
-y، --درهم
این گزینه به rsync می گوید که باید به دنبال یک فایل پایه برای هر مقصدی باشد
فایلی که گم شده است الگوریتم فعلی در همان دایرکتوری به نظر می رسد
فایل مقصد یا برای فایلی که اندازه و زمان اصلاح شده یکسانی دارد یا
یک فایل با نام مشابه در صورت یافتن، rsync از فایل پایه فازی برای افزایش سرعت استفاده می کند
انتقال
اگر گزینه تکرار شود، اسکن فازی نیز در هر تطابقی انجام می شود
دایرکتوری های مقصد جایگزین که از طریق مشخص شده اند --مقایسه-بهترین,
--copy-dest، یا --link-dest.
توجه داشته باشید که استفاده از --حذف گزینه ممکن است از شر هرگونه تطابق فازی خلاص شود
فایل ها، بنابراین یا استفاده کنید --حذف-بعد یا در صورت نیاز برخی از موارد استثناء نام فایل را مشخص کنید
برای جلوگیری از این
--compare-dest=DIR
این گزینه دستور استفاده از rsync را می دهد DIR بر روی دستگاه مقصد به عنوان یک اضافی
سلسله مراتبی برای مقایسه فایل های مقصد با انجام انتقال (اگر فایل ها هستند
در فهرست مقصد وجود ندارد). اگر فایلی در DIR که یکسان است
به فایل فرستنده، فایل به مقصد منتقل نخواهد شد
فهرست راهنما. این برای ایجاد یک نسخه پشتیبان پراکنده از فقط فایلهایی که دارند مفید است
نسبت به نسخه پشتیبان قبلی تغییر کرده است. این گزینه معمولا برای کپی کردن در یک استفاده می شود
دایرکتوری خالی (یا تازه ایجاد شده).
شروع در نسخه 2.6.4، چندگانه --مقایسه-بهترین دایرکتوری ها ممکن است ارائه شوند،
که باعث می شود rsync لیست را به ترتیب مشخص شده برای دقیق جستجو کند
همخوانی داشتن. اگر تطابقی پیدا شود که فقط در ویژگی ها متفاوت باشد، یک کپی محلی ساخته می شود
و ویژگی ها به روز شدند. اگر مطابقت پیدا نشد، یک فایل پایه از یکی از
DIRs برای سرعت بخشیدن به انتقال انتخاب خواهد شد.
If DIR یک مسیر نسبی است، نسبت به فهرست مقصد است. همچنین ببینید
--copy-dest و --link-dest.
توجه: با شروع نسخه 3.1.0، rsync یک فایل را از یک فایل غیر خالی حذف می کند.
سلسله مراتب مقصد اگر مطابقت دقیقی در یکی از مقایسهترینها پیدا شود
سلسله مراتب (که نتیجه نهایی را بیشتر با یک نسخه جدید مطابقت می دهد).
--copy-dest=DIR
این گزینه مانند --مقایسه-بهترین، اما rsync فایل های بدون تغییر را نیز کپی می کند
موجود در DIR به فهرست مقصد با استفاده از یک کپی محلی. این مفید است برای
انجام انتقال به یک مقصد جدید در حالی که فایل های موجود را دست نخورده باقی می گذارند و سپس
انجام فلش برش زمانی که همه فایل ها با موفقیت منتقل شدند.
چندین --copy-dest ممکن است دایرکتوری هایی ارائه شود که باعث جستجوی rsync می شود
لیست به ترتیب مشخص شده برای یک فایل بدون تغییر. اگر مطابقت پیدا نشد، الف
فایل پایه از یکی از DIRs برای سرعت بخشیدن به انتقال انتخاب خواهد شد.
If DIR یک مسیر نسبی است، نسبت به فهرست مقصد است. همچنین ببینید
--مقایسه-بهترین و --link-dest.
--link-dest=DIR
این گزینه مانند --copy-dest، اما فایل های بدون تغییر به سختی پیوند داده شده اند DIR
به دایرکتوری مقصد فایل ها باید در تمام موارد حفظ شده یکسان باشند
ویژگی ها (مثلاً مجوزها، احتمالاً مالکیت) برای اینکه فایل ها باشند
مرتبط با هم. یک مثال:
rsync -av --link-dest=$PWD/prior_dir host:src_dir/ new_dir/
اگر فایلها پیوند داده نمیشوند، ویژگیهای آنها را دوباره بررسی کنید. همچنین بررسی کنید که آیا برخی از آنها
ویژگیها خارج از کنترل rsync هستند، مانند گزینه mount که
ریشه را به یک کاربر منتقل می کند، یا یک درایو قابل جابجایی با مالکیت عمومی نصب می کند
(مانند گزینه "نادیده گرفتن مالکیت در این جلد" OS X).
شروع در نسخه 2.6.4، چندگانه --link-dest دایرکتوری ها ممکن است ارائه شوند که
باعث می شود rsync لیست را به ترتیب مشخص شده برای مطابقت دقیق جستجو کند. اگر
یک تطابق پیدا می شود که فقط در ویژگی ها متفاوت است، یک کپی محلی ساخته می شود و
ویژگی ها به روز شد اگر مطابقت پیدا نشد، یک فایل پایه از یکی از DIRs
برای سرعت بخشیدن به انتقال انتخاب خواهد شد.
این گزینه هنگام کپی کردن در سلسله مراتب مقصد خالی بهترین عملکرد را دارد
فایلهای موجود ممکن است ویژگیهای خود را تغییر دهند، و این میتواند بر گزینههای جایگزین تأثیر بگذارد
فایل های مقصد از طریق لینک های سخت همچنین، فهرست بندی تغییرات می تواند کمی باشد
به هم ریخته توجه داشته باشید که قبل از نسخه 3.1.0، دایرکتوری جایگزین دقیقا مطابقت داشت
هنگامی که یک فایل مقصد هرگز پیدا نمی شود (و نه به مقصد پیوند داده می شود).
همین الان هم وجود داره.
توجه داشته باشید که اگر این گزینه را با -- نادیده گرفتن-زمان ها، rsync هیچ یک را پیوند نمی دهد
فایل ها با هم چون فقط فایل های یکسان را به عنوان جایگزینی به هم پیوند می دهد
انتقال فایل، هرگز به عنوان یک بررسی اضافی پس از به روز رسانی فایل.
If DIR یک مسیر نسبی است، نسبت به فهرست مقصد است. همچنین ببینید
--مقایسه-بهترین و --copy-dest.
توجه داشته باشید که نسخههای rsync قبل از 2.6.1 دارای یک اشکال بودند که میتوانست از آن جلوگیری کند --link-dest
از کارکرد صحیح برای غیر سوپرکاربر وقتی -o مشخص شد (یا به طور ضمنی توسط
-a). شما می توانید با اجتناب از این باگ، این مشکل را برطرف کنید -o گزینه هنگام ارسال به قدیمی
rsync
-z ، --فشرده کردن
با استفاده از این گزینه، rsync داده های فایل را هنگام ارسال به مقصد فشرده می کند
ماشین، که مقدار داده های در حال انتقال را کاهش می دهد - چیزی که همینطور است
برای اتصال آهسته مفید است.
توجه داشته باشید که این گزینه معمولاً نسبت تراکم بهتری نسبت به آنچه که می تواند باشد به دست می آورد
با استفاده از یک پوسته از راه دور فشرده سازی یا یک حمل و نقل فشرده سازی به دست می آید زیرا آن
از اطلاعات ضمنی موجود در بلوک های داده منطبق استفاده می کند
به صراحت از طریق اتصال ارسال نشده است. این فشردهسازی دادههای تطبیق در یک میآید
با این حال، هزینه CPU است و می توان با تکرار آن غیرفعال کرد -z گزینه، اما فقط اگر
هر دو طرف حداقل نسخه 3.1.1 هستند.
توجه داشته باشید که اگر نسخه rsync شما با zlib خارجی (به جای
zlib که با rsync بسته بندی می شود) از سبک قدیمی پشتیبانی نمی کند
فشرده سازی، فقط فشرده سازی سبک جدید (تکرار گزینه). در آینده این
فشرده سازی سبک جدید احتمالاً به صورت پیش فرض تبدیل می شود.
کلاینت rsync فشرده سازی سبک جدیدی را روی سرور از طریق
-- فشرده سازی جدید گزینه، بنابراین اگر دیدید که آن گزینه رد شده است به این معنی است که سرور
به اندازه کافی جدید برای حمایت نیست -zz. Rsync نیز می پذیرد -- قدیمی - فشرده گزینه برای
زمانی در آینده که فشرده سازی سبک جدید به صورت پیش فرض در می آید.
مشاهده -- پرش-فشرده کردن گزینه ای برای لیست پیش فرض پسوندهای فایل که نمی شود
فشرده شود.
--compress-level=NUM
به صراحت سطح فشرده سازی را برای استفاده تنظیم کنید (نگاه کنید به --فشرده کردن) به جای اجازه دادن به آن
پیش فرض اگر NUM غیر صفر باشد، --فشرده کردن گزینه دلالت دارد.
--skip-compress=LIST
فهرست پسوندهای فایلی که فشرده نمی شوند را لغو کنید. در لیست باید
یک یا چند پسوند فایل (بدون نقطه) که با اسلش (/) از هم جدا شده اند.
می توانید یک رشته خالی برای نشان دادن اینکه هیچ فایلی نباید نادیده گرفته شود مشخص کنید.
تطبیق ساده کلاس کاراکتر پشتیبانی میشود: هر کدام باید از فهرستی تشکیل شود
حروف داخل پرانتز مربع (به عنوان مثال بدون کلاس های خاص، مانند "[:alpha:]"،
پشتیبانی می شوند، و '-' معنای خاصی ندارد).
کاراکترهای ستاره (*) و علامت سوال (؟) معنی خاصی ندارند.
در اینجا یک مثال آورده شده است که 6 پسوند را برای رد کردن مشخص می کند (از آنجایی که 1 مورد از 5 قانون مطابقت دارد
2 پسوند):
--skip-compress=gz/jpg/mp[34]/7z/bz2
لیست پیش فرض پسوندهایی که فشرده نمی شوند این است (در این نسخه
از rsync):
7z تک خال AVI bz2 بده gpg gz ISO JPEG JPG lz لزما lzo ویدئویی mp3 mp4 OGG PNG RAR دور در دقیقه rzip
tbz tgz tlz txz xz z زیپ
این لیست با شما جایگزین خواهد شد -- پرش-فشرده کردن لیست در همه موارد به جز یک وضعیت: الف
کپی از daemon rsync پسوندهای حذف شده شما را به لیست خود اضافه می کند
فایل های غیر فشرده (و لیست آن ممکن است به طور پیش فرض دیگری پیکربندی شود).
--شماره شناسه ها
با این گزینه rsync به جای استفاده، شناسه های گروه عددی و کاربر را منتقل می کند
نام کاربر و گروه و نقشه برداری از آنها در هر دو انتها.
به طور پیش فرض rsync از نام کاربری و نام گروه برای تعیین مالکیت استفاده می کند
فایل ها را بدهید uid ویژه 0 و گروه ویژه 0 هرگز از طریق نقشه برداری نمی شوند
نام کاربر/گروه حتی اگر --شماره شناسه ها گزینه مشخص نشده است
اگر کاربر یا گروهی در سیستم منبع نامی نداشته باشد یا در سیستم منبع مطابقت نداشته باشد
سیستم مقصد، سپس شناسه عددی از سیستم مبدا به جای آن استفاده می شود.
همچنین به نظرات مربوط به تنظیمات "استفاده از chroot" در صفحه مدیریت rsyncd.conf مراجعه کنید.
اطلاعاتی در مورد اینکه چگونه تنظیمات chroot بر توانایی rsync برای جستجوی نام ها تأثیر می گذارد
از کاربران و گروه ها و آنچه می توانید در مورد آن انجام دهید.
--usermap=STRING، --groupmap=STRING
این گزینه ها به شما این امکان را می دهد که کاربران و گروه هایی را که باید به سایرین نگاشت شوند را مشخص کنید
مقادیر توسط طرف گیرنده در STRING یک یا چند است از:به جفت ارزش
با کاما از هم جدا می شوند. هر گونه تطبیق از مقدار از فرستنده با a جایگزین می شود به
ارزش از گیرنده شما می توانید نام کاربری یا شناسه کاربری را برای آن مشخص کنید از و به
ارزش ها و از مقدار ممکن است یک رشته کارت وحشی نیز باشد که مطابقت خواهد داشت
در برابر نام فرستنده (البته کارتهای وحشی با شماره شناسایی مطابقت ندارند، هر چند ببینید
در زیر برای اینکه چرا "*" با همه چیز مطابقت دارد). در عوض می توانید محدوده ای از شناسه را مشخص کنید
اعداد از طریق یک محدوده شامل: LOW-HIGH. مثلا:
--usermap=0-99:nobody,wayne:admin,*:normal --groupmap=usr:1,1:usr
اولین تطابق در لیست همان چیزی است که استفاده می شود. شما باید تمام خود را مشخص کنید
نقشه برداری کاربر با استفاده از یک --نقشه کاربری گزینه، و/یا تمام نگاشت های گروهی شما با استفاده از
یک -- نقشه گروهی گزینه.
توجه داشته باشید که نام فرستنده برای کاربر و گروه 0 به آن منتقل نمی شود
گیرنده، بنابراین باید این مقادیر را با استفاده از 0 مطابقت دهید یا از نامهای موجود در آن استفاده کنید
اثر در سمت دریافت کننده (معمولا "ریشه"). همه دیگر از نام ها مطابقت دارند
در سمت ارسال استفاده می شود. همه به نام ها با نام های مورد استفاده در سمت گیرنده مطابقت دارند.
هر شناسه ای که در سمت ارسال کننده نامی نداشته باشد به عنوان یک کارت خالی تلقی می شود
نام به منظور تطبیق این اجازه می دهد تا آنها را از طریق "*" یا مطابقت دهند
با استفاده از یک نام خالی برای مثال:
--usermap=:nobody --groupmap=*:nobody
هنگامی که --شماره شناسه ها گزینه استفاده می شود، فرستنده هیچ نامی را ارسال نمی کند، بنابراین همه
شناسه ها به عنوان یک نام خالی در نظر گرفته می شوند. این بدان معنی است که شما نیاز خواهید داشت
عددی را مشخص کنید از اگر میخواهید این شناسههای بینام را به شکلهای مختلف نگاشت کنید، مقادیر را بهدست میآورید
ارزش ها.
برای --نقشه کاربری گزینه ای برای داشتن هر اثر، -o (-- مالک) گزینه باید استفاده شود
(یا ضمنی)، و گیرنده باید به عنوان یک کاربر فوق العاده در حال اجرا باشد (همچنین مراجعه کنید
la جعلی-فوق العاده گزینه). برای -- نقشه گروهی گزینه ای برای داشتن هر اثر، -g
(--گروه ها) گزینه باید استفاده شود (یا ضمنی)، و گیرنده باید داشته باشد
مجوزهای تنظیم آن گروه
--chown=کاربر:گروه
این گزینه تمام فایل ها را مجبور می کند که متعلق به USER با گروه GROUP باشند. این یک است
رابط کاربری ساده تر از استفاده --نقشه کاربری و -- نقشه گروهی به طور مستقیم، اما این است
با استفاده از آن گزینه ها به صورت داخلی پیاده سازی شده است، بنابراین نمی توانید آنها را ترکیب کنید. اگر یکی از
USER یا GROUP خالی است، هیچ نقشه برداری برای کاربر/گروه حذف شده رخ نخواهد داد. اگر گروه
خالی است، کولون انتهایی ممکن است حذف شود، اما اگر USER خالی باشد، دو نقطه پیشرو
باید عرضه شود.
اگر «--chown=foo:bar» را مشخص کنید، این دقیقاً مشابه تعیین کردن است
"--usermap=*:foo --groupmap=*:bar"، فقط ساده تر است.
--timeout=TIMEOUT
این گزینه به شما امکان می دهد حداکثر زمان I/O را در چند ثانیه تنظیم کنید. اگر داده ای وجود ندارد
برای زمان مشخص شده منتقل می شود سپس rsync خارج می شود. پیش فرض 0 است که
به معنی عدم وجود تایم اوت
-- وقفه
این گزینه به شما امکان می دهد مدت زمانی را که rsync منتظر می ماند تعیین کنید
اتصال به دیمون rsync برای موفقیت. اگر به مهلت پایان رسید، rsync خارج می شود
با یک خطا
--نشانی
به طور پیش فرض rsync هنگام اتصال به rsync به آدرس wildcard متصل می شود
اهریمن، دیو. در --نشانی گزینه به شما امکان می دهد یک آدرس IP خاص (یا
نام میزبان) برای اتصال به. همچنین این گزینه را در قسمت مشاهده کنید --اهریمن، دیو بخش حالت
--port=PORT
این یک شماره پورت TCP جایگزین برای استفاده به جای پیش فرض 873 را مشخص می کند.
این تنها در صورتی مورد نیاز است که از دستور دو دونقطه (::) برای اتصال استفاده می کنید
یک شبح rsync (از آنجایی که نحو URL راهی برای تعیین پورت به عنوان بخشی از
URL). همچنین این گزینه را در قسمت مشاهده کنید --اهریمن، دیو بخش حالت
--سوکوپت ها
این گزینه می تواند سرگرمی بی پایانی را برای افرادی که دوست دارند سیستم های خود را تنظیم کنند فراهم کند
نهایت درجه شما می توانید انواع گزینه های سوکت که ممکن است انتقال را انجام دهند را تنظیم کنید
سریعتر (یا کندتر!). برای جزئیات، صفحه man برای فراخوانی سیستم setsockopt() را بخوانید
روی برخی از گزینه هایی که ممکن است بتوانید تنظیم کنید. به طور پیش فرض هیچ گزینه سوکت خاصی وجود ندارد
تنظیم شده اند. این فقط بر اتصالات سوکت مستقیم به یک دیمون rsync راه دور تأثیر می گذارد.
این گزینه نیز در --اهریمن، دیو بخش حالت
--blocking-io
این به rsync میگوید که هنگام راهاندازی یک انتقال پوسته از راه دور، از مسدود کردن I/O استفاده کند. اگر
پوسته راه دور یا rsh یا remsh است، rsync پیشفرض از مسدود کردن ورودی/خروجی استفاده میکند.
در غیر این صورت به طور پیش فرض از I/O غیر مسدود کننده استفاده می کند. (توجه داشته باشید که ssh ترجیح می دهد
ورودی/خروجی غیرمسدود.)
--outbuf=MODE
این حالت بافر خروجی را تنظیم می کند. حالت می تواند None (با نام مستعار بدون بافر)، Line،
یا بلوک (با نام مستعار کامل). شما می توانید به اندازه یک حرف برای حالت مشخص کنید،
و از حروف بزرگ یا کوچک استفاده کنید.
کاربرد اصلی این گزینه تغییر Full buffering به Line buffering when
خروجی rsync به یک فایل یا لوله می رود.
-من، --itemize-changes
یک لیست جزئی ساده از تغییراتی که در هر فایل ایجاد می شود، درخواست می کند.
از جمله تغییرات ویژگی این دقیقاً مشابه مشخص کردن است
--out-format='%i %n%L'. اگر گزینه را تکرار کنید، فایل های بدون تغییر نیز خواهند بود
خروجی، اما فقط در صورتی که rsync دریافت کننده حداقل نسخه 2.6.7 باشد (می توانید استفاده کنید -vv
با نسخههای قدیمیتر rsync، اما خروجی دیگر پرمخاطب را نیز روشن میکند
پیام ها).
"%i" خروجی مرموز به طول 11 حرف دارد. قالب کلی
مانند رشته است YXcstpoguax، که در آن Y با نوع به روز رسانی جایگزین شده است
انجام شده، X با نوع فایل جایگزین می شود و حروف دیگر نشان دهنده ویژگی ها هستند
که اگر در حال اصلاح باشند ممکن است خروجی داشته باشند.
انواع به روز رسانی که جایگزین Y به شرح زیر است:
A < به این معنی است که یک فایل در حال انتقال به میزبان راه دور (ارسال) است.
A > به این معنی است که یک فایل در حال انتقال به میزبان محلی (دریافت) است.
A c به این معنی است که یک تغییر/ایجاد محلی برای آیتم در حال رخ دادن است (مانند
ایجاد یک دایرکتوری یا تغییر یک پیوند نمادین و غیره).
A h به این معنی است که مورد یک پیوند سخت به یک مورد دیگر است (نیاز دارد
-- پیوندهای سخت).
A . به این معنی است که مورد به روز نمی شود (اگرچه ممکن است
ویژگی هایی که در حال تغییر هستند).
A * به این معنی است که بقیه قسمت های خروجی شامل یک پیام است (مثلاً
"حذف").
انواع فایل که جایگزین X هستند: f برای یک فایل، a d برای یک فهرست، یک L برای
یک پیوند نمادین، الف D برای یک دستگاه و الف S برای یک فایل خاص (به عنوان مثال سوکت های نامگذاری شده و
فیفوس).
سایر حروف در رشته بالا حروف واقعی هستند که اگر خروجی می شوند
ویژگی مرتبط برای مورد در حال به روز رسانی است یا یک "." بدون تغییر
سه استثنا در این مورد عبارتند از: (1) یک مورد جدید ایجاد شده جایگزین هر حرف با a می شود
"+"، (2) یک مورد یکسان جای نقطه ها را با فاصله می گیرد و (3) یک ناشناخته
ویژگی هر حرف را با یک "?" جایگزین می کند. (این ممکن است هنگام صحبت با یک فرد مسن اتفاق بیفتد
rsync).
ویژگی ای که با هر حرف مرتبط است به شرح زیر است:
A c به این معنی است که یک فایل معمولی دارای یک چکسوم متفاوت است (نیاز دارد
-- چکی) یا اینکه یک پیوند نمادین، دستگاه یا فایل خاص دارای مقدار تغییر یافته است.
توجه داشته باشید که اگر فایلهایی را به rsync قبل از 3.0.1 ارسال میکنید، این تغییر میکند
پرچم فقط برای فایلهای معمولی با مجموع بررسی متفاوت وجود خواهد داشت.
A s به این معنی که اندازه یک فایل معمولی متفاوت است و توسط به روز رسانی خواهد شد
انتقال فایل.
A t به این معنی که زمان اصلاح متفاوت است و به روز رسانی می شود
ارزش فرستنده (نیاز دارد --بار). یک مقدار جایگزین از T به این معنی است که
زمان اصلاح روی زمان انتقال تنظیم می شود، که زمانی اتفاق می افتد که a
فایل/پیوند نماد/دستگاه بدون به روز رسانی می شود --بار و هنگامی که یک پیوند نمادین تغییر می کند
و گیرنده نمی تواند زمان خود را تنظیم کند. (توجه: هنگام استفاده از rsync 3.0.0
مشتری، شما ممکن است ببینید s پرچم ترکیب شده با t به جای مناسب T
پرچم برای این شکست تنظیم زمان.)
A p به این معنی که مجوزها متفاوت هستند و در حال به روز رسانی هستند
ارزش فرستنده (نیاز دارد -- perms).
o An o یعنی مالک متفاوت است و به ارزش فرستنده به روز می شود
(نیاز دارد -- مالک و امتیازات فوق کاربر).
A g یعنی گروه متفاوت است و به مقدار فرستنده به روز می شود
(نیاز دارد -- گروه و اختیار تنظیم گروه).
o u اسلات برای استفاده در آینده رزرو شده است.
o a به این معنی است که اطلاعات ACL تغییر کرده است.
o x به این معنی است که اطلاعات ویژگی توسعه یافته تغییر کرده است.
یک خروجی دیگر ممکن است: هنگام حذف فایلها، "%i" رشته را خروجی میدهد
"*حذف" برای هر موردی که حذف می شود (با فرض اینکه شما با یک صحبت می کنید
rsync اخیر به اندازه کافی که حذف ها را به جای خروجی دادن به صورت پرمخاطب ثبت می کند
پیام).
--out-format=FORMAT
این به شما امکان میدهد دقیقاً مشخص کنید که مشتری rsync چه خروجیهایی را برای کاربر در a
مبنای هر به روز رسانی قالب یک رشته متنی است که شامل تک کاراکتر جاسازی شده است
دنباله های فرار با پیشوند نویسه درصد (%). یک قالب پیش فرض از
"%n%L" فرض می شود اگر یکی باشد --info=نام or -v مشخص شده است (این فقط به شما می گوید
نام فایل و اگر مورد یک پیوند است، به کجا اشاره می کند). برای یک لیست کامل از
کاراکترهای فرار احتمالی، تنظیمات "قالب ورود" را در rsyncd.conf ببینید
صفحه مدیریت
مشخص کردن -- خارج از قالب گزینه دلالت بر --info=نام گزینه ، که خواهد شد
هر فایل، dir و غیره را که به طور قابل توجهی به روز می شوند ذکر کنید (انتقال شده
فایل، یک پیوند نمادین/دستگاه بازسازی شده، یا یک فهرست لمسی). علاوه بر این، اگر
itemize-changes escape (%i) در رشته گنجانده شده است (مثلاً اگر
--itemize-changes از گزینه استفاده شد)، ثبت نام برای ذکر هر یک افزایش می یابد
موردی که به هر نحوی تغییر می کند (تا زمانی که سمت گیرنده حداقل 2.6.4 باشد).
مشاهده --itemize-changes گزینه ای برای توصیف خروجی "%i".
Rsync رشته خارج از فرمت را قبل از انتقال فایل خروجی می دهد مگر اینکه یکی از آنها
فرارهای آماری انتقال درخواست میشود، در این صورت ورود به سیستم در آن انجام میشود
پایان انتقال فایل وقتی این ثبت دیرهنگام در اثر است و --پیش رفتن
همچنین مشخص شده است، rsync نام فایل در حال انتقال را نیز خروجی خواهد داد
قبل از اطلاعات پیشرفت آن (البته به دنبال خروجی فرمت خارج).
--log-file=FILE
این گزینه باعث میشود rsync کارهایی را که انجام میدهد با یک فایل ثبت کند. این شبیه به
ورود به سیستم که یک شبح انجام می دهد، اما می تواند برای سمت مشتری و/یا درخواست شود
سمت سرور یک انتقال غیر دیمون. اگر به عنوان گزینه مشتری مشخص شده است، انتقال دهید
ورود به سیستم با قالب پیش فرض "%i %n%L" فعال خواهد شد. را ببینید
--log-file-format اگر می خواهید این گزینه را لغو کنید.
در اینجا یک فرمان مثال است که از سمت راه دور درخواست می کند تا آنچه را که اتفاق می افتد ثبت کند:
rsync -av --remote-option=--log-file=/tmp/rlog src/ dest/
اگر نیاز به رفع اشکال دارید که چرا یک اتصال به طور غیر منتظره بسته می شود، این بسیار مفید است.
--log-file-format=FORMAT
این به شما امکان میدهد دقیقاً مشخص کنید چه گزارشهایی در هر بهروزرسانی در فایل قرار داده میشود
مشخص شده توسط --ورود به سیستم فایل گزینه (که برای این گزینه نیز باید مشخص شود
هر اثری داشته باشد). اگر یک رشته خالی را مشخص کنید، فایل های به روز شده وجود نخواهد داشت
در فایل گزارش ذکر شده است. برای لیستی از کاراکترهای فرار احتمالی، به
تنظیم "قالب ورود" در صفحه مدیریت rsyncd.conf.
FORMAT پیش فرض اگر استفاده می شود --ورود به سیستم فایل مشخص شده است و این گزینه «%i» نیست
%n%L'.
--آمار
این به rsync میگوید که مجموعهای از آمار دقیق در مورد انتقال فایل را چاپ کند.
به شما این امکان را می دهد که بگویید الگوریتم انتقال دلتا rsync چقدر برای شما موثر است
داده ها. این گزینه معادل است --info=stats2 اگر با 0 یا 1 ترکیب شود -v
گزینه ها، یا --info=stats3 اگر با 2 یا بیشتر ترکیب شود -v گزینه.
آمار فعلی به شرح زیر است:
o شماره of فایل ها شمارش تمام "پرونده ها" (به معنای عام) است که
شامل دایرکتوری ها، پیوندهای نمادین، و غیره است. تعداد کل با یک دنبال می شود
فهرست تعداد بر اساس نوع فایل (اگر کل غیر صفر باشد). به عنوان مثال: "(reg:
5, dir: 3, link: 2, dev: 1, special: 1)" کل فایل های معمولی را فهرست می کند.
دایرکتوری ها، پیوندهای نمادین، دستگاه ها و فایل های خاص. اگر هر یک از مقدار 0 باشد، آن را
به طور کامل از لیست حذف شده است.
o شماره of ایجاد شده فایل ها تعداد "فایل" است (حس عمومی)
ایجاد شدند (بر خلاف به روز رسانی). شمارش کل با a دنبال می شود
فهرست تعداد بر اساس نوع فایل (اگر کل غیر صفر باشد).
o شماره of حذف فایل ها تعداد "فایل" است (حس عمومی)
ایجاد شدند (بر خلاف به روز رسانی). شمارش کل با a دنبال می شود
فهرست تعداد بر اساس نوع فایل (اگر کل غیر صفر باشد). توجه داشته باشید که این خط
تنها در صورتی خروجی میشود که حذفها اعمال شده باشند، و تنها در صورتی که پروتکل 31 در حال اجرا باشد
استفاده می شود (پیش فرض برای rsync 3.1.x).
o شماره of منظم فایل ها منتقل تعداد فایل های عادی است که بودند
به روز شده از طریق الگوریتم دلتا انتقال rsync، که شامل dir نمی شود،
symlinks و غیره. توجه داشته باشید که rsync 3.1.0 کلمه "Regular" را به این اضافه کرده است.
عنوان
o جمع پرونده اندازه مجموع کل اندازه های فایل در انتقال است. این
هیچ اندازه ای را برای فهرست ها یا فایل های خاص در نظر نمی گیرد، اما شامل می شود
اندازه پیوندهای نمادین
o جمع منتقل پرونده اندازه مجموع کل اندازه فایل ها فقط برای
فایل های منتقل شده
o لفظی داده ها این است که چه مقدار از داده های به روز رسانی فایل بی همتا را باید به آن ارسال می کردیم
گیرنده برای ایجاد مجدد فایل های به روز شده.
o تطبیق داده ها میزان داده ای است که گیرنده هنگام ایجاد مجدد آن به صورت محلی دریافت کرده است
فایل های به روز شده
o پرونده فهرست اندازه زمانی که فرستنده آن را به فهرست فایل ارسال کرد، داده های فهرست فایل چقدر بزرگ بود
گیرنده. این اندازه کوچکتر از اندازه موجود در حافظه برای لیست فایل است
برای فشرده سازی داده های تکراری زمانی که rsync لیست را ارسال می کند.
o پرونده فهرست نسل زمان تعداد ثانیه هایی است که فرستنده صرف کرده است
ایجاد لیست فایل این به یک rsync مدرن در سمت ارسال نیاز دارد
برای اینکه این حضور داشته باشد
o پرونده فهرست انتقال زمان تعداد ثانیه هایی است که فرستنده صرف کرده است
ارسال لیست فایل به گیرنده
o جمع بایت فرستاده تعداد تمام بایت هایی است که rsync از آن ارسال می شود
سمت مشتری به سمت سرور.
o جمع بایت اخذ شده تعداد تمام بایتهای غیر پیامی است که همگامسازی میشوند
توسط مشتری از سمت سرور دریافت می شود. بایت های «غیر پیام» یعنی
که ما بایت ها را برای پیام پرمخاطبی که سرور به آن ارسال می کند، حساب نمی کنیم
ما، که آمار را ثابت تر می کند.
-8، -- خروجی 8 بیتی
این به rsync میگوید که درعوض همه کاراکترهای بیت بالا را بدون فرار در خروجی رها کند
تلاش برای آزمایش آنها برای بررسی اینکه آیا آنها در محلی فعلی معتبر هستند یا خیر
آنهایی که نامعتبر هستند همه کاراکترهای کنترل (اما هرگز برگه ها) همیشه فرار می کنند،
بدون توجه به تنظیمات این گزینه
اصطلاح فرار که در 2.6.7 شروع شد، خروجی یک بک اسلش (\) و یک
هش (#)، به دنبال آن دقیقاً 3 رقم اکتال. به عنوان مثال، یک خط جدید خروجی خواهد داشت
به عنوان "\#012". یک بک اسلش تحت اللفظی که در نام فایل وجود دارد، حذف نمی شود مگر اینکه اینطور باشد
به دنبال آن یک هش و 3 رقم (0-9).
-h، --قابل خواندن برای انسان
خروجی اعداد در قالبی قابل خواندن برای انسان. 3 سطح ممکن وجود دارد: (1)
خروجی اعداد با جداکننده بین هر مجموعه از 3 رقم (یا کاما یا یک
نقطه، بسته به اینکه نقطه اعشار با نقطه یا کاما نشان داده شود.
(2) اعداد خروجی در واحدهای 1000 (با پسوند کاراکتر برای واحدهای بزرگتر --
زیر را ببینید)؛ (3) اعداد خروجی در واحدهای 1024.
پیش فرض سطح 1 قابل خواندن برای انسان است -h گزینه سطح را یک بار افزایش می دهد.
می توانید با مشخص کردن سطح را به 0 (برای خروجی اعداد به صورت ارقام خالص) کاهش دهید
la غیرقابل خواندن برای انسان (--نه-h) گزینه.
حروف واحدی که در سطوح 2 و 3 ضمیمه می شوند عبارتند از: K (کیلو)، M (مگا)، G.
(گیگا)، یا T (ترا). به عنوان مثال، یک فایل 1234567 بایتی 1.23M اینچ خروجی دارد
سطح 2 (با فرض اینکه نقطه نقطه اعشار محلی شما باشد).
توجه سازگاری به عقب: نسخههای rsync قبل از 3.1.0 پشتیبانی نمیکنند
سطح 1 قابل خواندن توسط انسان، و آنها به طور پیش فرض سطح 0 را دارند. بنابراین، یک یا دو را مشخص می کنند
-h تا زمانی که گزینه ها در نسخه های قدیمی و جدید به شیوه ای قابل مقایسه رفتار خواهند کرد
الف را مشخص نکردید --نه-h گزینه قبل از یک یا چند -h گزینه ها. را ببینید
---فقط لیست گزینه ای برای یک تفاوت
--جزئي
بهطور پیشفرض، rsync هر فایلی که جزئی منتقل شده است را حذف میکند
منقطع. در برخی شرایط حفظ جزئی مطلوب تر است
فایل های منتقل شده با استفاده از --جزئي گزینه به rsync می گوید که فایل جزئی را حفظ کند
که باید انتقال بعدی بقیه فایل را بسیار سریعتر انجام دهد.
--partial-dir=DIR
روشی بهتر برای نگهداری فایل های جزئی نسبت به --جزئي گزینه این است که a را مشخص کنید DIR
که برای نگهداری داده های جزئی استفاده می شود (به جای نوشتن آن در
فایل مقصد). در انتقال بعدی، rsync از فایل موجود در این dir استفاده خواهد کرد
به عنوان داده برای تسریع از سرگیری انتقال و سپس حذف آن پس از آن
به هدف خود عمل کرد.
توجه داشته باشید که اگر --کل فایل مشخص شده (یا ضمنی)، هر فایل جزئی-dir که باشد
یافت شده برای فایلی که در حال به روز رسانی است به سادگی حذف خواهد شد (زیرا rsync است
ارسال فایل ها بدون استفاده از الگوریتم دلتا انتقال rsync).
Rsync را ایجاد خواهد کرد DIR اگر گم شده باشد (فقط آخرین فیلم -- نه کل
مسیر). این کار استفاده از یک مسیر نسبی (مانند
"--partial-dir=.rsync-partial") برای اینکه rsync دایرکتوری جزئی را در آن ایجاد کنید
دایرکتوری فایل مقصد در صورت نیاز، و سپس دوباره آن را حذف کنید
فایل حذف می شود
اگر مقدار partial-dir یک مسیر مطلق نباشد، rsync یک قانون استثنا در آن اضافه میکند
پایان تمام موارد موجود شما را حذف می کند. این از ارسال هر کدام جلوگیری می کند
فایل های partial-dir که ممکن است در سمت ارسال وجود داشته باشد و همچنین مانع از آن می شود
حذف نابهنگام آیتم های جزئی-دیر در سمت دریافت کننده. یک مثال:
بالاتر -- جزئی- کارگردان گزینه معادل " را اضافه می کند-f '-پ rsync-partial/'"در
پایان سایر قوانین فیلتر
اگر قوانین حذف خود را ارائه می کنید، ممکن است لازم باشد قوانین خود را اضافه کنید
قانون حذف/پنهان/محافظت برای قسمتی-dir زیرا (1) قانون اضافه شده خودکار ممکن است
در پایان سایر قوانین شما ناکارآمد باشد، یا (2) ممکن است بخواهید لغو کنید
rsync انتخاب حذف. برای مثال، اگر میخواهید پاکسازی rsync را انجام دهید
باقی مانده جزئی-dirs که ممکن است در اطراف دروغ گفتن، شما باید مشخص کنید --حذف-بعد
و یک قانون فیلتر "ریسک" اضافه کنید، به عنوان مثال -f 'R rsync-partial/'. (از مصرف خودداری کنید
--حذف-قبل or --حذف-در طول مگر اینکه برای استفاده از هیچ یک از آنها به rsync نیاز نداشته باشید
داده های جزئی-dir باقی مانده در طول اجرای فعلی.)
مهم: -- جزئی- کارگردان نباید توسط سایر کاربران قابل نوشتن باشد یا این است
خطر امنیتی. به عنوان مثال اجتناب کنید "دایرکتوری / tmp".
همچنین می توانید مقدار partial-dir را برای متغیر محیطی RSYNC_PARTIAL_DIR تنظیم کنید.
تنظیم این در محیط اجباری ندارد --جزئي فعال شود، بلکه
این تأثیر می گذارد که فایل های جزئی چه زمانی بروند --جزئي مشخص شده است. برای مثال،
بجای استفاده از --partial-dir=.rsync-tmp همراه با --پیش رفتن، می توانید تنظیم کنید
RSYNC_PARTIAL_DIR=.rsync-tmp در محیط خود و سپس فقط از آن استفاده کنید -P گزینه ای برای
استفاده از .rsync-tmp dir را برای انتقال جزئی روشن کنید. تنها مواقعی که
la --جزئي گزینه به دنبال این مقدار محیط نیست (1) وقتی
--درجا مشخص شد (از --درجا در تعارض با -- جزئی- کارگردان) و (2)
چه زمانی -- تاخیر به روز رسانی مشخص شد (به زیر مراجعه کنید).
برای اهداف تنظیم "گزینه های امتناع" daemon-config، -- جزئی- کارگردان
میکند نه این مفهوم را میرسانند --جزئي. این به این دلیل است که امتناع از --جزئي گزینه می تواند باشد
برای جلوگیری از بازنویسی فایل های مقصد با انتقال جزئی استفاده می شود،
در حالی که هنوز اصطلاح امن تر ارائه شده توسط -- جزئی- کارگردان.
-- تاخیر به روز رسانی
این گزینه فایل موقت هر فایل به روز شده را در یک فهرست نگهدارنده قرار می دهد
تا پایان انتقال، که در آن زمان همه فایل ها به جای خود تغییر نام می دهند
به صورت متوالی سریع این تلاش می کند تا به روز رسانی فایل ها کمی بیشتر شود
اتمی بهطور پیشفرض، فایلها در هر دایرکتوری به نام ".~tmp~" قرار میگیرند
فهرست مقصد فایل، اما اگر آن را مشخص کرده باشید -- جزئی- کارگردان گزینه،
آن دایرکتوری به جای آن استفاده خواهد شد. نظرات را در قسمت مشاهده کنید -- جزئی- کارگردان بخش
برای بحث در مورد اینکه چگونه این ".~tmp~" dir از انتقال حذف می شود، و
اگر میخواهید rsync را برای پاک کردن تیرهای قدیمی «.~tmp~» که ممکن است دروغ گفته باشند، میتوانید انجام دهید.
دور و بر. درگیری با --درجا و --پیوست.
این گزینه از حافظه بیشتری در سمت گیرنده استفاده می کند (یک بیت برای هر فایل منتقل شده)
و همچنین به فضای آزاد کافی در سمت گیرنده برای نگه داشتن یک دیسک نیاز دارد
کپی اضافی از تمام فایل های به روز شده همچنین توجه داشته باشید که نباید از an استفاده کنید
مسیر مطلق به -- جزئی- کارگردان مگر اینکه (1) هیچ یک از فایل ها در آن وجود نداشته باشد
انتقال با همین نام (از آنجایی که تمام فایل های به روز شده در یک قرار می گیرند
دایرکتوری منفرد اگر مسیر مطلق باشد) و (2) هیچ نقطه اتصالی در آن وجود ندارد
سلسله مراتب (زیرا بهروزرسانیهای تاخیری در صورت عدم تغییر نام با شکست مواجه خواهند شد
محل).
همچنین به اسکریپت perl "atomic-rsync" در زیرمجموعه "پشتیبانی" برای به روز رسانی مراجعه کنید
الگوریتمی که حتی اتمی تر است (از آن استفاده می کند --link-dest و یک سلسله مراتب موازی از
فایل ها).
-m، --Pune-Empty-dirs
این گزینه به گیرنده rsync می گوید که از شر دایرکتوری های خالی خلاص شود
فهرست فایل، شامل دایرکتوریهای تو در تو که فرزند غیر دایرکتوری ندارند. این
برای جلوگیری از ایجاد یک دسته از دایرکتوری های بی فایده مفید است
ارسال rsync به صورت بازگشتی سلسله مراتبی از فایل ها را با استفاده از اسکن می کند
شامل / حذف / فیلتر قوانین.
توجه داشته باشید که استفاده از قوانین انتقال، مانند - اندازه کوچک گزینه، تاثیری ندارد
چه چیزی وارد لیست فایل می شود، و بنابراین دایرکتوری ها را خالی نمی گذارد، حتی اگر
هیچ یک از فایل های یک دایرکتوری با قانون انتقال مطابقت ندارد.
از آنجا که لیست فایل در واقع در حال برش است، این گزینه بر روی چه چیزی نیز تأثیر می گذارد
دایرکتوری ها زمانی که حذف فعال باشد حذف می شوند. با این حال، به خاطر داشته باشید که
فایل ها و دایرکتوری های حذف شده می توانند از حذف آیتم های موجود به دلیل
هم از مخفی کردن فایل های منبع و هم محافظت از فایل های مقصد حذف می شود. را ببینید
گزینه قانون فیلتر فاسد شدنی برای جلوگیری از این امر.
شما می توانید از هرس کردن دایرکتوری های خالی خاصی از لیست فایل جلوگیری کنید
با استفاده از یک فیلتر جهانی "حفاظت". به عنوان مثال، این گزینه تضمین می کند که
دایرکتوری "emptydir" در لیست فایل نگهداری شد:
---filter 'protect valadir/'
در اینجا یک مثال وجود دارد که تمام فایلهای pdf را در یک سلسله مراتب کپی میکند و فقط فایلهای pdf را ایجاد میکند
دایرکتوری های مقصد لازم برای نگهداری فایل های pdf. و تضمین می کند که هر کدام
فایل ها و دایرکتوری های اضافی در مقصد حذف می شوند (به پنهان کردن توجه کنید
فیلتر غیر دایرکتوریهایی که بهجای حذف استفاده میشوند:
rsync -avm --del --include='*.pdf' -f 'hide,! */' src/ dest
اگر نمیخواهید فایلهای مقصد اضافی را حذف کنید، بیشتر به آن احترام میگذارید
گزینه های "--include='*/' --exclude='*'"به جای آن خوب کار می کند
پنهان کردن فیلتر (اگر برای شما طبیعی تر است).
--پیش رفتن
این گزینه به rsync می گوید که اطلاعاتی را که پیشرفت انتقال را نشان می دهد چاپ کند.
این به کاربر بی حوصله چیزی برای تماشا می دهد. با یک rsync مدرن این یکسان است
همانطور که مشخص می کند --info=flist2,name, progress، اما تنظیمات ارائه شده توسط کاربر برای آن ها
پرچم های اطلاعات اولویت دارند (به عنوان مثال "--info=flist0 --progress").
در حالی که rsync در حال انتقال یک فایل معمولی است، خط پیشرفت ظاهری را به روز می کند
مثل این:
782448 63% 110.64 kB/s 0:00:04
در این مثال، گیرنده 782448 بایت یا 63 درصد از فرستنده را بازسازی کرده است.
فایلی که با سرعت 110.64 کیلوبایت بر ثانیه در حال بازسازی است و
انتقال در 4 ثانیه به پایان می رسد اگر نرخ فعلی تا زمان حفظ شود
پایان
اگر از الگوریتم انتقال دلتا rsync استفاده شود، این آمار می تواند گمراه کننده باشد.
برای مثال، اگر فایل فرستنده از فایل پایه و به دنبال آن اضافی تشکیل شده باشد
داده ها، نرخ گزارش شده احتمالا به شدت کاهش می یابد زمانی که گیرنده به آن برسد
داده های تحت اللفظی، و انتقال احتمالاً بسیار طولانی تر از آن خواهد بود
گیرنده زمانی که در حال تکمیل بخش منطبق از فایل بود، تخمین زد.
هنگامی که انتقال فایل به پایان رسید، rsync خط پیشرفت را با خلاصه ای جایگزین می کند
خطی که شبیه این است:
1,238,099 100% 146.38 kB/s 0:00:08 (xfr#5، to-chk=169/396)
در این مثال، فایل در مجموع 1,238,099،XNUMX،XNUMX بایت طول داشت، میانگین نرخ
انتقال کل فایل 146.38 کیلوبایت بر ثانیه در 8 ثانیه بود
تکمیل آن طول کشید، این پنجمین انتقال یک فایل معمولی در جریان فعلی بود
جلسه rsync، و 169 فایل دیگر برای بررسی وجود دارد (تا ببیند آیا
آنها به روز هستند یا نه) از مجموع 396 فایل موجود در لیست فایل ها باقی مانده اند.
در یک اسکن بازگشتی افزایشی، rsync تعداد کل فایلهای موجود را نمیداند
لیست فایل تا زمانی که به انتهای اسکن برسد، اما از زمانی که شروع به انتقال می کند
فایل ها در حین اسکن، یک خط با متن "ir-chk" (برای
بررسی بازگشتی افزایشی) به جای "to-chk" تا زمانی که آن را بداند
اندازه کامل لیست، در این مرحله به استفاده از "to-chk" تغییر می کند. بدین ترتیب،
دیدن "ir-chk" به شما امکان می دهد بدانید که تعداد کل فایل ها در لیست فایل ها است
همچنان افزایش می یابد (و هر بار که افزایش می یابد، تعداد فایل های باقی مانده برای بررسی
تعداد فایل های اضافه شده به لیست افزایش می یابد).
-P La -P گزینه معادل است --جزئي --پیش رفتن. هدفش ساختن آن است
تعیین این دو گزینه برای انتقال طولانی که ممکن است بسیار آسان تر باشد
منقطع.
همچنین وجود دارد --info=progress2 گزینه ای که آمار را بر اساس کل خروجی می دهد
انتقال، به جای فایل های فردی. از این پرچم بدون خروجی a استفاده کنید
نام فایل (به عنوان مثال اجتناب کنید -v یا مشخص کنید --info=name0 اگر می خواهید نحوه انتقال را ببینید
بدون پیمایش صفحه با نام های زیاد انجام می دهد. (نیازی ندارید
مشخص کنید --پیش رفتن گزینه به منظور استفاده --info=progress2.)
--password-file=FILE
این گزینه به شما این امکان را می دهد تا رمز عبوری برای دسترسی به شبح rsync از طریق a ارائه دهید
فایل یا از طریق ورودی استاندارد اگر فایل is -. فایل باید فقط حاوی رمز عبور باشد
در خط اول (همه خطوط دیگر نادیده گرفته می شوند). Rsync با یک خطا خارج می شود اگر
فایل در جهان قابل خواندن است یا اگر یک دستور rsync با اجرای root فایلی را که متعلق به ریشه نیست پیدا کند.
این گزینه رمز عبوری را برای انتقال پوسته راه دور مانند ssh ارائه نمی کند. به
یاد بگیرید که چگونه این کار را انجام دهید، به اسناد پوسته راه دور مراجعه کنید. هنگام دسترسی به یک
rsync daemon با استفاده از پوسته راه دور به عنوان انتقال، این گزینه فقط وارد می شود
اثر پس از اتمام احراز هویت پوسته از راه دور (به عنوان مثال اگر شما نیز دارید
رمز عبور را در فایل پیکربندی دیمون مشخص کرد).
---فقط لیست
این گزینه باعث می شود که فایل های منبع به جای انتقال در لیست قرار گیرند. این
اگر یک منبع arg وجود داشته باشد و مقصدی مشخص نشده باشد، گزینه استنباط می شود، بنابراین
کاربردهای اصلی آن عبارتند از: (1) برای تبدیل یک دستور کپی که شامل arg مقصد است
یک دستور فهرست کردن فایل، یا (2) برای تعیین بیش از یک منبع arg
(توجه: حتما مقصد را درج کنید). احتیاط: به خاطر داشته باشید که یک منبع
arg با wild-card توسط پوسته به آرگ های متعدد گسترش می یابد، بنابراین هرگز نمی شود
بدون استفاده از این گزینه، سعی کنید چنین ارگ را فهرست کنید. مثلا:
rsync -av --list-only foo* dest/
با شروع با rsync 3.1.0، اندازه های خروجی توسط ---فقط لیست تحت تأثیر قرار گرفته اند
--قابل خواندن برای انسان گزینه. به طور پیش فرض آنها حاوی جداکننده های رقمی هستند، اما بالاتر
سطوح خوانایی اندازه ها را با پسوند واحد خروجی می دهد. همچنین توجه داشته باشید که
عرض ستون برای خروجی اندازه از 11 به 14 کاراکتر برای همه افزایش یافته است
سطوح قابل خواندن برای انسان استفاده کنید --نه-h اگر می خواهید فقط ارقام در اندازه ها، و
عرض ستون قدیمی 11 کاراکتر.
توجه سازگاری: هنگام درخواست لیست از راه دور فایل ها از یک rsync که
نسخه 2.6.3 یا بالاتر است، در صورت درخواست a با خطا ممکن است مواجه شوید
فهرست غیر بازگشتی این به این دلیل است که یک لیست فایل به این معنی است -- کارگردانان انتخاب
W / O - بازگشتی، و rsync های قدیمی این گزینه را ندارند. برای جلوگیری از این مشکل،
یا مشخص کنید --بدون کارگردان گزینه (اگر نیازی به گسترش دایرکتوری ندارید
محتوا)، یا بازگشت را روشن کنید و محتوای زیر شاخهها را حذف کنید: -r
--exclude='/*/*'.
--bwlimit=RATE
این گزینه به شما امکان می دهد حداکثر نرخ انتقال داده های ارسال شده را مشخص کنید
سوکت، بر حسب واحد در ثانیه مشخص شده است. مقدار RATE را می توان با پسوند a اضافه کرد
رشته ای برای نشان دادن ضریب اندازه، و ممکن است یک مقدار کسری باشد (مثلا
"--bwlimit=1.5mاگر هیچ پسوندی مشخص نشده باشد، مقدار in در نظر گرفته می شود
واحدهای 1024 بایتی (مثل اینکه "K" یا "KiB" اضافه شده باشد). را ببینید -- حداکثر اندازه
گزینه ای برای توضیح تمام پسوندهای موجود. مقدار صفر مشخص می کند
بدون محدودیت.
به دلایل سازگاری با عقب، محدودیت نرخ به نزدیکترین گرد خواهد شد
واحد KiB، بنابراین هیچ نرخی کمتر از 1024 بایت در ثانیه امکان پذیر نیست.
Rsync داده ها را روی سوکت در بلوک می نویسد و این گزینه هر دو اندازه را محدود می کند
از بلوک هایی که rsync می نویسد، و سعی می کند میانگین نرخ انتقال را در آن نگه دارد
حد درخواستی در جایی که rsync یک بلوک از آن را می نویسد، ممکن است مقداری "شکستگی" دیده شود
داده ها و سپس به خواب می رود تا میانگین نرخ مطابقت داشته باشد.
به دلیل بافر داخلی داده ها، --پیش رفتن ممکن است گزینه دقیقی نباشد
بازتاب سرعت ارسال داده ها این به این دلیل است که برخی از فایل ها می توانند نشان داده شوند
هنگامی که داده ها به سرعت بافر می شوند، به سرعت ارسال می شوند، در حالی که سایرین می توانند نشان داده شوند
زمانی که فلاشینگ بافر خروجی رخ می دهد بسیار کند است. این ممکن است در یک رفع شود
نسخه آینده
--write-batch=FILE
فایلی را ضبط کنید که بعداً بتوان آن را به مقصد مشابه دیگری اعمال کرد
---بخوان. برای جزئیات بیشتر به بخش "حالت دسته ای" و همچنین
--only-write-batch گزینه.
--only-write-batch=FILE
کار می کند مانند --نوشتن دسته ای، با این تفاوت که هیچ به روز رسانی در سیستم مقصد انجام نمی شود
هنگام ایجاد دسته این به شما امکان می دهد تغییرات را به مقصد منتقل کنید
سیستم را از طریق روش های دیگر و سپس اعمال تغییرات از طریق ---بخوان.
توجه داشته باشید که می توانید با خیال راحت دسته را مستقیماً در برخی رسانه های قابل حمل بنویسید: if
ظرفیت این رسانه قبل از پایان انتقال پر می شود، فقط می توانید درخواست دهید
که بخشی از آن را به مقصد منتقل کنید و کل فرآیند را تکرار کنید تا به دست آورید
بقیه تغییرات (تا زمانی که برای مقصدی که تا حدی به روز شده اهمیتی نداشته باشید
سیستم در حالی که چرخه چند به روز رسانی در حال انجام است).
همچنین توجه داشته باشید که تنها زمانی که تغییرات را در یک سیستم از راه دور اعمال می کنید، پهنای باند را ذخیره می کنید
زیرا این اجازه می دهد تا داده های دسته بندی شده از فرستنده به دسته منحرف شوند
فایل را بدون نیاز به جریان از روی سیم به سمت گیرنده (هنگام کشیدن، فرستنده
از راه دور است، و بنابراین نمی توان دسته را نوشت).
--read-batch=FILE
تمام تغییرات ذخیره شده در FILE را اعمال کنید، فایلی که قبلا توسط آن ایجاد شده است
--نوشتن دسته ای. اگر فایل is -، داده های دسته ای از ورودی استاندارد خوانده می شوند. دیدن
بخش "حالت دسته ای" برای جزئیات بیشتر.
--پروتکل=NUM
استفاده از نسخه پروتکل قدیمی را مجبور کنید. این برای ایجاد یک دسته مفید است
فایلی که با نسخه قدیمی rsync سازگار است. به عنوان مثال، اگر rsync شود
2.6.4 در حال استفاده است --نوشتن دسته ای گزینه، اما rsync 2.6.3 همان چیزی است که خواهد بود
برای اجرا استفاده می شود ---بخوان گزینه، هنگام ایجاد باید از "--protocol=28" استفاده کنید
فایل دسته ای را مجبور به استفاده از نسخه پروتکل قدیمی در فایل دسته ای کنید
(با فرض اینکه نمی توانید rsync را در سیستم خواندن ارتقا دهید).
--iconv=CONVERT_SPEC
Rsync می تواند با استفاده از این گزینه نام فایل ها را بین مجموعه کاراکترها تبدیل کند. با استفاده از a
CONVERT_SPEC از "." به rsync می گوید که مجموعه کاراکترهای پیش فرض را از طریق محلی جستجو کند
تنظیمات. به طور متناوب، می توانید با دادن a به طور کامل مشخص کنید که چه تبدیلی باید انجام شود
محلی و یک مجموعه نویسه راه دور که به ترتیب با کاما از هم جدا شده اند --iconv=LOCAL،REMOTE,
به عنوان مثال --iconv=utf8,iso88591. این ترتیب تضمین می کند که گزینه ثابت باقی می ماند
چه در حال فشار دادن یا کشیدن فایل ها باشید. در نهایت می توانید یکی را مشخص کنید
--no-iconv یا یک CONVERT_SPEC از "-" برای خاموش کردن هر تبدیل. پیشفرض
تنظیم این گزینه برای سایت خاص است و همچنین می تواند از طریق آن تحت تأثیر قرار گیرد
متغیر محیطی RSYNC_ICONV.
برای فهرستی از نامهای مجموعه نویسهای که کتابخانه iconv محلی شما پشتیبانی میکند، میتوانید اجرا کنید
"iconv --list".
اگر شما مشخص کنید --protect-args گزینه (-s)، rsync نام فایل ها را ترجمه می کند
شما در خط فرمان مشخص می کنید که به میزبان راه دور ارسال می شود. همچنین ببینید
la --فایلها-از گزینه.
توجه داشته باشید که rsync هیچ گونه تبدیل نام در فایل های فیلتر (از جمله
شامل / حذف فایل ها). این به شما بستگی دارد که اطمینان حاصل کنید که مطابقت را مشخص می کنید
قوانینی که می تواند در هر دو طرف انتقال مطابقت داشته باشد. به عنوان مثال، می توانید مشخص کنید
در صورت وجود تفاوت در نام فایل در دو طرف، قوانین اضافه/حذف اضافی
نیاز به حسابداری دارد.
وقتی از یک --iconv گزینه ای برای یک دیمون rsync که به آن اجازه می دهد، دیمون از آن استفاده می کند
مجموعه حروف مشخص شده در پارامتر پیکربندی "charset" آن صرف نظر از
مجموعه کاراکتر از راه دور که در واقع از آن عبور می کنید. بنابراین، شما ممکن است احساس راحتی کنید که فقط آن را مشخص کنید
مجموعه نویسه های محلی برای انتقال دیمون (مثلا --iconv=utf8).
-4، --ipv4 or -6، --ipv6
به rsync میگوید هنگام ایجاد سوکت، IPv4/IPv6 را ترجیح دهد. این فقط روی سوکت ها تأثیر می گذارد
که rsync کنترل مستقیمی روی آن دارد، مانند سوکت خروجی در صورت مستقیم
تماس با دیمون rsync همچنین این گزینه ها را در قسمت مشاهده کنید --اهریمن، دیو بخش حالت
اگر rsync بدون پشتیبانی از IPv6 رعایت شود، --ipv6 گزینه هیچ خواهد داشت
اثر - نسخه خروجی به شما می گوید که آیا این مورد است.
--checksum-seed=NUM
Seed checksum را روی عدد صحیح NUM قرار دهید. این دانه چکسام 4 بایتی در آن گنجانده شده است
هر بلوک و محاسبه چکسوم فایل MD4 (جمعهای کنترلی فایل MD5 مدرنتر
از دانه استفاده نکنید). به طور پیش فرض checksum seed توسط سرور و تولید می شود
پیشفرض زمان فعلی () است. این گزینه برای تنظیم یک چک جمع خاص استفاده می شود
seed، که برای برنامههایی که میخواهند جمعبندیهای بلوکی تکرار شونده یا in مفید است
موردی که کاربر یک بذر چک جمع تصادفی تر می خواهد. تنظیم NUM به 0 علت
rsync برای استفاده از پیش فرض time() برای checksum seed.
اهریمن، دیو OPTIONS
گزینه های مجاز هنگام راه اندازی rsync daemon به شرح زیر است:
--اهریمن، دیو
این به rsync میگوید که بهعنوان یک دیمون اجرا میشود. شیطانی که شروع به اجرای آن می کنید ممکن است
با استفاده از یک کلاینت rsync با استفاده از میزبان:: ماژول or rsync://host/module/
نحو.
اگر ورودی استاندارد یک سوکت باشد، rsync فرض میکند که از طریق آن اجرا میشود
inetd، در غیر این صورت از ترمینال فعلی جدا می شود و به یک پس زمینه تبدیل می شود
اهریمن، دیو. دیمون فایل پیکربندی (rsyncd.conf) را در هر اتصال ایجاد شده توسط می خواند
یک مشتری و بر این اساس به درخواست ها پاسخ دهید. را ببینید rsyncd.conf(5) صفحه مرد برای
جزئیات بیشتر.
--نشانی
بهطور پیشفرض، rsync هنگامی که بهعنوان یک شبح با «شیو» اجرا میشود، به آدرس wildcard متصل میشود
--اهریمن، دیو گزینه. --نشانی گزینه به شما امکان می دهد یک آدرس IP خاص را مشخص کنید
(یا نام میزبان) برای اتصال به. این امر میزبانی مجازی را در ارتباط با
la - پیکربندی گزینه. همچنین گزینه جهانی «آدرس» را در rsyncd.conf ببینید
صفحه مدیریت
--bwlimit=RATE
این گزینه به شما امکان می دهد حداکثر سرعت انتقال داده ها را تعیین کنید
از طریق سوکت می فرستد مشتری همچنان می تواند کوچکتر را مشخص کند --bwlimit ارزش، اما
هیچ مقدار بزرگتری مجاز نخواهد بود. نسخه کلاینت این گزینه (بالا) را ببینید
برخی جزئیات اضافی
--config=FILE
این یک فایل پیکربندی جایگزین غیر از پیش فرض را مشخص می کند. این فقط مربوط است
چه زمانی --اهریمن، دیو مشخص شده است. پیش فرض است /etc/rsyncd.conf مگر اینکه دیمون باشد
اجرا بر روی یک برنامه پوسته راه دور و کاربر راه دور فوق کاربر نیست. که در
در این صورت پیش فرض rsyncd.conf در دایرکتوری فعلی است (معمولا $HOME).
-M، --dparam=OVERRIDE
از این گزینه می توان برای تنظیم پارامتر daemon-config هنگام راه اندازی rsync in استفاده کرد
حالت دیمون معادل اضافه کردن پارامتر در انتهای جهانی است
تنظیمات قبل از تعریف ماژول اول. نام پارامترها می تواند باشد
در صورت تمایل بدون فاصله مشخص شده است. برای مثال:
rsync --daemon -M pidfile=/path/rsync.pid
--بدون جدا شدن
هنگامی که به عنوان دیمون اجرا می شود، این گزینه به rsync دستور می دهد که خود را جدا نکند و
تبدیل به یک فرآیند پس زمینه این گزینه هنگام اجرا به عنوان یک سرویس در مورد نیاز است
Cygwin و همچنین ممکن است زمانی مفید باشد که rsync تحت نظارت برنامهای مانند
ابزار شبح یا AIX سیستم منابع کنترل کننده. --بدون جدا شدن نیز توصیه می شود
هنگامی که rsync تحت یک دیباگر اجرا می شود. اگر rsync از آن اجرا شود، این گزینه تاثیری ندارد
inetd یا sshd.
--port=PORT
این یک شماره پورت TCP جایگزین برای دیمون برای گوش دادن به جای تعیین می کند
پیشفرض 873. همچنین گزینه جهانی "port" را در صفحه مدیریت rsyncd.conf ببینید.
--log-file=FILE
این گزینه به rsync daemon می گوید که به جای استفاده از نام فایل log داده شده استفاده کند
تنظیم "فایل ثبت" در فایل پیکربندی.
--log-file-format=FORMAT
این گزینه به دیمون rsync می گوید که به جای استفاده از رشته FORMAT داده شده استفاده کند
تنظیم "قالب ورود" در فایل پیکربندی. همچنین "گزارش انتقال" را فعال می کند
مگر اینکه رشته خالی باشد که در این صورت گزارش انتقال غیرفعال می شود.
--سوکوپت ها
این موضوع را نادیده می گیرد پریز گزینه های در فایل rsyncd.conf تنظیم می شود و همان را دارد
نحو.
-v، -- پرحرف
این گزینه مقدار اطلاعاتی را که دیمون در هنگام راه اندازی ثبت می کند افزایش می دهد
فاز. پس از اتصال کلاینت، سطح پرحرفی دیمون کنترل می شود
توسط گزینه هایی که مشتری استفاده می کند و تنظیم "حداکثر پرحرفی" در ماژول
بخش پیکربندی
-4، --ipv4 or -6، --ipv6
به rsync میگوید هنگام ایجاد سوکتهای ورودی که rsync میشوند، IPv4/IPv6 را ترجیح دهد.
دیمون برای گوش دادن به اتصالات استفاده خواهد کرد. یکی از این گزینه ها ممکن است در مورد نیاز باشد
نسخه های قدیمی لینوکس برای حل یک باگ IPv6 در هسته (در صورت مشاهده
وقتی هیچ چیز دیگری از پورت استفاده نمی کند، خطای "address now in use" را مشخص کنید
--ipv6 or --ipv4 هنگام شروع دیمون).
اگر rsync بدون پشتیبانی از IPv6 رعایت شود، --ipv6 گزینه هیچ خواهد داشت
اثر - نسخه خروجی به شما می گوید که آیا این مورد است.
-h، --کمک
وقتی بعد از آن مشخص شد --اهریمن، دیو، یک صفحه راهنمای کوتاه که گزینه ها را توصیف می کند چاپ کنید
برای راه اندازی rsync daemon موجود است.
FILTER قوانین
قوانین فیلتر امکان انتخاب منعطف فایل هایی را برای انتقال (شامل) و
کدام فایل ها را پرش کنید (استثنا کنید). قوانین یا به طور مستقیم الگوها را شامل / حذف می کنند
یا راهی را برای به دست آوردن الگوهای شامل/حذف بیشتر مشخص می کنند (مثلاً خواندن آنها از a
فایل).
از آنجایی که لیست فایل ها/دایرکتوری ها برای انتقال ساخته می شود، rsync وجود هر نام را بررسی می کند
به نوبه خود در برابر فهرست شامل/حذف الگوها و اولین تطابق منتقل می شود
الگو بر روی آن عمل می شود: اگر یک الگوی حذف باشد، آن فایل حذف می شود. اگر آن است
شامل الگوی پس از آن نام فایل نادیده گرفته نمی شود. اگر هیچ الگوی منطبقی یافت نشد، پس
نام فایل نادیده گرفته نمی شود.
Rsync یک لیست مرتب از قوانین فیلتر را همانطور که در خط فرمان مشخص شده است می سازد. فیلتر کنید
قوانین دارای نحو زیر هستند:
قانون [PATTERN_OR_FILENAME]
RULE، MODIFIERS [PATTERN_OR_FILENAME]
همانطور که در زیر توضیح داده شده است می توانید از نام های کوتاه یا بلند RULE استفاده کنید. اگر شما
از یک قانون با نام کوتاه استفاده کنید، «،» جدا کردن RULE از MODIFIERS اختیاری است. در
PATTERN یا FILENAME که دنبال میشود (در صورت وجود) باید بعد از یک فاصله یا
خط زیر (_). در اینجا پیشوندهای قانون موجود هستند:
حذف کردن، - یک الگوی حذف را مشخص می کند.
عبارتند از، + یک الگوی شامل را مشخص می کند.
ادغام، . یک فایل ادغام را برای خواندن قوانین بیشتر مشخص می کند.
ادغام کردن، : یک فایل ادغام در هر دایرکتوری را مشخص می کند.
پنهان شدن، H الگویی را برای مخفی کردن فایل ها از انتقال مشخص می کند.
نشان می دهد، S فایل هایی که با الگو مطابقت دارند پنهان نمی شوند.
محافظت، P الگویی را برای محافظت از فایل ها در برابر حذف مشخص می کند.
خطر، R فایل هایی که با الگو مطابقت دارند محافظت نمی شوند.
روشن ، ! لیست فعلی شامل/حذف را پاک می کند (بدون آرگ)
هنگامی که قوانین از یک فایل خوانده می شوند، خطوط خالی نادیده گرفته می شوند، همانطور که خطوط نظر نیز نادیده گرفته می شوند
با یک "#" شروع کنید.
توجه داشته باشید که --عبارتند از/-- استثناء کردن گزینه های خط فرمان طیف کامل قانون را مجاز نمی دانند
تجزیه همانطور که در بالا توضیح داده شد - آنها فقط اجازه می دهند مشخصات شامل/حذف شود
الگوها به اضافه یک "!" توکن برای پاک کردن لیست (و تجزیه کامنت معمولی وقتی قوانین هستند
خواندن از روی یک فایل). اگر یک الگو با "-" (خط تیره، فاصله) یا "+" (به علاوه،
فاصله)، سپس قانون به صورت "+" (برای یک گزینه شامل) یا "-" (برای
یک گزینه exclude) به رشته اضافه شد. آ -- فیلتر گزینه، از سوی دیگر،
همیشه باید یک نام قاعده کوتاه یا طولانی در ابتدای قانون داشته باشد.
همچنین توجه داشته باشید که -- فیلتر, --عبارتند ازو -- استثناء کردن گزینه ها هر کدام یک قانون/الگو دارند.
برای افزودن چندین مورد، میتوانید گزینههای موجود در خط فرمان را تکرار کنید، از فایل ادغام استفاده کنید
نحو از -- فیلتر گزینه ، یا --شامل-از/-- استثناء-از گزینه.
شامل / حذف الگو قوانین
می توانید با تعیین الگوها با استفاده از فیلتر "+"، "-" و غیره فایل ها را شامل و حذف کنید
قوانین (همانطور که در بخش FILTER RULES در بالا معرفی شد). قوانین شامل/حذف هر کدام
الگویی را مشخص کنید که با نام فایل هایی که قرار است باشند مطابقت داشته باشد
منتقل شده. این الگوها می توانند اشکال مختلفی داشته باشند:
o اگر الگو با یک / شروع می شود، سپس به نقطه خاصی در آن متصل می شود
سلسله مراتب فایل ها، در غیر این صورت با انتهای نام مسیر مطابقت دارد. این
شبیه ^ پیشرو در عبارات منظم است. بنابراین "/foo" با یک نام مطابقت دارد
از "foo" در "ریشه انتقال" (برای یک قانون جهانی) یا در
فهرست ادغام فایل (برای یک قانون در هر دایرکتوری). یک "فو" بی صلاحیت این کار را می کند
با نام "foo" در هر جایی از درخت مطابقت دهید زیرا الگوریتم اعمال شده است
به صورت بازگشتی از بالا به پایین؛ طوری رفتار می کند که گویی هر جزء مسیر یک نوبت می گیرد
انتهای نام فایل است. حتی "sub/foo" بدون لنگر هم در هر شرایطی مطابقت دارد
نقطه ای در سلسله مراتب که در آن یک "foo" در فهرستی به نام "sub" یافت شد. دیدن
بخش لنگر انداختن الگوهای شامل/حذف برای بحث کامل در مورد چگونگی
الگویی را مشخص کنید که در ریشه انتقال منطبق باشد.
o اگر الگو با یک / ختم شود، فقط با یک دایرکتوری مطابقت دارد، نه با یک فهرست معمولی
فایل، پیوند نمادین یا دستگاه
o rsync بین انجام یک تطبیق رشته ساده و تطبیق حروف عام با بررسی انتخاب می کند
اگر الگو شامل یکی از این سه کاراکتر عام باشد: '*'، '?'، و '['.
oa '*' با هر جزء مسیر مطابقت دارد، اما در اسلش متوقف می شود.
o برای مطابقت با هر چیزی، از جمله اسلش، از «**» استفاده کنید.
اوا "؟" با هر کاراکتری به جز اسلش (/) مطابقت دارد.
oa '[' یک کلاس کاراکتر، مانند [az] یا [[:alpha:]] را معرفی می کند.
o در یک الگوی وایلد می توان از بک اسلش برای فرار از یک کاراکتر عام استفاده کرد، اما
زمانی که هیچ علامتی وجود نداشته باشد، به معنای واقعی کلمه مطابقت دارد. این بدان معنی است که وجود دارد
سطح اضافی حذف بک اسلش زمانی که یک الگو حاوی کاراکترهای عام است
در مقایسه با الگویی که هیچ کدام ندارد. به عنوان مثال اگر یک علامت عام به "foo\bar" اضافه کنید
(که با بک اسلش مطابقت دارد) برای جلوگیری از "\b" باید از "foo\\bar*" استفاده کنید.
فقط "ب" شدن.
o اگر الگو شامل یک / (بدون احتساب یک دنباله /) یا یک "**" باشد، آنگاه است
مطابق با نام مسیر کامل، از جمله هر دایرکتوری پیشرو. اگر
الگو شامل یک / یا یک "**" نیست، سپس فقط با نهایی مطابقت دارد
جزء نام فایل (به یاد داشته باشید که الگوریتم به صورت بازگشتی اعمال می شود
"نام فایل کامل" در واقع می تواند هر بخشی از یک مسیر از دایرکتوری شروع باشد
در پایین.)
oa انتهایی "dir_name/***" با هر دو فهرست مطابقت دارد (مثل اینکه "dir_name/"
مشخص شده است) و همه چیز در دایرکتوری (مثل اینکه "dir_name/**" بوده است
مشخص شده). این رفتار در نسخه 2.6.7 اضافه شده است.
توجه داشته باشید که هنگام استفاده از - بازگشتی (-r) گزینه (که توسط -a) هر
جزء فرعی هر مسیر از بالا به پایین بازدید میشود، بنابراین الگوهای دریافتی را درج/حذف کنید
به صورت بازگشتی برای نام کامل هر یک از اجزای فرعی اعمال می شود (مثلاً برای گنجاندن "/foo/bar/baz"
اجزای فرعی "/foo" و "/foo/bar" نباید حذف شوند). در واقع الگوها را حذف می کند
هنگامی که rsync فایل هایی را برای ارسال پیدا می کند، مرحله پیمایش دایرکتوری را اتصال کوتاه کنید. اگر یک
الگو یک دایرکتوری والد خاص را مستثنی می کند، می تواند یک الگوی شامل عمیق تر ارائه دهد
بی اثر است زیرا rsync از آن بخش حذف شده سلسله مراتب نزول نکرده است.
این امر به ویژه هنگام استفاده از قانون "*" پس از آن مهم است. به عنوان مثال، این نمی شود
کار:
+ /some/path/this-file-not-bound
+ /file-is-included
- *
این ناموفق است زیرا دایرکتوری والد "some" توسط قانون "*" حذف شده است، بنابراین هرگز rsync نمی شود.
هر یک از فایل های موجود در فهرست های "some" یا "some/path" را مشاهده می کند. یک راه حل این است که بپرسید
برای اینکه همه دایرکتوری ها در سلسله مراتب با استفاده از یک قانون واحد گنجانده شوند: "+ */" (آن را قرار دهید
جایی قبل از قانون "- *")، و شاید از آن استفاده کنید --Pune-Empty-dirs گزینه. یکی دیگر
راه حل این است که برای همه مدیران والدینی که باید از آنها بازدید شود، قوانین شامل خاص اضافه کنید.
به عنوان مثال، این مجموعه قوانین به خوبی کار می کند:
+ /بعضی/
+ /بعضی/مسیر/
+ /some/path/this-file-is-found
+ /file-aso-included
- *
در اینجا چند نمونه از تطبیق حذف/شامل آورده شده است:
o "- *.o" همه نام های مطابق با *.o را حذف می کند
o "- /foo" یک فایل (یا دایرکتوری) به نام foo را در ریشه انتقال حذف می کند
فهرست راهنما
o "- foo/" هر دایرکتوری به نام foo را حذف می کند
o "- /foo/*/bar" هر فایلی با نام نوار را که در دو سطح زیر a قرار دارد حذف می کند
دایرکتوری به نام foo در دایرکتوری transfer-root
o "- /foo/**/bar" هر فایلی با نام نوار دو یا چند سطح زیر a را حذف می کند
دایرکتوری به نام foo در دایرکتوری transfer-root
o ترکیب «+ */»، «+ *.c»، و «- *» شامل همه فهرستها و C میشود
فایل های منبع اما هیچ چیز دیگری (همچنین به --Pune-Empty-dirs گزینه)
o ترکیب "+ foo/"، "+ foo/bar.c"، و "- *" فقط شامل foo می شود.
دایرکتوری و foo/bar.c (دایرکتوری foo باید به صراحت درج شود وگرنه می شود
توسط "*" مستثنی شود)
اصلاح کننده های زیر بعد از "+" یا "-" پذیرفته می شوند:
A / مشخص می کند که قاعده شامل / حذف باید با مطلق مطابقت داشته باشد
نام مسیر مورد فعلی مثلا، "-/ / etc / passwd" را حذف می کند
فایل passwd هر زمانی که انتقال فایل ها را از "/و غیرهدایرکتوری، و
"-/ subdir/foo" همیشه وقتی "foo" را در یک dir به نام "subdir" باشد حذف می کند، حتی
اگر "foo" در ریشه انتقال فعلی باشد.
A ! مشخص می کند که در صورت عدم موفقیت الگو، شامل / حذف باید اعمال شود
همخوانی داشتن. به عنوان مثال، "-! */" همه غیر دایرکتوری ها را حذف می کند.
A C برای نشان دادن اینکه همه قوانین جهانی CVS-exclude باید به عنوان درج شوند استفاده می شود
به جای "-C" حذف می شود. هیچ ارگ نباید دنبال شود.
o An s برای نشان دادن اینکه این قانون برای طرف ارسال کننده اعمال می شود استفاده می شود. وقتی یک قانون
روی طرف ارسال اثر می گذارد، از انتقال فایل ها جلوگیری می کند. پیش فرض است
برای اینکه یک قانون بر هر دو طرف تأثیر بگذارد مگر اینکه --حذف-حذف شد مشخص شد که در آن
قوانین پیش فرض مورد فقط سمت فرستنده می شوند. پنهان کردن (H) و نمایش (S) را نیز ببینید
قوانین، که یک راه جایگزین برای مشخص کردن سمت ارسال شامل/مستثنی است.
o An r برای نشان دادن اینکه این قانون برای طرف گیرنده اعمال می شود استفاده می شود. وقتی یک قانون
روی طرف گیرنده تأثیر می گذارد، از حذف فایل ها جلوگیری می کند. را ببینید s
اصلاح کننده برای اطلاعات بیشتر همچنین قوانین حفاظت (P) و خطر (R) را ببینید که عبارتند از
راه جایگزین برای تعیین سمت گیرنده شامل/استثنا می شود.
A p نشان می دهد که یک قانون فاسد شدنی است، به این معنی که در دایرکتوری ها نادیده گرفته می شود
که در حال حذف شدن هستند به عنوان مثال، -C قوانین پیش فرض گزینه که حذف می کند
مواردی مانند "CVS" و "*.o" بهعنوان فاسد شدنی علامتگذاری شدهاند و مانع از a نمیشوند
دایرکتوری که در منبع حذف شده است و در مقصد حذف نمی شود.
MERGE-FILE FILTER قوانین
شما می توانید کل فایل ها را با تعیین ادغام (.) یا a در قوانین فیلتر خود ادغام کنید
قانون فیلتر dir-merge (:) (همانطور که در بخش FILTER RULES در بالا معرفی شد).
دو نوع فایل ادغام شده وجود دارد -- تک نمونه ای ('.') و هر فهرستی (':'). آ
فایل ادغام تک نمونه یک بار خوانده می شود و قوانین آن در فایل گنجانده می شود
لیست فیلتر در محل "." قانون. برای فایلهای ادغام هر فهرست، rsync اسکن میشود
هر دایرکتوری را که برای فایل نامگذاری شده طی می کند، در هنگام فایل محتویات آن را ادغام می کند
در لیست فعلی قوانین ارثی وجود دارد. این فایل های قانون هر دایرکتوری باید باشد
در سمت فرستنده ایجاد شده است زیرا این سمت فرستنده است که برای آن اسکن می شود
فایل های موجود برای انتقال همچنین ممکن است لازم باشد این فایل های قانون به این فایل منتقل شوند
اگر میخواهید روی فایلهایی که حذف نمیشوند تأثیر بگذارد، طرف دریافت کننده (به PER-DIRECTORY مراجعه کنید)
قوانین و حذف در زیر).
بعضی مثالها:
ادغام /etc/rsync/default.rules
. /etc/rsync/default.rules
dir-merge .per-dir-filter
dir-merge,n- .non-herited-per-dir-excludes
:n- .non-herited-per-dir-excludes
اصلاح کننده های زیر پس از یک قانون ادغام یا dir-merge پذیرفته می شوند:
A - مشخص میکند که فایل باید فقط شامل الگوهای حذف شده باشد، بدون موارد دیگر
تجزیه قوانین به جز نظرات درون فایل.
A + مشخص می کند که فایل باید فقط شامل الگوها باشد، بدون هیچ چیز دیگری
تجزیه قوانین به جز نظرات درون فایل.
A C راهی برای مشخص کردن این است که فایل باید به روشی سازگار با CVS خوانده شود.
این «n»، «w» و «-» را روشن میکند، اما همچنین به توکن پاککننده فهرست (!) اجازه میدهد
مشخص شده. اگر نام فایل ارائه نشده باشد، ".cvsignore" در نظر گرفته می شود.
A e نام فایل ادغام را از انتقال حذف خواهد کرد. به عنوان مثال "dir-merge,e .rules"
مانند "dir-merge .rules" و "- .rules" است.
o An n مشخص می کند که قوانین توسط زیر شاخه ها به ارث نمی رسند.
A w مشخص میکند که قوانین به جای حالت عادی، در فضای خالی کلمه تقسیم میشوند
تقسیم خط این نیز نظرات را خاموش می کند. توجه: فضایی که آن را از هم جدا می کند
پیشوند از قانون به طور ویژه در نظر گرفته می شود، بنابراین "- foo + bar" به عنوان دو قانون تجزیه می شود
(با فرض اینکه تجزیه پیشوند نیز غیرفعال نشده باشد).
o همچنین می توانید هر یک از اصلاح کننده ها را برای قوانین "+" یا "-" (بالا) به ترتیب مشخص کنید.
برای داشتن قوانینی که از فایل پیش فرض خوانده می شوند تا آن اصلاح کننده را داشته باشید
مجموعه (به جز ! اصلاح کننده، که مفید نخواهد بود). برای مثال،
"merge,-/.excl" محتویات .excl را به عنوان مسیر مطلق خارج می کند، در حالی که
"dir-merge,s .filt" و ":sC" هر کدام همه قوانین هر دایرکتوری خود را اعمال می کنند.
فقط در سمت ارسال اگر قانون ادغام، طرفهایی را برای تأثیرگذاری (از طریق s
or r اصلاح کننده یا هر دو)، پس قوانین موجود در فایل نباید طرفین را مشخص کند (از طریق a
اصلاح کننده یا پیشوند قانون مانند پنهان کردن).
قوانین هر دایرکتوری در همه زیرشاخه های دایرکتوری که در آن ها به ارث می رسد
merge-file پیدا شد مگر اینکه از اصلاح کننده 'n' استفاده شود. قوانین هر زیر شاخه هستند
پیشوند به قوانین به ارث رسیده در هر دایرکتوری از والدین خود، که جدیدترین را ارائه می دهد
قوانین اولویت بالاتری نسبت به قوانین ارثی دارند. کل مجموعه قوانین dir-merge هستند
در محلی که فایل ادغام مشخص شده است با هم گروه بندی شده اند، بنابراین امکان دارد
قوانین dir-merge را از طریق قاعده ای که قبلاً در لیست جهانی مشخص شده است، لغو کنید
قوانین زمانی که قانون پاک کردن لیست ("!") از یک فایل هر دایرکتوری خوانده می شود، فقط آن را می خواند
قوانین ارثی را برای فایل ادغام فعلی پاک می کند.
راه دیگر برای جلوگیری از به ارث بردن یک قانون واحد از یک فایل dir-merge این است که
آن را با یک اسلش پیشرو لنگر بزنید. قوانین لنگر در یک فایل ادغام هر دایرکتوری نسبی هستند
به دایرکتوری ادغام فایل، بنابراین یک الگوی "/foo" فقط با فایل "foo" در
دایرکتوری که فایل فیلتر dir-merge در آن یافت شد.
در اینجا یک فایل فیلتر نمونه است که شما می خواهید از طریق آن مشخص کنید --filter=". فایل":
ادغام /home/user/.global-filter
- *.gz
dir-merge .قوانین
+ *.[ch]
- *.o
با این کار محتویات فایل /home/user/.global-filter در ابتدای فایل ادغام می شود.
لیست و همچنین نام فایل ".rules" را به یک فایل فیلتر هر دایرکتوری تبدیل می کند. همه قوانین
قبل از شروع اسکن دایرکتوری بخوانید از قوانین لنگر جهانی پیروی کنید (یعنی الف
مسابقات اسلش پیشرو در ریشه انتقال).
اگر یک فایل ادغام در هر دایرکتوری با مسیری مشخص شود که دایرکتوری والد آن است
اولین دایرکتوری انتقال، rsync همه dirrs های والد را از آن نقطه شروع به اسکن می کند
دایرکتوری انتقال برای فایل مشخص شده در هر دایرکتوری. به عنوان مثال، در اینجا یک است
فیلتر رایج (نگاه کنید به -F):
--filter=': /.rsync-filter'
این قانون به rsync میگوید که فایل rsync-filter را در همه فهرستها از ریشه اسکن کند.
از طریق دایرکتوری مادر انتقال قبل از شروع عادی
اسکن دایرکتوری فایل در دایرکتوری هایی که به عنوان بخشی از انتقال ارسال می شوند.
(توجه: برای دیمون rsync، ریشه همیشه همان "مسیر" ماژول است.)
چند نمونه از این پیش اسکن برای فایل های هر دایرکتوری:
rsync -avF /src/path/ /dest/dir
rsync -av --filter=': ../../.rsync-filter' /src/path/ /dest/dir
rsync -av --filter=': rsync-filter' /src/path/ /dest/dir
دو دستور اول بالا به دنبال ".rsync-filter" در "/" و "/src" قبل از
اسکن عادی شروع به جستجوی فایل در "/src/path" و زیرشاخه های آن می کند. آخرین
دستور از اسکن parent-dir اجتناب می کند و فقط به دنبال فایل های ".rsync-filter" در هر یک می گردد.
دایرکتوری که بخشی از انتقال است.
اگر می خواهید محتوای یک ".cvsignore" را در الگوهای خود بگنجانید، باید از آن استفاده کنید
قانون ":C"، که یک dir-merge از فایل .cvsignore ایجاد می کند، اما در یک تجزیه و تحلیل می شود.
روشی سازگار با CVS. شما می توانید از این برای تأثیرگذاری بر جایی استفاده کنید --cvs-exclude (-C) گزینه ها
گنجاندن فایل cvsignore. در هر دایرکتوری در قوانین شما با قرار دادن
":C" در قوانین فیلتر هر کجا که دوست دارید. بدون این، rsync dir-merge را اضافه می کند
قانون برای فایل .cvsignore در پایان سایر قوانین شما (با دادن مقدار کمتر
اولویت نسبت به قوانین خط فرمان شما). مثلا:
گربه <
+ foo.o
:C
- *.قدیمی
EOT
rsync -avC --include=foo.o -f :C --exclude='*.old' a/b
هر دو دستور rsync فوق یکسان هستند. هر یک از هر دایرکتوری همه را ادغام می کند
.cvsignore قوانین در وسط لیست به جای در پایان. این اجازه می دهد تا آنها
قوانین خاص dir برای جایگزینی قوانینی که از :C پیروی می کنند به جای اینکه تابع باشند
به تمام قوانین شما برای تأثیر گذاشتن بر سایر قوانین حذف CVS (یعنی لیست پیش فرض
موارد استثنا، محتویات $HOME/.cvsignore، و مقدار $CVSIGNORE) را باید حذف کنید
la -C گزینه خط فرمان و به جای آن یک قانون "-C" را در قوانین فیلتر خود وارد کنید. به عنوان مثال
"--filter=-C".
فهرست پاک کردن FILTER قانون
با استفاده از "!" قانون فیلتر (همانطور که معرفی شد
در بخش FILTER RULES در بالا). فهرست «جاری» یا فهرست جهانی قوانین است
(اگر هنگام تجزیه گزینه های فیلتر با قانون مواجه شد) یا مجموعه ای از هر دایرکتوری
قوانین (که در فهرست فرعی خود به ارث رسیده اند، بنابراین یک زیر شاخه می تواند از آن برای پاک کردن استفاده کند
قوانین والدین).
لنگر انداختن شامل / حذف پدر و مادرها
همانطور که قبلا ذکر شد، الگوهای شامل/حذف سراسری در "ریشه" لنگر انداخته اند
انتقال" (برخلاف الگوهای هر دایرکتوری، که در فایل ادغام لنگر انداخته اند
فهرست راهنما). اگر انتقال را به عنوان زیردرختی از نام هایی که از آن ارسال می شوند، در نظر بگیرید
فرستنده به گیرنده، ریشه انتقال جایی است که درخت شروع به تکثیر در آن می کند
فهرست مقصد این ریشه تعیین می کند که کجا الگوهایی که با یک / شروع می شوند، مطابقت دارند.
از آنجا که تطبیق نسبت به ریشه انتقال است، تغییر اسلش انتهایی روی a
مسیر منبع یا تغییر استفاده شما از --نسبت فامیلی گزینه روی مسیری که باید استفاده کنید تأثیر می گذارد
در تطبیق شما (علاوه بر تغییر اینکه چه مقدار از درخت فایل در آن کپی شده است
میزبان مقصد). مثال های زیر این را نشان می دهد.
بیایید بگوییم که میخواهیم دو فایل منبع را مطابقت دهیم، یکی با مسیر مطلق
"/home/me/foo/bar" و یکی با مسیر "/home/you/bar/baz". در اینجا چگونگی مختلف است
انتخاب های دستور برای انتقال 2 منبع متفاوت است:
مثال cmd: rsync -a /home/me /home/you /dest
الگوی +/-: /me/foo/bar
الگوی +/-: /you/bar/baz
فایل هدف: /dest/me/foo/bar
فایل هدف: /dest/you/bar/baz
مثال cmd: rsync -a /home/me/ /home/you/ /dest
الگوی +/-: /foo/bar (یادداشت "من" را ندارد)
الگوی +/-: /bar/baz (یادداشت "شما" را ندارد)
فایل هدف: /dest/foo/bar
فایل هدف: /dest/bar/baz
مثال cmd: rsync -a --relative /home/me/ /home/you /dest
الگوی +/-: /home/me/foo/bar (مسیر کامل را یادداشت کنید)
الگوی +/-: /home/you/bar/baz (همچنین)
فایل هدف: /dest/home/me/foo/bar
فایل هدف: /dest/home/you/bar/baz
مثال cmd: cd / صفحه اصلی; rsync -a --نسبی من/فو تو//dest
الگوی +/-: /me/foo/bar (از مسیر مشخص شده شروع می شود)
+/- الگو: /you/bar/baz (همچنین)
فایل هدف: /dest/me/foo/bar
فایل هدف: /dest/you/bar/baz
ساده ترین راه برای دیدن نامی که باید فیلتر کنید این است که فقط به خروجی زمان نگاه کنید
با استفاده از -- پرحرف و جلوی نام یک / قرار دهید (از -- خشک اجرا شود گزینه اگر نیستید
اما آماده کپی کردن هر فایلی است).
در هر دایرکتوری قوانین و حذف
بدون گزینه حذف، قوانین هر دایرکتوری فقط مربوط به سمت ارسال است، بنابراین شما
می توانید با خیال راحت خود فایل های ادغام را بدون تأثیر بر انتقال حذف کنید. به
این را آسان کنید، اصلاح کننده 'e' این استثنا را برای شما اضافه می کند، همانطور که در این دو مشاهده می شود
دستورات معادل:
rsync -av --filter=': .excl' --exclude=.excl host:src/dir /dest
rsync -av --filter=':e .excl' host:src/dir /dest
با این حال، اگر می خواهید یک حذف در سمت دریافت کننده انجام دهید و می خواهید برخی از فایل ها حذف شوند
اگر حذف نشود، باید مطمئن شوید که طرف دریافت کننده چه چیزی را می داند
فایل هایی برای حذف ساده ترین راه این است که فایل های ادغام هر دایرکتوری را در آن قرار دهید
انتقال و استفاده --حذف-بعد، زیرا این تضمین می کند که طرف گیرنده همه موارد را دریافت می کند
همان قوانین حذف شده توسط طرف فرستنده قبل از اینکه بخواهد چیزی را حذف کند:
rsync -avF --delete-after host:src/dir /dest
با این حال، اگر فایل های ادغام بخشی از انتقال نیستند، باید یکی را مشخص کنید
برخی از قوانین حذف جهانی (به عنوان مثال در خط فرمان مشخص شده است)، یا باید آن را حفظ کنید
فایل های هر دایرکتوری خود را در سمت دریافت کننده ادغام کنید. نمونه اولی این است
(فرض کنید که فایل های .rules از راه دور خود را حذف می کنند):
rsync -av --filter=': .rules' --filter='. /my/extra.rules'
--حذف میزبان:src/dir /dest
در مثال بالا، فایل extra.rules می تواند هر دو طرف انتقال را تحت تاثیر قرار دهد، اما (روشن
طرف ارسال کننده) قوانین تابع قوانین ادغام شده از فایل های .rules هستند
زیرا آنها پس از قانون ادغام در هر دایرکتوری مشخص شده اند.
در یک مثال آخر، سمت راه دور فایلهای rsync-filter را از فایل حذف میکند
انتقال، اما ما میخواهیم از فایلهای .rsync-filter خودمان برای کنترل مواردی که روی آنها حذف میشوند، استفاده کنیم
سمت دریافت کننده برای انجام این کار، ما باید به طور خاص فایل های ادغام هر دایرکتوری را حذف کنیم
(برای اینکه حذف نشوند) و سپس قوانینی را در فایل های محلی قرار دهید تا چه چیزی را کنترل کنید
دیگری نباید حذف شود مانند یکی از این دستورات:
rsync -av --filter=':e /.rsync-filter' --delete \
host:src/dir /dest
rsync -avFF -- حذف میزبان:src/dir /dest
دسته MODE
از حالت دسته ای می توان برای اعمال مجموعه ای از به روز رسانی ها در بسیاری از سیستم های یکسان استفاده کرد. فرض کنید
یکی دارای درختی است که روی تعدادی میزبان تکرار می شود. حالا فرض کنید تغییراتی ایجاد شده است
در این درخت منبع ایجاد شده است و آن تغییرات باید به میزبان های دیگر منتشر شود.
برای انجام این کار با استفاده از حالت دسته ای، rsync با گزینه نوشتن دسته ای اجرا می شود تا اعمال شود
تغییرات ایجاد شده در درخت مبدا به یکی از درختان مقصد. دسته نوشتن
این گزینه باعث می شود که مشتری rsync تمام اطلاعات مورد نیاز را در یک "فایل دسته ای" ذخیره کند
این عملیات را در مقابل درختان مقصد مشابه دیگر تکرار کنید.
ایجاد یک بار فایل دسته ای باعث صرفه جویی در انجام وضعیت فایل، جمع کنترل و داده می شود
هنگام بهروزرسانی چندین درخت مقصد، بیش از یک بار تولید بلوک میشود. چندپخشی
پروتکل های حمل و نقل را می توان برای انتقال فایل های به روز رسانی دسته ای به صورت موازی به بسیاری از آنها استفاده کرد
هاست ها به طور همزمان، به جای ارسال داده های یکسان به هر میزبان به صورت جداگانه.
برای اعمال تغییرات ثبت شده در درخت مقصد دیگری، rsync را با دسته خواندنی اجرا کنید
گزینه ای که نام همان فایل دسته ای و درخت مقصد را مشخص می کند. Rsync
درخت مقصد را با استفاده از اطلاعات ذخیره شده در فایل دسته ای به روز می کند.
برای راحتی شما، زمانی که از گزینه write-batch استفاده می شود، یک فایل اسکریپت نیز ایجاد می شود:
نام آن مانند فایل دسته ای با ".sh" ضمیمه شده خواهد بود. این فایل اسکریپت
شامل یک خط فرمان مناسب برای به روز رسانی درخت مقصد با استفاده از مرتبط است
فایل دسته ای می توان آن را با استفاده از یک پوسته Bourne (یا Bourne-مانند) اجرا کرد که به صورت اختیاری عبور می کند
در یک نام مسیر درخت مقصد جایگزین که سپس به جای اصلی استفاده می شود
مسیر مقصد این زمانی مفید است که مسیر درخت مقصد در میزبان فعلی باشد
با مورد استفاده شده برای ایجاد فایل دسته ای متفاوت است.
مثال:
$ rsync --write-batch=foo -a host:/source/dir/ /adest/dir/
$ scp foo* ریموت:
$ ssh remote ./foo.sh /bdest/dir/
$ rsync --write-batch=foo -a /source/dir/ /adest/dir/
$ ssh remote rsync --read-batch=- -a /bdest/dir/
در این مثالها، rsync برای بهروزرسانی /adest/dir/ از /source/dir/ و بهروزرسانی استفاده میشود
اطلاعات برای تکرار این عملیات در "foo" و "foo.sh" ذخیره می شود. میزبان "راه دور"
سپس با داده های دسته بندی شده به دایرکتوری /bdest/dir به روز می شود. در
تفاوتهای بین این دو مثال، برخی از انعطافپذیریهای شما را در نحوه عملکردتان نشان میدهد
برخورد با دسته ها:
o مثال اول نشان می دهد که کپی اولیه لازم نیست محلی باشد -- شما می توانید
داده ها را با استفاده از سینتکس پوسته راه دور یا از یک میزبان راه دور فشار دهید یا بکشید
rsync نحو دیمون، به دلخواه.
o مثال اول از فایل "foo.sh" ایجاد شده برای دریافت گزینه های rsync مناسب استفاده می کند
هنگام اجرای دستور read-batch روی میزبان راه دور.
o مثال دوم داده های دسته ای را از طریق ورودی استاندارد می خواند تا فایل دسته ای
لازم نیست ابتدا در دستگاه از راه دور کپی شود. این مثال از
اسکریپت foo.sh زیرا نیاز به استفاده از یک تغییر یافته داشت ---بخوان گزینه، اما شما
اگر میخواهید از آن استفاده کنید، میتوانید فایل اسکریپت را ویرایش کنید (فقط مطمئن باشید که خیر
گزینه دیگر سعی در استفاده از ورودی استاندارد دارد، مانند "--exclude-from=-"
گزینه).
هشدارها:
گزینه read-batch انتظار دارد درخت مقصدی که در حال به روز رسانی است با آن یکسان باشد
درخت مقصد که برای ایجاد مجموعه فایل های به روز رسانی دسته ای استفاده شد. زمانی که یک تفاوت
بین درختان مقصد مواجه می شود، به روز رسانی ممکن است با یک هشدار حذف شود
(اگر به نظر می رسد فایل قبلاً به روز است) یا ممکن است تلاش برای به روز رسانی فایل انجام شود و
سپس، اگر فایل تأیید نشد، بهروزرسانی با خطا حذف میشود. این بدان معنی است که آن
در صورت قطع فرمان، اجرای مجدد عملیات دستهای خواندنی باید ایمن باشد. اگر شما
میخواهید بدون در نظر گرفتن اندازه و اندازه فایل، بهروزرسانی دستهای همیشه انجام شود
تاریخ، استفاده کنید -I گزینه (هنگام خواندن دسته). اگر خطایی رخ دهد، مقصد
درخت احتمالاً در وضعیت تا حدی به روز خواهد بود. در این صورت می توان از rsync در آن استفاده کرد
حالت عادی (غیر دسته ای) عملکرد برای تعمیر درخت مقصد.
نسخه rsync مورد استفاده در همه مقصدها باید حداقل به اندازه نسخه قبلی جدید باشد
فایل دسته ای را تولید کنید اگر نسخه پروتکل موجود باشد، Rsync با یک خطا از بین می رود
فایل دستهای برای مدیریت همگامسازی دستهای بسیار جدید است. را نیز ببینید --پروتکل
گزینه ای برای راهی برای ایجاد rsync یک فایل دسته ای که یک rsync قدیمی می تواند ایجاد کند
فهمیدن. (توجه داشته باشید که فرمت فایل های دسته ای در نسخه 2.6.3 تغییر کرده است، بنابراین نسخه ها را مخلوط کنید
قدیمی تر از آن با نسخه های جدیدتر کار نمی کند.)
هنگام خواندن یک فایل دستهای، rsync مقدار برخی گزینهها را مجبور میکند تا با دادهها مطابقت داشته باشد
در فایل دستهای اگر آنها را با دستور دستهنویسی یکسان تنظیم نکرده باشید. دیگر
گزینه ها را می توان (و باید) تغییر داد. برای مثال --نوشتن دسته ای تغییرات ---بخوان,
--فایلها-از رها شده است، و -- فیلتر/--عبارتند از/-- استثناء کردن گزینه ها مورد نیاز نیست
مگر اینکه یکی از --حذف گزینه ها مشخص شده است.
کدی که فایل BATCH.sh را ایجاد می کند، هر گزینه filter/include/exclude را به آن تبدیل می کند
یک لیست واحد که به عنوان سند "اینجا" به فایل اسکریپت پوسته اضافه می شود. یک پیشرفته
کاربر می تواند از این برای اصلاح لیست حذف در صورتی که تغییری در موارد حذف شده استفاده کند --حذف
مورد نظر است. یک کاربر عادی می تواند این جزئیات را نادیده بگیرد و فقط از اسکریپت پوسته به عنوان یک آسان استفاده کند
راه برای اجرای مناسب ---بخوان دستور برای داده های دسته بندی شده
حالت دسته ای اصلی در rsync بر اساس "rsync+" بود، اما آخرین نسخه از یک جدید استفاده می کند
پیاده سازی.
نمادین لینک ها
هنگامی که rsync با یک پیوند نمادین در منبع روبرو می شود، سه رفتار اساسی ممکن است
دایرکتوری.
به طور پیش فرض، پیوندهای نمادین به هیچ وجه منتقل نمی شوند. پیام "پرش غیر عادی"
فایل برای هر پیوند نمادین موجود منتشر می شود.
If -- پیوندها مشخص میشود، سپس پیوندهای نمادین با همان هدف روی آن ایجاد میشوند
مقصد توجه داشته باشید که --بایگانی دلالت دارد -- پیوندها.
If --کپی-پیوندها مشخص میشود، سپس پیوندهای نمادین با کپی کردن مرجع خود، "جمع" میشوند،
به جای پیوند نمادین
Rsync همچنین می تواند پیوندهای نمادین "ایمن" و "ناامن" را تشخیص دهد. یک مثال که در آن این
ممکن است استفاده شود آینه وب سایت است که مایل به اطمینان از اینکه ماژول rsync است
کپی شده شامل پیوندهای نمادین به نیست / etc / passwd در بخش عمومی سایت
با استفاده از --کپی-ناامن-لینک ها باعث می شود هر پیوندی به عنوان فایلی که به آن اشاره می کند کپی شود
مقصد. استفاده كردن ---پیوندهای امن باعث می شود که پیوندهای ناامن به طور کلی حذف شوند.
(توجه داشته باشید که باید مشخص کنید -- پیوندها برای ---پیوندهای امن هر اثری داشته باشد.)
پیوندهای نمادین در صورتی ناامن در نظر گرفته می شوند که پیوندهای نمادین مطلق باشند (شروع با /)، خالی،
یا اگر حاوی اجزای ".." کافی برای صعود از دایرکتوری در حال کپی باشد.
در اینجا خلاصه ای از نحوه تفسیر گزینه های symlink آورده شده است. لیست به ترتیب است
اولویت، بنابراین اگر ترکیب گزینه های شما ذکر نشده است، از خط اول استفاده کنید
زیر مجموعه کاملی از گزینه های شما:
--کپی-پیوندها
همه پیوندهای نمادین را به فایل های معمولی تبدیل کنید (بدون اینکه هیچ پیوند نمادی برای سایر گزینه ها باقی نماند
تاثیر می گذارد).
-- پیوندها --کپی-ناامن-لینک ها
همه پیوندهای نمادین ناامن را به فایل تبدیل کنید و همه پیوندهای نمادین امن را کپی کنید.
--کپی-ناامن-لینک ها
همه پیوندهای نمادین ناامن را به فایل تبدیل کنید، همه پیوندهای نمادین امن را به طور پر سر و صدا رد کنید.
-- پیوندها ---پیوندهای امن
پیوندهای نمادین ایمن را کپی کنید و از پیوندهای ناامن صرفنظر کنید.
-- پیوندها
همه پیوندهای نمادین را کپی کنید.
عیب یابی
rsync گاهی اوقات پیام های خطایی تولید می کند که ممکن است کمی مرموز به نظر برسد. اونی که
به نظر می رسد که بیشترین سردرگمی را ایجاد می کند "عدم تطابق نسخه پروتکل -- آیا پوسته شما تمیز است؟".
این پیام معمولاً توسط اسکریپتهای راهاندازی یا تولید تسهیلات پوسته راه دور ایجاد میشود
زباله های ناخواسته در جریانی که rsync از آن برای حمل و نقل استفاده می کند. راه تشخیص
این مشکل این است که پوسته راه دور خود را به این صورت اجرا کنید:
میزبان راه دور ssh /bin/true > out.dat
سپس به out.dat نگاه کنید. اگر همه چیز درست کار می کند، out.dat باید صفر باشد
طول فایل اگر خطای بالا را از rsync دریافت می کنید، احتمالاً آن را پیدا خواهید کرد
که out.dat حاوی متن یا داده ای است. به محتویات نگاه کنید و سعی کنید بفهمید که چیست
تولید آن شایع ترین علت پیکربندی نادرست اسکریپت های راه اندازی پوسته است (مانند
به عنوان .cshrc یا .profile) که حاوی عبارات خروجی برای ورود به سیستم غیر تعاملی است.
اگر در اشکال زدایی الگوهای فیلتر مشکل دارید، سعی کنید آن را مشخص کنید -vv گزینه.
در این سطح از پرحرفی، rsync نشان می دهد که چرا هر فایل جداگانه گنجانده شده است یا
حذف شده
خروج ارزش
0 موفقیت
1 خطای نحوی یا استفاده
2 ناسازگاری پروتکل
3 خطا در انتخاب فایل های ورودی/خروجی، dir
4 اقدام درخواستی پشتیبانی نمیشود: تلاشی برای دستکاری فایلهای 64 بیتی روی a انجام شد
پلتفرمی که نمی تواند آنها را پشتیبانی کند. یا گزینه ای مشخص شد که توسط
مشتری و نه توسط سرور.
5 خطا در راه اندازی پروتکل سرویس گیرنده-سرور
6 Daemon نمی تواند به log-file اضافه شود
10 خطا در سوکت I/O
11 خطا در ورودی/خروجی فایل
12 خطا در جریان داده پروتکل rsync
13 خطاهای عیب یابی برنامه
14 خطا در کد IPC
20 SIGUSR1 یا SIGINT را دریافت کرد
21 برخی از خطاها توسط waitpid() برگردانده شد
22 خطا در تخصیص بافرهای حافظه اصلی
23 انتقال جزئی به دلیل خطا
24 انتقال جزئی به دلیل ناپدید شدن فایل های منبع
25 محدودیت --max-delete حذف را متوقف کرد
30 مهلت زمانی در ارسال/دریافت داده ها
35 وقفه در انتظار اتصال دیمون است
محیط زیست متغیرها
CVSIGNORE
متغیر محیطی CVSIGNORE هر گونه الگوی نادیده گرفتن را در cvsignore. تکمیل می کند
فایل ها. را ببینید --cvs-exclude گزینه برای جزئیات بیشتر
RSYNC_ICONV
یک پیش فرض را مشخص کنید --iconv تنظیم با استفاده از این متغیر محیطی. (اول پشتیبانی شد
در 3.0.0.)
RSYNC_PROTECT_ARGS
اگر می خواهید مقدار عددی غیر صفر را مشخص کنید --protect-args گزینه بودن
به طور پیشفرض فعال یا یک مقدار صفر برای اطمینان از غیرفعال بودن آن به طور پیشفرض.
(برای اولین بار در 3.1.0 پشتیبانی شد.)
RSYNC_RSH
متغیر محیطی RSYNC_RSH به شما این امکان را می دهد که پوسته پیش فرض استفاده شده به عنوان را لغو کنید
حمل و نقل برای rsync. گزینه های خط فرمان پس از دستور مجاز هستند
نام، درست همانطور که در -e گزینه.
RSYNC_PROXY
متغیر محیطی RSYNC_PROXY به شما امکان می دهد کلاینت rsync خود را به آن هدایت کنید
هنگام اتصال به دیمون rsync از پروکسی وب استفاده کنید. شما باید RSYNC_PROXY را روی a تنظیم کنید
نام میزبان: جفت پورت.
RSYNC_PASSWORD
تنظیم RSYNC_PASSWORD روی رمز عبور لازم به شما امکان می دهد تا احراز هویت را اجرا کنید
اتصالات rsync به دیمون rsync بدون دخالت کاربر. توجه داشته باشید که این کار را انجام می دهد
برای انتقال پوسته راه دور مانند ssh رمز عبور ارائه نکنید. برای یادگیری نحوه انجام
که، به اسناد پوسته راه دور مراجعه کنید.
USER or LOGNAME
از متغیرهای محیط USER یا LOGNAME برای تعیین پیش فرض استفاده می شود
نام کاربری به یک دیمون rsync ارسال شد. اگر هیچ کدام تنظیم نشده باشد، نام کاربری به طور پیش فرض روی است
"هيچ كس".
صفحه اصلی متغیر محیطی HOME برای یافتن فایل cvsignore. پیش فرض کاربر استفاده می شود.
از rsync آنلاین با استفاده از خدمات onworks.net استفاده کنید