PMLOGCOMPRESS(1) General Commands Manual PMLOGCOMPRESS(1)

pmlogcompress, pmlogdecompress - فشرده‌سازی و بازگشایی فایل‌های آرشیو PCP

pmlogcompress [-NV?] [-A arg] [-C conffile] [-c proglist] [-f prog] [-l limit] [-o type] [-Z min] archive ...
pmlogdecompress [-NV?] [-t dir] archive ...

دستورهای pmlogcompress و pmlogdecompress از فشرده‌سازی و بازگشایی فایل‌هایی که یک آرشیو Performance Co-Pilot (PCP) را تشکیل می‌دهند، پشتیبانی می‌کنند؛ برای توضیحات درباره فایل‌های مختلفی که اجزای یک آرشیو PCP هستند به LOGARCHIVE(5) مراجعه کنید.

آرگومان‌های archive می‌توانند نام یک تک‌فایل در یک آرشیو PCP یا نام‌پایه (basename) یک آرشیو PCP باشند، مشابه قالبی که توسط pmlogbasename(1) تولید می‌شود. در حالت اول، pmlogcompress تنها همان فایل را فشرده (یا pmlogdecompress بازگشایی) می‌کند، اما در حالت دوم، pmlogcompress تلاش خواهد کرد تمام فایل‌هایی را که بخشی از آرشیو PCP مرتبط هستند فشرده (یا pmlogdecompress بازگشایی) کند.

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

گزینه‌های خط فرمان موجود عبارتند از:

از arg به عنوان یک آرگومان برای برنامه فشرده‌سازی استفاده می‌شود؛ به احتمال زیاد همراه با گزینه -f مفید است تا انتخاب برنامه فشرده‌سازی قطعی باشد.

پردازش arg پیچیده نیست، بنابراین باید از متغیرهای شل، نویسه‌های گریز (escape)، نویسه‌های تطبیق الگوی شل (``glob'') و فاصله‌ها در آن خودداری شود.

استفاده از چند گزینه -A مجاز است و تمام آرگومان‌های arg استفاده خواهند شد.

همان‌طور که در ادامه توضیح داده شده است، متغیرهایی که رفتار pmlogcompress را کنترل می‌کنند در فایل پیکربندی $PCP_SYSCONF_DIR/pmlogcompress/defaults تعریف شده‌اند. گزینه -C امکان استفاده از یک فایل پیکربندی جایگزین، conffile، را فراهم می‌کند.
بسته به سایر گزینه‌های خط فرمان و در دسترس بودن برنامه‌های فشرده‌سازی نصب‌شده، انتخاب برنامه هنگام فشرده‌سازی ممکن است متفاوت باشد. گزینه -c امکان تعیین یک فهرست از برنامه‌های فشرده‌سازی را فراهم می‌کند، خواه با چند گزینه -c یا با جدا کردن نام برنامه‌ها در proglist توسط دونقطه (:)، مشابه نمادگذاری $PATH در شل.

مقدار پیش‌فرض برای proglist برابر با zstd:xz:bzip2:gzip است.

اگر تنها یک برنامه برای فشرده‌سازی مد نظر باشد، می‌توان آن را با استفاده از گزینه -f مشخص کرد. اثر این گزینه مانند این است که تنها یک گزینه -c استفاده شده باشد و proglist دقیقاً شامل یک نام برنامه، یعنی prog، باشد.
هنگام فشرده‌سازی، فایل‌های کوچک‌تر از limit (به بایت) در نظر گرفته نمی‌شوند.

مقدار پیش‌فرض برای limit برابر با 4096 است.

کاری انجام نده، اما دستورهایی را که اجرا می‌شدند نمایش بده.
هنگام فشرده‌سازی، گزینه -o تلاش خواهد کرد برنامه‌ای از proglist (گزینه -c در بالا را ببینید) انتخاب کند که «بهترین» کارایی را دارد؛ به طوری که type می‌تواند space برای انتخاب برنامه‌ای باشد که کوچک‌ترین فایل خروجی را تولید می‌کند، یا time برای انتخاب برنامه‌ای باشد که کمترین زمان پردازنده (CPU) را مصرف می‌کند.

اگر archive نام‌پایه یک آرشیو باشد، بزرگ‌ترین فایل از میان فایل‌های مرتبط با آرشیو PCP برای آزمایش انتخاب می‌شود، در غیر این صورت خود archive برای آزمایش استفاده خواهد شد.

استفاده از این گزینه بدین معناست که هر یک از فایل‌های انتخاب‌شده archive چندین بار فشرده خواهند شد، بنابراین به احتمال زیاد -o در آزمایش‌ها همراه با -N (و احتمالاً -V) برای تعیین بهترین ابزار فشرده‌سازی متناسب با محیط محلی و آرشیوهای PCP استفاده می‌شود. -t dir, --dir=dir هنگام خارج کردن از حالت فشرده، هر فایل فشرده‌شده‌ای (به‌طور پیش‌فرض) با معادل غیرفشرده‌اش جایگزین خواهد شد. گزینهٔ -t این رفتار را تغییر می‌دهد تا یک نسخهٔ همسان و غیرفشرده از archive در دایرکتوری dir ایجاد شود.

اگر archive یک فایل منفرد باشد، تنها همان فایل در dir از حالت فشرده خارج می‌شود، اما اگر archive نام پایهٔ یک آرشیو باشد، آن‌گاه تمامی فایل‌های archive در dir کپی شده و در صورت لزوم از حالت فشرده خارج خواهند شد.

اگر یک فایل فشرده نباشد، ابتدا تلاش خواهد شد تا یک پیوند سخت (hard link) در dir با ln(1) ایجاد شود و در صورت ناموفق بودن این کار، یک رونوشت با cp(1) تهیه می‌شود.

دایرکتوری dir باید پیش از اجرای pmlogdecompress وجود داشته باشد.

افزایش پرگویی خروجی.
ابزار xz(1) برای فایل‌های ورودی کوچک، فایل‌های فشردهٔ کم‌حجم‌تری تولید می‌کند، اما از جایی به بعد اندازهٔ فایل ورودی به‌حدی بزرگ می‌شود که zstd(1) فایل‌های فشردهٔ کم‌حجم‌تری تولید می‌کند و zstd معمولاً بسیار سریع‌تر است.

هنگامی که هر دوی xz و xstd مد نظر باشند (گزینهٔ -c در بالا را ببینید)، آن‌گاه گزینهٔ -Z به کاربر اجازه می‌دهد نقطهٔ گذار از xz به zstd را تنظیم کند؛ فایل‌های ورودی کوچک‌تر از min (به بایت) با xz فشرده می‌شوند، وگرنه از zstd استفاده خواهد شد.

مقدار پیش‌فرض برای min برابر 52428800 (50MiB) است.

-?, --help
نمایش پیام راهنمای استفاده و خروج..SH "نکته (NOTE)" برای اکثر کاربران، pmlogcompress و pmlogdecompress به‌طور مستقیم استفاده نخواهند شد، زیرا نیازی به فشرده‌سازی و وافشرده‌سازی صریح آرشیوهای PCP نیست.

در عوض، در صورت فعال بودن فشرده‌سازی آرشیو، این کار به‌طور غیرمستقیم از طریق اسکریپت‌های مدیریت آرشیو PCP یعنی pmlogger_check(1)، pmlogger_daily(1) و pmlogger_rewrite (1) با استفاده از pmlogcompress انجام خواهد شد.

وافشرده‌سازی به‌طور شفاف در طول بازپخش آرشیو توسط توابعی که «رابط برنامه‌نویسی سنجه‌های کارایی» (PMAPI) را پیاده‌سازی می‌کنند، مدیریت می‌شود.

pmlogcompress از تعدادی متغیر استفاده می‌کند که می‌توان از آن‌ها برای سفارشی‌سازی رفتار برنامه بهره برد. مقادیر پیش‌فرض در فایل پیکربندی $PCP_SYSCONF_DIR/pmlogcompress/defaults تعریف شده‌اند، اما می‌توان آن‌ها را با مقداردهی متغیرهایی با همان نام در محیط بازنویسی کرد. همچنین برخی از گزینه‌های خط فرمان، متغیرهای تنظیم‌شده در فایل پیکربندی یا محیط را بازنویسی می‌کنند.

جدول زیر متغیرها و معادل آن‌ها با برخی از گزینه‌های خط فرمان را شرح می‌دهد.

متغیر گزینه خط فرمان توضیحات
PCP_COMPRESS_PROGS -c proglist فهرستی از برنامه‌ها که با دونقطه (colon) از هم جدا شده‌اند تا به نوبت بررسی شوند. اگر تنها یک برنامه در فهرست ذکر شده باشد، برای تمام عملیات‌های فشرده‌سازی فقط استفاده از همان برنامه در نظر گرفته می‌شود.
-f prog حالت خلاصه برای یک proglist که تنها شامل یک prog است.
PCP_COMPRESS_MIN_FILESIZE -l limit فایل‌های آرشیو کوچک‌تر از این مقدار هرگز فشرده نخواهند شد.
PCP_COMPRESS_ZSTD_MIN_FILESIZE -f prog فایل‌های آرشیو کوچک‌تر از این مقدار هرگز با zstd (1) فشرده نخواهند شد.
PCP_COMPRESS_ZSTD_ARGS -A arg -f zstd آرگومان‌های خط فرمان جهت استفاده با zstd (1).
PCP_COMPRESS_XZ_ARGS -A arg -f xz آرگومان‌های خط فرمان جهت استفاده با xz (1).
PCP_COMPRESS_BZIP2_ARGS -A arg -f bzip2 آرگومان‌های خط فرمان جهت استفاده با bzip2 (1).
PCP_COMPRESS_GZIP_ARGS -A arg -f gzip آرگومان‌های خط فرمان جهت استفاده با gzip (1).
"فایل‌ها (FILES)"
0
10
$PCP_SYSCONF_DIR/pmlogcompress/defaults
تنظیمات پیش‌فرض برای متغیرهای مورد استفاده توسط
pmlogcompress
"محیط PCP (PCP ENVIRONMENT)"
متغیرهای محیطی با پیشوند
PCP_
برای پارامتربندی نام‌های فایل و دایرکتوری مورد استفاده توسط PCP به کار می‌روند.
در هر بار نصب، فایل
/etc/pcp.conf
شامل مقادیر محلی برای این متغیرها است.
متغیر
$PCP_CONF
می‌تواند برای تعیین یک فایل پیکربندی جایگزین استفاده شود،
همان‌طور که در
pcp.conf (4)
شرح داده شده است.
دستور
pmlogcompress
متغیرهای اختصاصی بیشتری با مقادیر پیش‌فرض در
$PCP_SYSCONF_DIR/pmlogcompress/defaults
دارد، همان‌گونه که در بالا شرح داده شد.
"همچنین ببینید (SEE ALSO)"
PCPIntro (1)،
bzip2 (1)،
gzip (1)،
pmlogbasename (1)،
pmlogger (1)،
pmlogger_check (1)،
pmlogger_daily (1)،
pmlogger_rewrite (1)،
xz (1)،
zstd (1)،
PMAPI (3)
و
LOGARCHIVE (5).
PCP Performance Co-Pilot