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:
curl -fsSL https://hellocron.com/hellocron.sh -o /usr/local/bin/hellocronchmod +x /usr/local/bin/hellocronOpcjonalnie: zweryfikuj pobrany plik z opublikowaną sumą kontrolną.
curl -fsSL https://hellocron.com/hellocron.sh.sha256sha256sum /usr/local/bin/hellocronSkonfiguruj raz, podając klucz ingest utworzony w panelu w Ustawieniach i kluczach API:
hellocron configure # pyta wyłącznie o kluczhellocron configure --api-key ck_xxx # albo ustaw bez pytaniaZapisuje to ~/.hellocron.conf z uprawnieniami 600:
api_key=ck_your_ingest_keytelemetry_enabled=truedefault_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.
hellocron version # zainstalowana wersja i datahellocron update --check # sprawdź czy jest nowsza wersjahellocron 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
hellocron ping <monitor-name> <status> [options]hellocron run <monitor-name> <command...>hellocron discover # zaproponuj monitory dla zadań z crontabahellocron discover-server-apps # wykryj usługi i utwórz monitory kondycji serweradiscover-server-apps potrzebuje klucza zarządzania (hellocron configure --management-key) i jest opisana w przewodniku Preset kondycja serwera.
Statusy
hellocron ping my-job runhellocron ping my-job completehellocron ping my-job failhellocron ping my-job skipOpcje
| Flaga | Opis |
|---|---|
--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:
hellocron run db-backup --tags nightly pg_dump mydb > /tmp/backup.sqlPrzykład z osobnymi pingami
hellocron ping db-backup run
pg_dump mydb > /tmp/backup.sqlEXIT=$?
if [ $EXIT -eq 0 ]; then hellocron ping db-backup completeelse hellocron ping db-backup fail "pg_dump zakończył się kodem $EXIT"fiexit $EXITSprawdzenie konfiguracji
Uruchom doctor, aby zweryfikować, czy wszystko jest poprawnie ustawione:
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