'\"macro stdmacro .\" .\" Copyright (c) 2025 Ken McDonell. All Rights Reserved. .\" .\" This program is free software; you can redistribute it and/or modify it .\" under the terms of the GNU General Public License as published by the .\" Free Software Foundation; either version 2 of the License, or (at your .\" option) any later version. .\" .\" This program is distributed in the hope that it will be useful, but .\" WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY .\" or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License .\" for more details. .\" .TH PMLOGGER_JANITOR 1 "PCP" "Performance Co-Pilot" .SH "نام (NAME)" \f3pmlogger_janitor\f1 \- ابزار کمکی مدیریت برای فایل‌های بایگانی Performance Co-Pilot .SH "خلاصه دستور (SYNOPSIS)" .B $PCP_BINADM_DIR/pmlogger_janitor [\f3\-NV?\f1] [\f3\-c\f1 \f2control\f1] [\f3\-l\f1 \f2logfile\f1] [\f3\-X\f1 \f2program\f1] [\f3\-Y\f1 \f2regex\f1] .SH "توضیحات (DESCRIPTION)" به‌طور معمول .B pmlogger_janitor مستقیماً استفاده نمی‌شود، بلکه از طریق .BR pmlogger_check (1) فراخوانی می‌شود تا هرگونه فرآیند و فایل وضعیت باقی‌مانده و مربوط به نمونه‌های از کار افتاده یا در حال مرگ .BR pmlogger (1) را پاکسازی کند. .PP اگر .B pmlogger_janitor به صورت مستقیم اجرا شود، باید به عنوان کاربر .B $PCP_USER اجرا گردد؛ تنها استثنا زمانی است که از گزینهٔ .B \-N استفاده شود. .SH "گزینه‌ها (OPTIONS)" .TP 5 \fB\-c\fR \fIcontrol\fR, \fB\-\-control\fR=\fIcontrol\fR همانند .B pmlogger_check (1) و .BR pmlogger_daily (1)، ابزار .B pmlogger_janitor توسط فایل(های) کنترلی ثبت‌کنندهٔ PCP که نمونه‌های .B pmlogger مورد نظر برای مدیریت را مشخص می‌کنند، کنترل می‌شود. فایل .I control پیش‌فرض .B $PCP_PMLOGGERCONTROL_PATH است، اما می‌توان با استفاده از گزینهٔ .B \-c یک فایل جایگزین مشخص کرد. اگر دایرکتوری .B $PCP_PMLOGGERCONTROL_PATH.d (یا .IB control .d از گزینهٔ .BR \-c ) وجود داشته باشد، محتوای هر فایل .I control اضافی موجود در آن به انتهای فایل کنترلی اصلی (که وجود آن الزامی است) پیوست خواهد شد. .TP 5 \fB\-l\fR \fIfile\fR, \fB\-\-logfile\fR=\fIfile\fR به منظور اطمینان از اینکه هنگام اجرای این اسکریپت از .BR cron (8) یا .BR systemd (1) پیامی ناخواسته از طریق ایمیل فرستاده نمی‌شود، پیام‌های عیب‌یابی همواره به فایل‌های لاگ ارسال می‌شوند. به صورت پیش‌فرض، این فایل .B $PCP_LOG_DIR/pmlogger/pmlogger_janitor.log است، اما این مسیر را می‌توان با استفاده از گزینهٔ .B \-l تغییر داد. اگر این .I file لاگ هنگام شروع اسکریپت از قبل وجود داشته باشد، پیش از تولید پیام‌های عیب‌یابی جدید در آن، نامش با پسوند .B .prev تغییر داده می‌شود (و هر فایل لاگی که قبلاً ذخیره شده باشد رونویسی خواهد شد). .TP 5 \fB\-N\fR, \fB\-\-showme\fR این گزینه حالت «به من نشان بده» (``show me'') را فعال می‌کند که در آن اقدامات به سبک ``make \-n'' نمایش داده می‌شوند اما اجرا نمی‌گردند. استفاده از .B \-N به همراه .B \-V قابلیت‌های تشخیصی را برای اشکال‌زدایی به بیشترین حد ممکن می‌رساند. .TP 5 \fB\-V\fR, \fB\-\-verbose\fR گزینهٔ .B \-V ردیابی با جزئیات کامل (verbose) را فعال می‌کند. به‌طور پیش‌فرض .B pmlogger_janitor هیچ خروجی تولید نمی‌کند مگر اینکه با وضعیت خطا یا هشداری مواجه شود. استفاده از .B \-V دوم، میزان جزئیات خروجی را افزایش می‌دهد. استفاده از .B \-N همراه با .B \-V قابلیت‌های تشخیصی را برای اشکال‌زدایی به حداکثر می‌رساند. .TP 5 \fB\-X\fR \fIprogram\fR, \fB\-\-compressor\fR=\fIprogram\fR این گزینه برنامه‌ای را که باید برای فشرده‌سازی استفاده شود تعیین می‌کند. برای جزئیات به .BR pmlogger_daily (1) مراجعه کنید. .TP 5 \fB\-Y\fR \fIregex\fR, \fB\-\-regex\fR=\fIregex\fR این گزینه امکان تعیین یک عبارت منظم را فراهم می‌کند تا فایل‌های منطبق از مجموعه فایل‌های انتخاب‌شده برای فشرده‌سازی حذف و نادیده گرفته شوند. برای جزئیات به .BR pmlogger_daily (1) مراجعه کنید. .TP 5 \fB\-?\fR, \fB\-\-help\fR نمایش پیام راهنمای نحوه استفاده و خروج. .SH "عملیات (OPERATION)" .B pmlogger_janitor در چندین گذر (pass) به دنبال مواردی برای پاکسازی عمل می‌کند. .TP 7n .I "گذر ۱ (Pass 1)" بررسی فایل‌های نگاشت درگاه (port map) متعلق به .B pmlogger در دایرکتوری .BR $PCP_TMP_DIR/pmlogger . شناسه فرآیند (PID) برگرفته از نام فایل نگاشت درگاه و .BR ps (1) برای بررسی این موضوع که آیا فرآیند وجود دارد و «شبیه به» یک .B pmlogger فعال به نظر می‌رسد یا خیر استفاده می‌شوند؛ اگر چنین باشد، PID و دایرکتوری محل نوشتن بایگانی (استخراج‌شده از فایل نگاشت درگاه) به فهرست موارد مورد نظر افزوده می‌شوند، در غیر این صورت فرض می‌شود که فایل نگاشت درگاه مربوط به یک .B pmlogger است که خارج شده و فایل نگاشت درگاه حذف می‌شود. .TP 7n .I "گذر ۲ (Pass 2)" استفاده از .BR ps (1) برای پیمایش تمامی فرآیندها و شناسایی هر نمونهٔ .B pmlogger که توسط .BR pmlogger_check (3) یا .BR pmlogger_daily (3) شروع شده باشد؛ این نمونه‌ها دارای گزینهٔ متمایزکنندهٔ .B \-m در آرگومان‌های خود هستند. شناسه‌های PID و دایرکتوری‌های محل نوشتن بایگانی (استخراج‌شده از آرگومان‌های خط فرمان) به فهرست موارد مورد نظر اضافه می‌شوند. .TP 7n .I "گذر ۳ (Pass 3)" تجزیه و بررسی تمامی فایل‌های .BR pmlogger.control (5) چه از مکان‌های استاندارد و چه از .I control در صورت استفاده از گزینهٔ .BR \-c . هر نمونه از .B pmlogger باید در فهرست موارد مورد نظر باشد، و در صورت وجود از آن فهرست حذف می‌گردد. .RS 7n .PP اگر در انتهای این گذر فهرست موارد مورد نظر خالی باشد، عملیات پایان یافته است. .RE .TP 7n .I "گذر ۴ (Pass 4)" هر فرآیندی که در فهرست موارد مورد نظر باقی مانده باشد، نمونه‌ای از .B pmlogger است که در حال اجراست اما نباید باشد؛ که احتمالاً در نتیجهٔ تغییری در فایل‌های .BR pmlogger.control (5) رخ داده است. به هر فرآیند یک سیگنال SIGTERM ارسال می‌شود. .TP 7n .I "گذر ۵ (Pass 5)" برای هر فرآیندی که پس از .I "گذر ۳ (Pass 3)" در فهرست موارد مورد نظر باقی مانده است، تمام بایگانی‌های موجود در دایرکتوری‌ای که .B pmlogger در آن می‌نوشت، فشرده‌سازی می‌شوند. این تنها مرحله‌ای است که ممکن است گزینه‌های .B \-X و .B \-Y در آن استفاده شوند. .TP 7n .I "گذر ۶ (Pass 6)" برای هر .B pmlogger که در .I "گذر ۴ (Pass 4)" به آن سیگنال SIGTERM ارسال شده است، بررسی می‌شود که آیا خاتمه یافته است یا خیر، و در غیر این صورت به آن سیگنال SIGKILL ارسال می‌شود. .SH "فایل‌ها (FILES)" .TP 5 .B $PCP_LOG_DIR/pmlogger/pmlogger_janitor.log اگر اجرای قبلی .B pmlogger_janitor خروجی‌ای تولید کرده باشد، در اینجا ذخیره می‌شود. حالت عادی بدون خروجی است که در این حالت فایل وجود نخواهد داشت. .TP 5 .B $PCP_ARCHIVE_DIR/SaveLogs اگر این دایرکتوری وجود داشته باشد، فایل لاگ حاصل از آرگومان .B \-l برای .B pmlogger_janitor با قالبی به نام -\fBpmlogger_janitor\fP.\fBlog\fP. در این دایرکتوری ذخیره خواهد شد. این قابلیت اجازه می‌دهد که فایل لاگ در زمان دیگری بررسی شود، حتی اگر در این فاصله چندین بار .B pmlogger_janitor اجرا شده باشد. دایرکتوری .B $PCP_ARCHIVE_DIR/SaveLogs باید متعلق به کاربر .B $PCP_USER باشد. .TP 5 .B $PCP_TMP_DIR/pmlogger ابزار .B pmlogger فایل‌های این دایرکتوری را به عنوان نگاشت درگاه (port map) میان موارد زیر نگهداری می‌کند: PID نمونهٔ .BR pmlogger ، درگاه IPC که ممکن است برای کنترل هر نمونهٔ .B pmlogger استفاده شود (همان‌طور که توسط .BR pmlc (1) به کار می‌رود)، نام میزبانی که در آن .BR pmcd (1) معیارها را برای .B pmlogger ارائه می‌دهد، رشتهٔ اتصال از راه دور برای سرور HTTP راه دور که داده‌های ثبت‌شده را دریافت می‌کند یا مسیر کامل به نام پایهٔ بایگانی برای یک ثبت‌کنندهٔ محلی و هرگونه یادداشت از گزینه‌های .B \-m یا .BR \-x ؛ تمامی این اطلاعات همچنین از طریق معیارهای pmcd.pmlogger.* نیز در دسترس هستند، مانند: $ pminfo -f pmcd.pmlogger .SH "محیط PCP (PCP ENVIRONMENT)" متغیرهای محیطی با پیشوند \fBPCP_\fP برای مقداردهی و پارامتریک کردن نام فایل‌ها و دایرکتوری‌های مورد استفادهٔ PCP به کار می‌روند. در هر نصب، فایل \fI/etc/pcp.conf\fP حاوی مقادیر محلی برای این متغیرها است. متغیر \fB$PCP_CONF\fP ممکن است برای تعیین یک فایل پیکربندی جایگزین استفاده شود، همان‌طور که در \fBpcp.conf\fP(5) شرح داده شده است. .SH "همچنین ببینید (SEE ALSO)" .BR PCPIntro (1)، .BR pmcd (1)، .BR pmlc (1)، .BR pmlogctl (1)، .BR pmlogger (1)، .BR pmlogger_check (1)، .BR pmlogger_daily (1)، .BR ps (1)، .BR systemd (1)، .BR pmlogger.control (5) و .BR cron (8). .\" control lines for scripts/man-spell .\" +ok+ SaveLogs prev {from .prev suffix}