Day 028 / Frappe / Backup Operations

Backup Freshness Checker

View source ↗Scroll to explore ↓
Backup Freshness Checker project cover
/ Overview

A dependency-free Python CLI that evaluates sanitized backup timestamps against explicit freshness limits without opening archives or connecting to a live site.

NameBackup Freshness Checker

ClientIndependent daily build

IndustriesDeveloper and operations tooling

DateDay 028 · September 27, 2026

/ Challenge

A backup job can appear configured while its latest usable timestamp is already too old, absent or incorrectly dated in the future. Reviewing mixed timestamps manually also invites timezone mistakes.

/ Provided services

Clear thinking.
Practical delivery.

01

Freshness evaluation

Compares each supplied backup timestamp with an explicit per-site age limit using a reproducible reference time.

02

Honest classifications

Separates stale, missing and future-dated metadata instead of collapsing every problem into one generic failure.

03

Read-only reporting

Produces deterministic text or JSON while keeping archives, credentials, databases and backup schedules out of scope.

Backup Freshness Checker feature visual
/ Solution

Backup Freshness Checker validates a bounded JSON list, normalizes timezone-aware timestamps to UTC, compares each age with its explicit limit and reports fresh, stale, missing or future status. It reads supplied metadata only and never discovers, opens, restores, deletes or changes a backup.

/ Impact

Four explicit freshness states

Timezone-aware age calculation

Per-site age limits

Bounded allowlisted JSON input

No archive or live-site access

Eleven passing standard-library tests

/ Tech stack

Python standard library

Argparse, dataclasses, datetime, pathlib and JSON provide the complete dependency-free command-line workflow.

Backup operations

Models explicit freshness policies and timezone-aware timestamps without claiming that age alone proves restore integrity.

Unittest

Eleven tests cover boundaries, stale, missing and future states, clock skew, validation, sorting and the non-mutating notice.

Next project

Stock Reorder Calculator

View case study ↗