TRACE-CMD-RESTORE(1) libtracefs Manual TRACE-CMD-RESTORE(1)

trace-cmd-restore - بازیابی یک ضبط ردگیری ناموفق

trace-cmd restore [OPTIONS] [command] cpu-file [cpu-file ...]

دستور trace-cmd(1) restore یک فایل حاصل از اجرای کرش‌کردهٔ trace-cmd-record(1) را بازیابی می‌کند. اگر به هر دلیلی یک trace-cmd record با شکست مواجه شود، فایل‌های دادهٔ per-cpu را بر جای گذاشته و فایل نهایی trace.dat را ایجاد نمی‌کند. دستور trace-cmd restore این فایل‌ها را به یکدیگر پیوست می‌کند تا یک فایل trace.dat سالم ایجاد کند که با trace-cmd-report(1) قابل خواندن باشد.

هنگامی که trace-cmd record اجرا می‌شود، به ازای هر CPU یک فرآیند ایجاد کرده و در فایلی مختص هر پردازنده که معمولاً trace.dat.cpuX نامیده می‌شود (که X نشان‌دهندهٔ شمارهٔ پردازنده‌ای است که ردگیری می‌کند) داده‌ها را می‌نویسد. اگر در trace-cmd record از گزینهٔ -o استفاده شده باشد، فایل‌های دادهٔ پردازنده به جای نام trace.dat آن نام را خواهند داشت. چنانچه پیش از پایان ردگیری یک خرابی و کرش غیرمنتظره رخ دهد، فایل‌های مجزای پردازنده همچنان باقی خواهند ماند اما هیچ فایل trace.dat برای خواندن وجود نخواهد داشت. دستور trace-cmd restore به شما امکان می‌دهد تا با فایل‌های دادهٔ موجود، یک فایل trace.dat بسازید.

-c

یک فایل ناقص trace.dat از سیستم جاری ایجاد می‌کند تا در زمانی دیگر برای بازیابی کامل با trace-cmd restore به کار رود. این گزینه برای دستگاه‌های تعبیه‌شده (embedded) سودمند است. اگر یک سرور شامل فایل‌های cpu حاصل از یک trace-cmd record (یا trace-cmd listen) کرش‌کرده باشد، می‌توان trace-cmd restore را با گزینهٔ -c روی دستگاه تعبیه‌شده اجرا کرد تا تمامی اطلاعات ذخیره‌شدهٔ آن دستگاه تعبیه‌شده به دست آید. سپس فایل ایجادشده را می‌توان به سرور منتقل کرد تا trace-cmd restore در آنجا به همراه فایل‌های cpu اجرا شود.
اگر *-o* مشخص نشده باشد، فایل ایجادشده 'trace-partial.dat'
نامیده خواهد شد. دلیل آن این است که این فایل نسخه‌ای کامل
از چیزی که trace-cmd-report(1) بتواند استفاده کند نیست.

-t tracing_dir

به همراه -c استفاده می‌شود و مکانی را که رویدادها از آن خوانده می‌شوند بازنویسی می‌کند. به طور پیش‌فرض، اطلاعات ردگیری از دایرکتوری debugfs/tracing خوانده می‌شود. -t به جای آن از آن مکان استفاده خواهد کرد. این مورد زمانی می‌تواند مفید باشد که فایل trace.dat مورد نظر برای ایجاد، متعلق به ماشین دیگری باشد. کافی است دستور tar -cvf events.tar debugfs/tracing را اجرا کرده، فایل را به صورت محلی کپی و استخراج (untar) نمایید و به جای آن از آن دایرکتوری استفاده کنید.

-k kallsyms

به همراه -c استفاده می‌شود و مکانی را که فایل kallsyms از آن خوانده می‌شود بازنویسی می‌کند. به طور پیش‌فرض، از /proc/kallsyms استفاده می‌شود. -k فایلی را که kallsyms از آن خوانده می‌شود بازنویسی خواهد کرد. این مورد زمانی می‌تواند مفید باشد که فایل trace.dat مورد نظر برای ایجاد، متعلق به ماشین دیگری باشد. کافی است فایل /proc/kallsyms را به صورت محلی کپی کرده و از -k برای اشاره به آن فایل استفاده نمایید.

-o output'

به طور پیش‌فرض، trace-cmd restore یک فایل trace.dat (یا در صورتی که -c مشخص شده باشد، trace-partial.dat) ایجاد خواهد کرد. می‌توانید با گزینهٔ -o فایل دیگری را برای نوشتن تعیین کنید.

-i input

به طور پیش‌فرض، trace-cmd restore اطلاعات سیستم جاری را می‌خواند تا داده‌های اولیه‌ای را که در فایل trace.dat ذخیره می‌شوند ایجاد کند. اگر کرش روی ماشین دیگری رخ داده باشد، آنگاه روی آن ماشین باید trace-cmd restore با گزینهٔ -c اجرا شود تا فایل ناقص trace.dat تولید گردد. سپس آن فایل می‌تواند به ماشین فعلی منتقل شود؛ جایی که trace-cmd restore با استفاده از -i آن فایل را به جای خواندن از سیستم جاری بارگذاری خواهد کرد.

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

$ trace-cmd restore -c -o box-partial.dat

سپس روی سروری که فایل‌های cpu را در اختیار دارد:

$ trace-cmd restore -i box-partial.dat trace.dat.cpu0 trace.dat.cpu1

این کار یک فایل trace.dat برای سیستم تعبیه‌شده ایجاد خواهد کرد.

trace-cmd(1), trace-cmd-record(1), trace-cmd-report(1), trace-cmd-start(1), trace-cmd-stop(1), trace-cmd-extract(1), trace-cmd-reset(1), trace-cmd-split(1), trace-cmd-list(1), trace-cmd-listen(1)

نوشته‌شده توسط Steven Rostedt، <rostedt@goodmis.org[1]>

https://git.kernel.org/pub/scm/utils/trace-cmd/trace-cmd.git

حق نشر 2010 شرکت Red Hat, Inc. استفاده آزاد از این نرم‌افزار تحت شرایط مجوز عمومی همگانی گنو (GPL) مجاز است.

1.
rostedt@goodmis.org
mailto:rostedt@goodmis.org
03/09/2026 libtracefs