Skip to content

FA Commands

Arian Omrani edited this page Oct 11, 2026 · 4 revisions

دستورها

زبان: English · فارسی

pulsecheck [-c FILE] <command>      # pck همان دستور با اسم کوتاه‌تر است: pck status، pck run و ...

اگر -c ندهید، اول ./pulsecheck.yml و بعد ~/.config/pulsecheck/pulsecheck.yml استفاده می‌شود. فایل .env کنار فایل تنظیم خودکار خوانده می‌شود. متغیری که از قبل در محیط تنظیم شده باشد اولویت دارد و خط خالی KEY= یعنی تنظیم نشده.

دستور کار
pulsecheck help [command] راهنمای کلی یا راهنمای یک دستور (-h هم کار می‌کند)
pulsecheck init راه‌اندازی اولیه روی لینوکس (پایین‌تر توضیح داده شده)
pulsecheck env فایل .env را در ویرایشگر باز می‌کند
pulsecheck validate فایل تنظیم و آدرس‌های هشدار را بررسی می‌کند
pulsecheck test-notify به همه‌ی کانال‌های هشدار پیام آزمایشی می‌فرستد
pulsecheck run سایت‌هایی را که زمان بررسی‌شان رسیده چک می‌کند (--force، --tag، --fail-on-down)
pulsecheck status وضعیت فعلی همه‌ی سایت‌ها (--json، --md، --tag)
pulsecheck report درصد آپتایم و زمان پاسخ (--json، --tag)
pulsecheck update pulsecheck را ارتقا می‌دهد (با --check فقط نسخه‌ها مقایسه می‌شوند)
pulsecheck --version نسخه را نشان می‌دهد

init

هرچه کاربر تازه‌کار لازم دارد می‌سازد و پیش از دو تغییر در سیستم می‌پرسد:

  1. فایل ~/.config/pulsecheck/pulsecheck.yml را از روی نمونه‌ی داخلی می‌سازد. فایل وضعیت زیر ~/.local/state/pulsecheck/ می‌رود. تنظیمات موجود بدون --force دست‌نخورده می‌ماند.
  2. فایل ~/.config/pulsecheck/.env را با دسترسی ۶۰۰ می‌سازد و برای هر ${VAR} که تنظیمات به کار برده یک خط خالی می‌گذارد.
  3. shoutrrr: اگر Docker کار کند پیشنهاد می‌دهد image را بکشد، وگرنه پیشنهاد می‌دهد فایل اجرایی را (با بررسی checksum) در ~/.local/bin دانلود کند.
  4. cron job: به‌طور پیش‌فرض */5 * * * *، داخل یک بلوک علامت‌دار در crontab کاربر و با flock تا دو اجرا روی هم نیفتند. خروجی در ~/.local/state/pulsecheck/run.log ذخیره می‌شود.

گزینه‌ها: -y/--yes (بدون سؤال)، --no-cron، --no-download، --cron "*/10 * * * *"، --force، و --remove-cron که فقط همان بلوکی را که init اضافه کرده پاک می‌کند. اگر init را دوباره اجرا کنید، بلوک قبلی جایگزین می‌شود و بلوک دوم ساخته نمی‌شود. به لینوکس و برنامه‌ی crontab (بسته‌ی cron) نیاز دارد.

env

فایل ~/.config/pulsecheck/.env را با $VISUAL، $EDITOR یا یکی از nano/vim/vi باز می‌کند و اگر وجود نداشته باشد اول می‌سازدش. بعد از بستن ویرایشگر، متغیرهایی را که تنظیمات لازم دارد و هنوز خالی‌اند فهرست می‌کند. pulsecheck env --path فقط مسیر فایل را چاپ می‌کند. cron job هم همین فایل را می‌خواند، پس لازم نیست رمزها را داخل crontab بنویسید.

validate

فایل تنظیم را می‌خواند (کلید ناشناخته و مقدار نادرست خطا حساب می‌شود)، خلاصه‌ای چاپ می‌کند، اگر هیچ آدرس هشداری نباشد هشدار می‌دهد و از shoutrrr می‌خواهد هر آدرس را تأیید کند (--no-verify این مرحله را رد می‌کند). رمزها هرگز چاپ نمی‌شوند؛ کانال‌ها به شکل telegram://*** نشان داده می‌شوند.

test-notify

پیام test را یک‌بار به هر آدرس هشدار سراسری و هر آدرس notify سطح سایت می‌فرستد، و اگر OpenTelemetry تنظیم شده باشد به endpoint آن هم. برای هر کانال sent یا FAILED همراه با دلیل چاپ می‌شود و اگر حتی یکی خطا بدهد، کد خروج ۱ است.

update

تشخیص می‌دهد pulsecheck چطور نصب شده و ارتقای مناسب را اجرا می‌کند: uv tool upgrade pulsecheckcli، pipx upgrade pulsecheckcli، git pull برای clone گیت، یا pip install --upgrade pulsecheckcli. دستور را پیش از اجرا چاپ می‌کند.

نصب از PyPI

uv tool install pulsecheckcli (یا pipx install pulsecheckcli) و بعد pulsecheck init. پروژه‌ی PyPI اسمش pulsecheckcli است و دستور همچنان pulsecheck (یا pck) است. نسخه‌ها از گیت‌هاب و با PyPI Trusted Publisher منتشر می‌شوند، یعنی هیچ توکنی جایی ذخیره نمی‌شود.

Clone this wiki locally