Skip to content
hellocron.com

Klient shell

Dołączony klient hellocron.sh opakowuje wywołania API, żebyś nie pisał curli ręcznie. Źródło skryptu żyje w publicznym repozytorium hellocron/cli na GitHubie - możesz je audytować, zostawić gwiazdkę albo zgłosić issue.

Instalacja

Pobierz najnowszego klienta i dodaj do PATH:

Okno terminala
curl -fsSL https://hellocron.com/hellocron.sh -o /usr/local/bin/hellocron
chmod +x /usr/local/bin/hellocron

Opcjonalnie: zweryfikuj pobrany plik z opublikowaną sumą kontrolną.

Okno terminala
curl -fsSL https://hellocron.com/hellocron.sh.sha256
sha256sum /usr/local/bin/hellocron

Skonfiguruj raz, podając klucz ingest utworzony w panelu w Ustawieniach i kluczach API:

Okno terminala
hellocron configure # pyta wyłącznie o klucz
hellocron configure --api-key ck_xxx # albo ustaw bez pytania

Zapisuje to ~/.hellocron.conf z uprawnieniami 600:

api_key=ck_your_ingest_key
telemetry_enabled=true
default_project=

Adres API jest zaszyty w kliencie, więc nie ma go w konfiguracji. Przestawiaj go tylko przy instalacji self-hosted albo na staging: hellocron configure --advanced albo linia api_url= w pliku konfiguracyjnym.

Stary format JSON w ~/.hellocron-config.json jest nadal czytany, gdy nie ma pliku .hellocron.conf.

Każdy ping raportuje maszynę, z której przyszedł. W kontenerze, gdzie hostname to losowy hex, przypnij go wpisem hostname= w pliku konfiguracyjnym albo zmienną HELLOCRON_HOSTNAME.

Wersja i aktualizacje

Adres pobierania zawsze serwuje najnowszego klienta. Aktualizacja jest na żądanie, nie automatyczna.

Okno terminala
hellocron version # zainstalowana wersja i data
hellocron update --check # sprawdź czy jest nowsza wersja
hellocron update # pobierz, zweryfikuj sumę, podmień (zostawia .bak)

update pobiera z tego samego adresu, weryfikuje sumę SHA-256, sprawdza składnię, robi kopię obecnego pliku jako .bak, po czym go podmienia. Wymaga curl, sha256sum i bash, aktualizuje tylko przez HTTPS.

Historia wersji: historia wersji klienta.

Użycie

Okno terminala
hellocron ping <monitor-name> <status> [options]
hellocron run <monitor-name> <command...>
hellocron discover # zaproponuj monitory dla zadań z crontaba
hellocron discover-server-apps # wykryj usługi i utwórz monitory kondycji serwera

discover-server-apps potrzebuje klucza zarządzania (hellocron configure --management-key) i jest opisana w przewodniku Preset kondycja serwera.

Statusy

Okno terminala
hellocron ping my-job run
hellocron ping my-job complete
hellocron ping my-job fail
hellocron ping my-job skip

Opcje

FlagaOpis
--tags <a,b>Tagi rozdzielone przecinkami
--project <nazwa>Projekt, do którego należy zadanie
--timeout <sekundy>Oczekiwany maksymalny czas pracy, wysyłany ze stanem run
[wiadomość]Tekst po stanie staje się wiadomością (np. treść błędu)

ping wysyła jeden stan i nic więcej. Czas trwania, kod wyjścia i przechwycone błędy pochodzą z run, które opakowuje komendę i wysyła oba pingi za Ciebie:

Okno terminala
hellocron run db-backup --tags nightly pg_dump mydb > /tmp/backup.sql

Przykład z osobnymi pingami

Okno terminala
hellocron ping db-backup run
pg_dump mydb > /tmp/backup.sql
EXIT=$?
if [ $EXIT -eq 0 ]; then
hellocron ping db-backup complete
else
hellocron ping db-backup fail "pg_dump zakończył się kodem $EXIT"
fi
exit $EXIT

Sprawdzenie konfiguracji

Uruchom doctor, aby zweryfikować, czy wszystko jest poprawnie ustawione:

Okno terminala
hellocron doctor # sprawdza config, adres API, klucz, łączność
hellocron doctor --ping # dodatkowo wysyła prawdziwy testowy ping (stan: skip)

Sprawdzane są: dostępność narzędzia HTTP (curl/wget), plik konfiguracyjny i jego uprawnienia, adres API i klucz, katalog tymczasowy, osiągalność API (/health) oraz dostęp do crontaba. Kod wyjścia: 0 gdy wszystko OK, 1 gdy są problemy.

Użycie w Dockerze

Zamontuj skrypt i config do kontenera:

volumes:
- ./client/hellocron.sh:/usr/local/bin/hellocron:ro
- ./client/.hellocron.conf:/root/.hellocron.conf:ro