🤖HermesBlog
Hermes Feature Guides · Parte 168/9/2026

Cron Job Khusus Skrip: Otomatisasi Tanpa Menghabiskan Token

Script-Only Cron Jobs — easy-to-understand guide based on official docs

guide-cron-script-only

Cron Job Khusus Skrip: Otomatisasi Tanpa Menghabiskan Token

Kalau kamu sudah bermain-main dengan cron job Hermes, kamu pasti tahu seberapa canggih fitur ini. Tapi ada satu pertanyaan: bagaimana kalau kamu tidak butuh LLM untuk berpikir—kamu cuma butuh sesuatu yang berjalan sesuai jadwal dan memberi tahu kamu apa yang terjadi?

Di sinilah cron job khusus skrip berperan. Anggap saja ini sebagai lapisan otomatisasi tanpa basa-basi: penjadwal yang sama, pengiriman yang sama, nol token LLM yang terpakai.

Kapan Harus Menggunakan Cron Job Khusus Skrip?

Cron job khusus skrip paling berguna ketika skripnya sendiri sudah menghasilkan pesan persis seperti yang kamu ingin lihat. Tidak perlu penalaran, tidak perlu ringkasan. Hanya output murni yang deterministik.

Berikut kasus penggunaan klasiknya:

  • Peringatan memori – skripmu memeriksa penggunaan RAM dan mengeluarkan output “Memori di 92%”
  • Peringatan kapasitas disk – idenya sama, metriknya beda
  • Heartbeat – layananmu masih hidup, ini buktinya
  • Pemantauan apa pun yang skripnya sudah tahu jawabannya – kalau rusak, bilang saja; kalau aman, diam saja

Keunggulannya? Kamu mendapatkan keandalan skrip dengan kekuatan pengiriman Hermes. Tanpa biaya token, tanpa latensi, tanpa penundaan “biar aku pikirkan dulu”.

Cara Membuatnya

Cara termudah? Cukup minta Hermes di chat. Tool cronjob cukup pintar untuk tahu kapan harus menggunakan no_agent=True. Dia akan menuliskan skripnya untukmu dan mengatur semuanya.

Tapi kalau kamu mau melakukannya manual, ini polanya:

/cron add "setiap 1 jam" "Prompt ini tidak akan dipakai" --script ~/.hermes/scripts/my-check.py --name "Monitor saya" --deliver telegram

Tunggu, prompt itu kelihatan aneh. Biar aku jelaskan.

Skripnya yang Berbicara

Dengan cron job khusus skrip, stdout dari skrip menjadi pesannya. Tidak ada LLM di tengah-tengah. Jadi skripmu perlu mengeluarkan output persis seperti yang kamu ingin kirimkan.

Ini contoh sederhananya:

#!/usr/bin/env python3
import shutil

total, used, free = shutil.disk_usage("/")
percent = used / total * 100

if percent > 90:
    print(f"⚠️ Disk di {percent:.1f}% — bersihkan sekarang!")
else:
    print("[SILENT]")

Lihat [SILENT] di bagian akhir? Itulah penanda diam yang ajaib. Ketika Hermes melihat [SILENT] di output, dia tidak mengirim apa pun. Skripmu yang memutuskan hal apa yang layak mengganggumu.

Trik [SILENT]

Ini fitur andalan untuk skrip pemantauan. Alih-alih mendapat notifikasi setiap jam dengan “semua baik-baik saja,” kamu hanya mendengar kabar dari Hermes ketika ada sesuatu yang benar-benar perlu perhatian.

Logika skripmu:

  • Ada masalah? Cetak pesan peringatan
  • Semua aman? Cetak [SILENT]

Hermes yang mengurus sisanya. Tidak ada notifikasi di jam-jam sepi, tidak ada kelelahan notifikasi, tidak ada “kenapa HP-ku bergetar jam 3 pagi untuk server yang sehat?”

Khusus Skrip vs. hermes send

Ada opsi nol-token lain yang perlu kamu tahu: hermes send. Gunakan ini ketika kamu punya skrip yang sudah berjalan di suatu tempat—langkah CI, hook post-commit, skrip deploy—dan kamu cuma ingin mengalirkan outputnya ke Telegram atau Discord.

./my-deploy-script.sh | hermes send --channel telegram

Bedanya? Cron job khusus skrip untuk pemeriksaan berulang dan terjadwal. hermes send untuk momen sekali jalan ketika skripmu memutuskan sudah waktunya bicara.

Contoh Dunia Nyata: Monitor Perubahan Website

Mari kita rangkai semuanya. Ini skrip yang memantau halaman web dan hanya angkat bicara ketika ada yang berubah:

import hashlib, json, os, urllib.request

URL = "https://example.com/pricing"
STATE_FILE = os.path.expanduser("~/.hermes/scripts/.watch-state.json")

content = urllib.request.urlopen(URL, timeout=30).read().decode()
current_hash = hashlib.sha256(content.encode()).hexdigest()

prev_hash = None
if os.path.exists(STATE_FILE):
    with open(STATE_FILE) as f:
        prev_hash = json.load(f).get("hash")

with open(STATE_FILE, "w") as f:
    json.dump({"hash": current_hash}, f)

if prev_hash and prev_hash != current_hash:
    print(f"PERUBAHAN TERDETEKSI di {URL}")
    print(f"Hash sebelumnya: {prev_hash}")
    print(f"Hash saat ini: {current_hash}")
    print(f"\n2000 karakter pertama:\n{content[:2000]}")
else:
    print("[SILENT]")

Atur dengan:

/cron add "setiap 1 jam" "tidak dipakai" --script ~/.hermes/scripts/watch-site.py --name "Monitor harga" --deliver telegram

Skripnya mengambil halaman, membandingkan hash, dan hanya bicara ketika ada yang berbeda. Tanpa token LLM, tanpa kebisingan, murni otomatisasi.

Kesimpulannya

Cron job khusus skrip adalah kuda kerja otomatisasi nol-tokenmu. Ini sempurna untuk:

  • Pemeriksaan deterministik di mana jawabannya biner
  • Pemantauan frekuensi tinggi di mana biaya LLM akan menumpuk
  • Apa pun yang kamu lebih percaya penilaian skripnya daripada interpretasi LLM

Dan bagian terbaiknya? Kamu tidak harus memilih antara khusus skrip atau bertenaga LLM. Campur keduanya dalam alur kerja yang sama. Gunakan skrip untuk pemeriksaan mekanis, dan biarkan LLM menangani hal-hal menarik—seperti merangkum mengapa perubahan website itu penting.

Mau lebih dalam? Lihat dokumentasi cron lengkap atau tutorial bot briefing harian untuk melihat sisi bertenaga LLM.

📖 Dokumentasi resmi

この記事は Hermes Agent のDokumentasi resmiに基づいています:Dokumentasi resmi › guides/automate-with-cron