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 przez .hellocron.conf w katalogu home:

api_url=https://api.hellocron.com
api_key=your-hellocron-api-key

Starszy config JSON (.hellocron-config.json) jest nadal odczytywany dla zachowania kompatybilności.

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]

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
--duration <seconds>Czas trwania joba
--exit-code <int>Exit code procesu
--host <hostname>Nadpisz hostname
--message <text>Wiadomość logu

Przykład

Okno terminala
hellocron ping db-backup run
pg_dump mydb > /tmp/backup.sql
EXIT=$?
hellocron ping db-backup $([ $EXIT -eq 0 ] && echo complete || echo fail) \
--exit-code $EXIT \
--duration $SECONDS

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