Repository navigation
FA Commands
زبان: 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 |
نسخه را نشان میدهد |
هرچه کاربر تازهکار لازم دارد میسازد و پیش از دو تغییر در سیستم میپرسد:
- فایل
~/.config/pulsecheck/pulsecheck.ymlرا از روی نمونهی داخلی میسازد. فایل وضعیت زیر~/.local/state/pulsecheck/میرود. تنظیمات موجود بدون--forceدستنخورده میماند. - فایل
~/.config/pulsecheck/.envرا با دسترسی ۶۰۰ میسازد و برای هر${VAR}که تنظیمات به کار برده یک خط خالی میگذارد. -
shoutrrr: اگر Docker کار کند پیشنهاد میدهد image را بکشد، وگرنه پیشنهاد میدهد فایل اجرایی را (با بررسی checksum) در
~/.local/binدانلود کند. -
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) نیاز دارد.
فایل ~/.config/pulsecheck/.env را با $VISUAL، $EDITOR یا یکی از nano/vim/vi باز میکند و اگر وجود نداشته باشد اول میسازدش. بعد از بستن ویرایشگر، متغیرهایی را که تنظیمات لازم دارد و هنوز خالیاند فهرست میکند. pulsecheck env --path فقط مسیر فایل را چاپ میکند. cron job هم همین فایل را میخواند، پس لازم نیست رمزها را داخل crontab بنویسید.
فایل تنظیم را میخواند (کلید ناشناخته و مقدار نادرست خطا حساب میشود)، خلاصهای چاپ میکند، اگر هیچ آدرس هشداری نباشد هشدار میدهد و از shoutrrr میخواهد هر آدرس را تأیید کند (--no-verify این مرحله را رد میکند). رمزها هرگز چاپ نمیشوند؛ کانالها به شکل telegram://*** نشان داده میشوند.
پیام test را یکبار به هر آدرس هشدار سراسری و هر آدرس notify سطح سایت میفرستد، و اگر OpenTelemetry تنظیم شده باشد به endpoint آن هم. برای هر کانال sent یا FAILED همراه با دلیل چاپ میشود و اگر حتی یکی خطا بدهد، کد خروج ۱ است.
تشخیص میدهد pulsecheck چطور نصب شده و ارتقای مناسب را اجرا میکند: uv tool upgrade pulsecheckcli، pipx upgrade pulsecheckcli، git pull برای clone گیت، یا pip install --upgrade pulsecheckcli. دستور را پیش از اجرا چاپ میکند.
uv tool install pulsecheckcli (یا pipx install pulsecheckcli) و بعد pulsecheck init. پروژهی PyPI اسمش pulsecheckcli است و دستور همچنان pulsecheck (یا pck) است. نسخهها از گیتهاب و با PyPI Trusted Publisher منتشر میشوند، یعنی هیچ توکنی جایی ذخیره نمیشود.