SShortSingh.
Back to feed

How to Schedule Tasks on Linux Using Systemd Timers Instead of Cron

0
·1 views

Modern Linux distributions running systemd offer a native alternative to cron for scheduling recurring tasks such as backups and log cleanup: Systemd Timers. A timer unit (.timer) and a matching service unit (.service) must share the same base filename and be placed in /lib/systemd/system/ for systemd to link them automatically. Key advantages over cron include native integration with journalctl for easier log monitoring and a Persistent=true option that runs missed tasks after a system restart. Once both unit files are created, running systemctl daemon-reload followed by systemctl enable --now activates the timer immediately. Administrators can verify scheduling with systemctl list-timers --all and monitor live execution logs using journalctl -f --system.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingDEV Community ·

Why Most Startups Should Avoid Complex Infrastructure and Right-Size Their APIs

A software engineer argues that startups routinely over-engineer their infrastructure by adopting Kubernetes and complex setups long before user scale demands it. In one real-world case, migrating a project from a costly Kubernetes cluster to AWS Lambda, SQS, and App Runner cut monthly infrastructure costs from thousands of dollars to roughly $50. The post breaks down serverless platform limits, showing that AWS Lambda can theoretically handle up to 8.6 billion requests per month, well beyond what most early-stage startups require. The author recommends using managed containers for user-facing APIs and reserving serverless functions for event-driven or bursty workloads like webhooks and scheduled jobs. The central advice is to treat scaling as an 'earned problem' — only invest in complex infrastructure once actual traffic demands it, not in anticipation of hypothetical growth.

0
ProgrammingDEV Community ·

How a 'Dead-Man's Switch' Catches Silent Cron Job Failures Before Data Rots

A solo developer running multiple production systems discovered a critical blind spot when a scheduled curation job silently stopped running, leaving stale data served undetected for days. Unlike loud failures that trigger error alerts, the job produced no exceptions or log warnings, and all downstream health checks remained green. The developer's fix involved a two-part dead-man's switch: the job writes a timestamp only on verified success, and a separate watcher on an independent runtime alerts if that stamp grows too old. Crucially, the watcher runs in a different failure domain so it can catch the job's silence even if the job itself is completely dead. The threshold for triggering an alert must be tuned to the content's natural update rhythm rather than the job's schedule, to prevent alert fatigue from rendering the safeguard useless.

0
ProgrammingDEV Community ·

Developer Fixes Auto-Publish Pipeline That Posted a Two-Year-Old Story as Breaking News

A solo developer running a fully automated content pipeline built on Cloudflare Workers and D1 discovered in July that the system had published a two-year-old news story as if it were current. The error occurred because an aggregator resurfaced the old article with a fresh feed timestamp, and two existing safeguards — a recency check and an LLM scoring judge — both passed it through, each blind to the staleness in different ways. The recency check only applied to product items, not news, while the LLM judge scored the story highly because its rubric never asked whether the content was current. After a routine quality check caught the mistake within days, the developer replaced a planned single-line fix with a three-layer solution: widening the deterministic date check to all content types, adding a currency criterion to the LLM rubric, and extracting the actual event date from article text to cross-check against feed metadata. The incident highlighted how automated pipelines inherit only the failure modes their builders have already imagined, making layered, overlapping safeguards more reliable than any single guard.

0
ProgrammingDEV Community ·

84% of Devs Use AI Coding Tools, but Confidence Scores Often Go Unverified

A developer building a debugging tool called DebugAI has highlighted a critical flaw in how AI coding assistants present confidence scores: the numbers are self-generated estimates from the model itself, with no mechanical checks behind them. Stack Overflow's 2025 Developer Survey found that 45% of developers say debugging AI-written code takes longer than expected, and 66% cite 'almost right' answers as their top frustration. To address this, DebugAI introduces a three-state 'verified' field — true, false, or null — so users can distinguish between fixes that passed a mechanical check, failed one, or were never checked at all. Currently, the tool runs syntax and import checks for Python and JavaScript, deliberately returning null rather than a false confidence signal when a check is out of scope or times out. The core principle is that collapsing 'not checked' and 'checked and passed' into the same visual output is how tools mislead users without any deliberate intent to do so.

How to Schedule Tasks on Linux Using Systemd Timers Instead of Cron · ShortSingh