xrdcopy(1) General Commands Manual xrdcopy(1)

xrdcp - کپی کردن فایل‌ها

xrdcp [options] source destination
options: [--cksum args] [--debug lvl]
[--coerce] [--force] [--help] [--license]
[--nopbar] [--posc] [--proxy ipaddr:port]
[--recursive] [--retry time] [--server]
[--silent] [--sources num] [--streams num]
[--tpc [delegate] first|only] [--verbose]
[--version] [--xrate rate] [--zip file]
[--dynamic-src] [--infiles fn]
[--parallel n] [--xattr]
[--notlsok] [--tlsnodata] [--tlsmetalink]
[--zip-mtln-cksum] [--rm-bad-cksum] [--continue]
[--xrate-threshold] [--retry-policy]
legacy options: [-adler] [-DSparm string] [-DIparm number]
[-md5] [-np] [-ODcgi] [-OScgi] [-x]

ابزار xrdcp یک یا چند فایل را از یک مکان به مکانی دیگر کپی می‌کند. مبدأ و مقصد داده می‌تواند یک فایل یا دایرکتوری محلی یا دوردست باشد. علاوه بر این، مبدأ داده ممکن است روی چندین سرور نیز قرار داشته باشد.

-C | --cksum type[:value|print|source]

چک‌سام از نوع type (یعنی adler32،‏ crc32،‏ md5 یا zcrc32) را از مبدأ دریافت می‌کند، چک‌سام را در مقصد محاسبه کرده و یکسان بودن آن‌ها را اعتبارسنجی می‌کند. اگر auto به عنوان نوع چک‌سام انتخاب شود، xrdcp تلاش خواهد کرد بر اساس پیکربندی مبدأ/مقصد، نوع فایل مبدأ (metalink،‏ ZIP) و افزایه‌های چک‌سام موجود، نوع مناسب چک‌سام را به‌طور خودکار تشخیص دهد. اگر یک value مشخص شده باشد، به عنوان چک‌سام مبدأ استفاده می‌شود. در صورتی که print مشخص شده باشد، چک‌سام در مقصد چاپ می‌شود اما اعتبارسنجی نمی‌شود.
-d | --debug lvl
سطح اشکال‌زدایی: 1 (کم)، 2 (متوسط)، 3 (زیاد)
-F | --coerce
معناشناسی قفل‌گذاری روی فایل مقصد را نادیده می‌گیرد. این گزینه در صورت عدم استفاده صحیح ممکن است منجر به آسیب دیدن فایل شود.
-f | --force
در صورتی که فایل از قبل وجود داشته باشد، آن را دوباره ایجاد می‌کند.
-h | --help
اطلاعات نحوه استفاده را نمایش می‌دهد.
-H | --license
شرایط و ضوابط پروانه را نمایش می‌دهد.
-N | --nopbar
نوار پیشرفت را نمایش نمی‌دهد.
-P | --posc
برای ایجاد یک فایل جدید، پردازش POSC (ماندگاری پس از بستن موفق یا persist-on-successful-close) را درخواست می‌کند. فایل‌ها در صورتی که با موفقیت بسته نشوند، به‌طور خودکار حذف می‌شوند.
-D | --proxy proxyaddr:proxyport
[هنوز پیاده‌سازی نشده است]

از proxyaddr:proxyport به عنوان پروکسی SOCKS4 استفاده می‌کند. تنها نشانی‌های عددی پشتیبانی می‌شوند.

-r | --recursive
تمام فایل‌ها را به صورت بازگشتی با شروع از دایرکتوری مبدأ داده‌شده کپی می‌کند.
--retry
تلاش مجدد برای کارهای کپیِ شکست‌خورده.
--server
طوری اجرا می‌شود که گویی در یک محیط سرور است. تنها برای پشتیبانی سمت سرور از رونوشت شخص ثالث (third-party copy) استفاده می‌شود.
-s | --silent
نه اطلاعات خلاصه‌ای تولید می‌کند و نه نوار پیشرفت را نمایش می‌دهد.
-y | --sources num
برای کپی کردن فایل از حداکثر num مبدأ استفاده می‌کند.
-S | --streams num
از num جریان موازی داده برای انجام انتقال استفاده می‌کند (در این حالت جریان اصلی برای انجام انتقال استفاده نمی‌شود). حداکثر مقدار 15 است. مقدار پیش‌فرض 0 است (یعنی فقط از جریان کنترلی استفاده شود).
--tpc [delegate] first|only
فایل را با استفاده از پروتکل رونوشت شخص ثالث (third-party-copy) از سرور دوردست به سرور دوردست دیگر کپی می‌کند (یعنی داده از سرور به سرور جریان می‌یابد). سرورهای مبدأ و مقصد باید از رونوشت‌های شخص ثالث پشتیبانی کنند. ممکن است محدودیت‌های امنیتی بیشتری اعمال شود و در صورت برآورده نشدن آن‌ها باعث شکست کپی شود. آرگومان 'first' پروتکل tpc را امتحان می‌کند و در صورت شکست، یک کپی معمولی انجام می‌دهد؛ در حالی که 'only' در صورت موفق نشدن tpc، عملیات کپی را متوقف و ناموفق اعلام می‌کند. هنگامی که 'delegate' مشخص شود، عملیات کپی، اعتبارنامه‌های صادرکننده دستور را به سرور مقصد واگذار می‌کند و سرور مقصد از آن اعتبارنامه‌ها برای احراز هویت با سرور مبدأ استفاده می‌کند. اگر سرور مقصد برای استفاده از اعتبارنامه‌های تفویض‌شده پیکربندی نشده باشد، تفویض نادیده گرفته می‌شود. در حال حاضر، فقط اعتبارنامه‌های gsi قابل تفویض هستند.
-v | --verbose
خروجی خلاصه را نمایش می‌دهد.
-V | -version
اطلاعات نسخه را نمایش داده و بلافاصله خارج می‌شود.
-z | --zip file
فایل داده‌شده را از یک بایگانی ZIP کپی می‌کند (مشابه اطلاعات مات xrdcl.unzip).
-X | --xrate rate
سرعت کپی را به rate مشخص‌شده محدود می‌کند. این نرخ می‌تواند با حروف k،‏ m یا g مشخص شود تا به ترتیب نشان‌دهنده کیلو، مگا یا گیگابایت باشد. این گزینه فقط زمانی اعمال می‌شود که مبدأ یا مقصد محلی باشد.
-X | --xrate-threshold rate
اگر نرخ انتقال به زیر آستانه مشخص‌شده افت کند، کلاینت را وادار می‌کند تا از مبدأ دیگری استفاده کند، یا در صورتی که مبدأ دیگری در دسترس نباشد، انتقال را با شکست مواجه کند.
-Z | --dynamic-src
اندازه فایل ممکن است در حین کپی تغییر کند.
-I | --infiles fn
فایلی را مشخص می‌کند که شامل فهرستی از فایل‌های ورودی است.
--parallel n
تعداد کارهای کپی که به‌طور هم‌زمان اجرا می‌شوند.
--xattr
ویژگی‌های توسعه‌یافته (extended attributes) را حفظ می‌کند.
--notlsok
اگر سرور برای پشتیبانی از رمزگذاری TLS بیش از حد قدیمی باشد، به ارتباط رمزگذاری‌نشده بازمی‌گردد.
--tlsnodata
در صورت استفاده از پروتکل roots/xroots، تنها جریان کنترلی را رمزگذاری می‌کند و جریان‌های داده را رمزگذاری‌نشده باقی می‌گذارد.
--tlsmetalink
با همه URLها در metalink مانند roots/xroots رفتار می‌کند.
--zip-mtln-cksum
حتی اگر فایلی از یک بایگانی ZIP استخراج شود، از چک‌سام موجود در فایل metalink استفاده می‌کند.
--rm-bad-cksum
در صورت شکست در اعتبارسنجی چک‌سام، فایل هدف را حذف می‌کند (معناشناسی POSC را نیز فعال می‌کند).
--continue
کپی کردن فایل را از نقطه‌ای که کپی قبلی قطع شده بود، ادامه می‌دهد..SH "گزینه‌های قدیمی (LEGACY OPTIONS)" گزینه‌های قدیمی برای سازگاری با نسخه‌های پیشین ارائه شده‌اند. این گزینه‌ها اکنون منسوخ شده‌اند و باید از آن‌ها اجتناب شود.
-adler
معادل با «--cksum adler32:source».
-DIpname numberval
تنظیم پارامتر داخلی pname با مقدار عددی numberval.
-DSpname stringval
تنظیم پارامتر داخلی pname با مقدار رشته‌ای stringval.
-md5
معادل با «--cksum md5:source».
-np
معادل با «--nopbar».
-ODcgi
افزودن اطلاعات cgi به نام cgi به هر URL مقصد xrootd. باید اطلاعات مبهم (opaque) را مستقیماً در URL مقصد مشخص کنید.
-OScgi
افزودن اطلاعات cgi به نام cgi به هر URL مبدأ xrootd.
-x
معادل با «--sources 12».

source

یک خط تیره (یعنی -) به نشانهٔ ورودی استاندارد، یک فایل محلی، نام یک دایرکتوری محلی که به / ختم می‌شود، یا یک URL از نوع xrootd در قالب
xroot://[user@]host[:port]/absolutepath
مؤلفهٔ absolutepath می‌تواند یک دایرکتوری باشد.
destination
یک خط تیره (یعنی -) به نشانهٔ خروجی استاندارد، یک فایل محلی، نام یک دایرکتوری محلی که به / ختم می‌شود، یا یک URL از نوع xrootd در قالب
xroot://[user@]host[:port]/absolutepath
مؤلفهٔ absolutepath می‌تواند یک دایرکتوری باشد.

متغیرهای محیطی زیر پشتیبانی می‌شوند. آن‌ها برای xrdfs و هر برنامهٔ دیگری که از کتابخانهٔ libXrdCl استفاده می‌کند اعمال می‌شوند، مگر آن‌که خلاف آن مشخص شده باشد. متن داخل براکت‌ها نام پارامتر خط فرمان متناظر در xrdcp است.

XRD_LOGLEVEL

میزان اطلاعات عیب‌یابی که باید چاپ شوند را مشخص می‌کند. مقادیر معتبر عبارتند از: Dump، Debug، Info، Warning و Error.

XRD_LOGFILE

در صورت تنظیم، پیام‌های عیب‌یابی به جای stderr در فایل مشخص‌شده چاپ خواهند شد.

XRD_LOGMASK

مشخص می‌کند کدام موضوعات عیب‌یابی باید در تمامی سطوح چاپ شوند. این مقدار فهرستی از موضوعات است که با «|» از هم جدا شده‌اند. اولین عنصر می‌تواند «All» باشد که در این حالت تمامی موضوعات فعال می‌شوند و عناصر بعدی می‌توانند آن‌ها را غیرفعال کنند، یا «None» باشد که در این حالت تمامی موضوعات غیرفعال شده و نشان‌های بعدی می‌توانند آن‌ها را فعال سازند. اگر پیش از نام موضوع «^» بیاید، به این معنی است که موضوع باید غیرفعال شود. اگر نام موضوع بدون پیشوند باشد، به این معنی است که موضوع باید فعال گردد.

ماسک ثبت وقایع می‌تواند برای هر سطح عیب‌یابی به صورت جداگانه نیز با تنظیم یک یا چند مورد از متغیرهای زیر مدیریت شود: XRD_LOGMASK_ERROR، XRD_LOGMASK_WARNING، XRD_LOGMASK_INFO، XRD_LOGMASK_DEBUG و XRD_LOGMASK_DUMP. مقدار پیش‌فرض برای هر سطح «All» است، به جز سطح Dump که پیش‌فرض آن «All|^PollerMsg» می‌باشد. این بدان معناست که در سطح Dump، تمام موضوعات به جز «PollerMsg» فعال هستند.

موضوعات دردسترس: AppMsg، UtilityMsg، FileMsg، PollerMsg، PostMasterMsg، XRootDTransportMsg، TaskMgrMsg، XRootDMsg، FileSystemMsg، AsyncSockMsg، TlsMsg

XRD_TLSDBGLVL

سطح اشکال‌زدایی را برای مولفهٔ TLS مشخص می‌کند. مقادیر معتبر عبارتند از: OFF، CTX، SOK، SIO، ALL و OUT. مقدار پیش‌فرض OFF است.

XRD_PARALLELEVTLOOP

تعداد حلقه‌های رویداد (یعنی تعداد ریسه‌هایی که درخواست‌ها را پردازش می‌کنند). مقدار پیش‌فرض ۱۰ است.

XRD_READRECOVERY

مشخص می‌کند که آیا بازیابی خواندن باید فعال یا غیرفعال باشد (به طور پیش‌فرض فعال است).

XRD_WRITERECOVERY

مشخص می‌کند که آیا بازیابی نوشتن باید فعال یا غیرفعال باشد (به طور پیش‌فرض فعال است).

XRD_OPENRECOVERY

مشخص می‌کند که آیا بازیابی باز کردن برای باز کردن‌های تغییرپذیر (truncate یا create) باید فعال یا غیرفعال باشد (به طور پیش‌فرض فعال است).

XRD_CONNECTIONWINDOW (-DIConnectionWindow)

یک پنجرهٔ زمانی برای برقراری اتصال. اگر اتصال در این پنجرهٔ زمانی برقرار نشود، شکست اتصال اعلام می‌شود. اگر شکست اتصال زودتر رخ دهد، تلاش بعدی برای اتصال تنها در ابتدای پنجرهٔ بعدی انجام خواهد شد.

XRD_CONNECTIONRETRY (-DIConnectionRetry)

تعداد دفعاتی که باید برای برقراری اتصال تلاش شود (تعداد پنجره‌های اتصال دردسترس) پیش از اعلام شکست دائمی.

XRD_REQUESTTIMEOUT (-DIRequestTimeout)

مقدار پیش‌فرض برای مدت زمانی که پس از آن، در صورت عدم دریافت پاسخ برای یک درخواست، خطا اعلام می‌شود.

XRD_STREAMTIMEOUT (-DIStreamTimeout)

مقدار پیش‌فرض برای مدت زمانی که پس از آن، در صورت وجود درخواست‌های انجام‌نشده و عدم فعالیت سوکت یا اتمام مهلت انتظار ثبت‌شده، خطای اتصال اعلام می‌شود (و برای بازیابی تلاش می‌گردد).

XRD_SUBSTREAMSPERCHANNEL (-DISubStreamsPerChannel)

تعداد جریان‌ها در هر نشست.

XRD_TIMEOUTRESOLUTION (-DITimeoutResolution)

دقت تفکیک برای رویدادهای اتمام مهلت زمانی؛ بدین معنا که رویدادهای اتمام مهلت زمانی فقط هر XRD_TIMEOUTRESOLUTION ثانیه یک‌بار پردازش می‌شوند.

XRD_STREAMERRORWINDOW (-DIStreamErrorWindow)

مدت زمانی که پس از آن، پرچم‌های شکست دائمی پاک شده و در صورت نیاز، می‌توان برای برقراری اتصال جدید تلاش کرد.

XRD_RUNFORKHANDLER (-DIRunForkHandler)

مشخص می‌کند که آیا گرداننده‌های fork باید فعال شوند تا API در برابر fork امن شود یا خیر.

XRD_REDIRECTLIMIT (-DIRedirectLimit)

حداکثر تعداد مجاز برای تغییر مسیرها.

XRD_NOTAUTHORIZEDRETRYLIMIT (-dNotAuthorizedRetryLimit)

حداکثر تعداد مجاز تلاش مجدد در یک meta-manager برای خطای عدم احراز هویت.

XRD_POLLERPREFERENCE (-DSPollerPreference)

فهرستی از پیاده‌سازی‌های poller که با کاما از هم جدا شده‌اند، به ترتیب اولویت. پیش‌فرض: built-in است.

XRD_CLIENTMONITOR (-DSClientMonitor)

مسیر کتابخانهٔ مانیتور کلاینت.

XRD_CLIENTMONITORPARAM (-DSClientMonitorParam)

پارامترهای اختیاری اضافی که در هنگام مقداردهی اولیه به شیء نظارتی پاس داده می‌شوند.

XRD_WORKERTHREADS (-DIWorkerThreads)

تعداد ریسه‌هایی که فراخوان‌های بازگشتی کاربر را پردازش می‌کنند.

XRD_CPPARALLELCHUNKS (-DICPParallelChunks)

حداکثر تعداد درخواست‌های ناهمگام در حال پردازش توسط دستور xrdcp به ازای هر زیرجریان کانال متصل (که به صورت بلادرنگ تنظیم می‌شود).

XRD_CPCHUNKSIZE (-DICPChunkSize)

اندازهٔ یک تکه‌دادهٔ منفرد که توسط xrdcp اداره می‌شود.

XRD_NETWORKSTACK (-DSNetworkStack)

پشتهٔ شبکه‌ای که کلاینت باید برای اتصال به سرور از آن استفاده کند. مقادیر ممکن عبارتند از:

IPAuto - تشخیص خودکار پشتهٔ IP مورد استفاده

IPAll - استفاده از پشتهٔ IPv6 (سوکت‌های AF_INET6) و هر دو نشانی IPv6 و IPv4 (نگاشت‌شده به IPv6)

IPv6 - استفاده تنها از پشته و نشانی‌های IPv6

IPv4 - استفاده تنها از پشته و نشانی‌های IPv4 (سوکت‌های AF_INET)

IPv4Mapped6 - استفاده از پشتهٔ IPv6 و نشانی‌های نگاشت‌شدهٔ IPv4

XRD_DATASERVERTTL (-DIDataServerTTL)

مدت زمانی که پس از آن، یک اتصال بیکار به یک سرور داده باید بسته شود..RE

XRD_LOADBALANCERTTL (-DILoadBalancerTTL)

مدت زمانی که پس از آن، یک اتصال بیکار (idle) به یک مدیر (manager) یا یک متعادل‌کننده بار (load balancer) باید بسته شود.

XRD_APPNAME (-DSAppName)

بازنویسی نام برنامه گزارش‌شده به کارساز.

XRD_PLUGINCONFDIR

مسیری سفارشی حاوی فایل‌های پیکربندی افزونه‌های کلاینت.

XRD_PLUGIN

افزونه پیش‌فرض کلاینت که باید استفاده شود.

XRD_CPINITTIMEOUT (-DICPInitTimeout)

حداکثر زمان مجاز برای مقداردهی اولیه فرایند کپی، یعنی باز کردن فایل‌های مبدأ و مقصد.

XRD_CPTPCTIMEOUT (-DICPTPCTimeout)

حداکثر زمان مجاز برای اتمام یک عملیات کپی شخص ثالث (TPC).

XRD_TCPKEEPALIVE (-DITCPKeepAlive)

فعال/غیرفعال کردن قابلیت TCP keep alive.

XRD_TCPKEEPALIVETIME (-DITCPKeepAliveTime)

زمان بین ارسال آخرین بسته داده و نخستین کاوش keepalive (فقط لینوکس).

XRD_TCPKEEPALIVEINTERVAL (-DITCPKeepAliveInterval)

فاصله زمانی بین کاوش‌های keepalive متوالی (فقط لینوکس).

XRD_TCPKEEPALIVEPROBES (-DITCPKeepProbes)

تعداد کاوش‌های بدون پاسخ پیش از آن‌که اتصال قطع‌شده تلقی شود (فقط لینوکس).

XRD_METALINKPROCESSING

فعال/غیرفعال کردن پردازش Metalink (به‌طور پیش‌فرض فعال است).

XRD_LOCALMETALINKFILE

فعال/غیرفعال کردن پردازش فایل محلی Metalink (طبق قرارداد باید از این ساختار URL استفاده شود: root://localfile//path/filename.meta4). معناشناسی “localfile” اکنون منسوخ شده است؛ در عوض از file://localhost/path/filename.meta4 استفاده کنید!

XRD_GLFNREDIRECTOR

تغییرمسیردهنده‌ای (redirector) که در صورت مشخص شدن برچسب GLFN در یک فایل Metalink، به عنوان آخرین چاره استفاده خواهد شد.

XRD_XCPBLOCKSIZE

حداکثر اندازه یک بلوک داده اختصاص داده‌شده به یک منبع منفرد در صورت انتقال کپی شدید (extreme copy).

XRD_NODELAY

در صورت تنظیم روی 1 (پیش‌فرض)، الگوریتم Nagle را غیرفعال می‌کند و اگر روی 0 تنظیم شود، آن را فعال می‌سازد.

XRD_PREFERIPV4

در صورت تنظیم، کلاینت ابتدا نشانی IPv4 را امتحان می‌کند (به‌طور پیش‌فرض غیرفعال است).

XRD_MAXMETALINKWAIT

حداکثر زمان بر حسب ثانیه که در صورت در دسترس بودن یک تغییرمسیردهنده Metalink، کلاینت می‌تواند توسط کارساز متوقف (معلق) شود (پیش‌فرض: ۶۰ ثانیه).

XRD_PRESERVELOCATETRIED

اگر روی 1 تنظیم شود، کلاینت XRootD اطلاعات مات cgi با نام tried/triedrc را برای درخواست kXR_locate در بین تغییرمسیرها/تلاش‌های مجدد حفظ خواهد کرد؛ و اگر روی 0 تنظیم شود، کلاینت XRootD با kXR_locate مانند هر درخواست غیرفعال (passive) دیگری رفتار خواهد کرد.

XRD_PRESERVEXATTRS

اگر روی 1 (پیش‌فرض) تنظیم شود، xrdcp ویژگی‌های گسترش‌یافته فایل (extended attributes) را حفظ می‌کند؛ و اگر روی 0 تنظیم شود، این ویژگی‌ها حفظ نخواهند شد.

XRD_NOTLSOK

اگر روی 1 تنظیم شود و کارساز قدیمی‌تر از آن باشد که از رمزنگاری TLS پشتیبانی کند، با وجود استفاده از پروتکل roots/xroots، ابزار xrdcp به انتقال رمزنشده پس‌روی (fallback) خواهد کرد. به‌طور پیش‌فرض روی 0 تنظیم شده است.

XRD_TLSNODATA

اگر روی 1 تنظیم شود، در صورت استفاده از پروتکل roots/xroots فقط جریان کنترلی رمزگذاری می‌شود و جریان‌های داده رمزنشده باقی می‌مانند. به‌طور پیش‌فرض روی 0 تنظیم شده است.

XRD_TLSMETALINK

اگر روی 1 تنظیم شود، تمام نشانی‌های URL درون metalink به عنوان roots/xroots در نظر گرفته می‌شوند. به‌طور پیش‌فرض روی 0 تنظیم شده است.

XRD_ZIPMTLNCKSUM

اگر روی 1 تنظیم شود، از چکسام موجود در فایل metalink حتی هنگام استخراج یک فایل از یک آرشیو ZIP استفاده می‌کند. به‌طور پیش‌فرض روی 0 تنظیم شده است.

XRD_CPTIMEOUT

مهلت زمانی برای یک عملیات کپی کلاسیک (غیر TPC). به‌طور پیش‌فرض روی 0 (غیرفعال) تنظیم شده است.

XRD_CLCONFDIR

دایرکتوری تعریف‌شده توسط کاربر حاوی فایل‌های پیکربندی (*.conf).

XRD_CLCONFFILE

فایل پیکربندی تعریف‌شده توسط کاربر.

XRD_CPRETRY

حداکثر تعداد دفعات تلاش مجدد برای کارهای کپی ناموفق (پیش‌فرض: 0).

XRD_CPRETRYPOLICY

سیاست تلاش مجدد برای عملیات کپی، یکی از مقادیر force یا retry (پیش‌فرض: force).

XRD_CPUSEPGWRTRD

فعال‌سازی تصحیح خطای بی‌درنگ (in-fly) برای صفحات آسیب‌دیده (پیش‌فرض: 1).
50 : خطای عمومی (مانند پیکربندی، داخلی، داده، سیستم‌عامل، گزینه خط فرمان)

51 : خطای مربوط به سوکت

52 : خطای مربوط به postmaster

53 : خطای مربوط به XRootD

54 : خطای بازهدایت (تغییر مسیر)

55 : پاسخ پرس‌وجو منفی بود (این یک خطا نیست)

مستندات مربوط به تمام مؤلفه‌های وابسته به xrdcp در نشانی زیر در دسترس است: https://xrootd.org/docs.html

خطاها منجر به نمایش پیام خطا و وضعیت خروج غیرصفر می‌شوند.

LGPL

دستور xrdcp توسط گروه همکاری xrootd پشتیبانی می‌شود. اطلاعات تماس در نشانی زیر در دسترس است:


https://xrootd.org/contact.html

v6.1.1