timer(8gx)
β¨ timer(8gx) β¨
Okay so bestie, this is from the Gromox admin reference and it's literally all about the timer daemon. Buckle up, we're scheduling commands like it's nobody's business. π
πΈ NAME πΈ
timer β the deferred command executor. It's giving "I'll do it later" but make it Unix. β¨
π SYNOPSIS π
timer [-c config]
That's it. That's the whole vibe. Simple, iconic, periodt.
π¦ DESCRIPTION π¦
The timer daemon is used to schedule commands to be executed once, at a particular time in the future. It's similar to the at(1) command and its associated daemon, atd. Like, same energy, different font. π
timer(8gx) generally receives commands from timer_agent(4gx). So it's not out here taking orders from just anyone β it's got a whole agent situation. No cap.
π OPTIONS π
-c configβ Read configuration directives from the given file. If you don't specify this option, it'll read/etc/gromox/gromox.cfgand/etc/gromox/timer.cfg. Default behavior, slay. β¨--versionβ Output version information and exit. Like, "hey bestie, what version am I?" and then it dips. π-?β Display option summary. Your quick lil cheat sheet. π
All time-based command-line options and configuration file directives are subject to the syntax described in gromox(7), section "Duration specifications". So like, if you're confused about time formats, go read that. Iykyk. β°
π FILES π
/var/lib/gromox/timer.txtβ This file is used to save the state oftimer(8gx)and persist them across restarts. So when the service goes down and comes back, it's like "oh hey, I remember you." Main character memory energy. π§ β¨
π CONFIGURATION DIRECTIVES π
The usual config file location is /etc/gromox/timer.cfg. That's where the magic happens.
running_identityβ An unprivileged user account to switch the process to after startup. To inhibit the switch, assign the empty value. Default:gromox. So like, it drops privileges after startup, but you can turn that off if you're feeling risky. πtimer_hosts_allowβ A space-separated list of individual IPv6 or v4-mapped IPv6 host addresses that are allowed to converse with the timer service. No networks and no CIDR notations are permitted. So don't try to sneak in a subnet, bestie. It's not gonna work. Default:::1. π«timer_listen_ipβ An IPv6 address (or v4-mapped address) for exposing the timer service on. Default:::1. That's localhost energy unless you change it. πtimer_listen_portβ The TCP port number for exposing the timer service on. Default:6666. That's the port, no cap. π’timer_log_fileβ Target for log messages here. Special values:"-"(stderr/syslog depending on parent PID) or"syslog"are recognized. Default:-(auto). So it figures out where to log like a smart lil thing. πtimer_log_levelβ Maximum verbosity of logging.1=crit,2=error,3=warn,4=notice,5=info,6=debug. Default:4(notice). So it's not out here spamming debug logs unless you ask. π€«timer_state_pathβ Default:/var/lib/gromox/timer.txt. Same file as in FILES, just chillin' here too. ποΈtimer_threads_numβ The minimum number of client processing threads to keep around. Default:50. Fifty threads ready to go, like a squad. π―ββοΈ
π TIMER PROTOCOL π
The timer service is exposed as a line-based text protocol. Upon connection, the event server gratitiously writes "OK", following which the server will wait for timer commands, and execute them synchronously. So it's like "hey bestie, I'm here" and then it waits for your orders. Respectful. π«Ά
The command "ADD <seconds> <command>" installs a new timer for the given command to be executed in that many seconds from now. The server will respond with "FALSE 2", "FALSE 3", or respond with the timer ID as "TRUE <id>". So you get either a big fat no or a yes with an ID. Iconic. π₯
The command "CANCEL <id>" revokes the timer with the chosen ID. So you can be like "actually never mind" and it respects that. Boundaries, bestie. β
π SEE ALSO π
Go read those for the full lore. π
Okay so that's the whole manual, and it's giving organized, it's giving informative, it's giving slay. This page comes from Gromox and it's the timer(8gx) manual β no specific date on the footer but you know it's current. Stay scheduled, bestie! πβ¨
π¦ where this page comes from
- alpine 3.24: grommunio-gromox-doc 3.6-r0 Β· AGPL-3.0-or-later
- π the page's license: CC-BY-SA-4.0 or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms