Exercise 2: Why the Two-Unit Pattern Makes Testing Genuinely Easier — Possible Solution ==================================================================== Explanation: Per this chapter's own opening point, the .timer/.service split is "a deliberate design decision distinct from cron" specifically because it separates "the what" (a real, independently-runnable systemd service) from "the when" (the timer). The direct consequence: the underlying task itself -- backup.service in the chapter's own example -- is a genuine, standalone systemd unit that can be run directly, on demand, at any moment, with a simple systemctl start backup.service, completely independent of whatever schedule the paired backup.timer defines. A traditional crontab entry has no equivalent standalone unit to test this way -- the scheduled command IS the crontab line itself, with no separate, independently-invokable representation of "just the task, please, right now." Testing a cron job typically means either waiting for its actual scheduled time to arrive, or manually copy-pasting the command out of the crontab and running it by hand in a way that may not exactly replicate cron's own execution environment (its own PATH, working directory, and environment variables often differ subtly from an interactive shell). With systemd's own approach, running systemctl start backup.service executes the EXACT SAME unit, in the EXACT SAME way, that the timer itself would eventually trigger -- there's no risk of a testing discrepancy between "what I ran by hand to test it" and "what actually runs on schedule," because they're genuinely the same operation, just invoked two different ways (manually via systemctl start, or automatically via the timer). WHY THIS WORKS AS AN ANSWER ------------------------------ This explains specifically why the systemd approach avoids the testing-environment discrepancy risk inherent in manually replicating a cron job's own execution context, directly grounding the explanation in the chapter's own stated design rationale for splitting timer and service into two units.