backup

  • Delete Elasticsearch indices older than 30 days

  • Backups that are restored on a schedule

    A backup job exiting zero proves the job ran. Truncated dumps, a mysqldump that hit a lock and gave up, and an archive of an empty directory all…

  • Centralised logging that answers a question

    Four servers, eleven log files, and an incident reconstructed from three of them. Shipping first and parsing second, structured events, and the correlation id that makes it useful.

  • Schema changes that do not need a maintenance window

    An ALTER on a 40 million row table held a metadata lock behind every query. Expand, migrate, contract turns one blocking release into three safe ones.

  • GTID makes a failover survivable

    With binary log file-and-position replication, promoting a replica means finding the equivalent coordinate on every other replica by hand, at the moment nobody wants to be doing arithmetic.…

  • Index lifecycle before the disk fills, not after

    Daily indices grow linearly and nothing removes them, so a logging cluster works beautifully for four months and then stops accepting writes with a disk watermark error at…

  • Copy a file out of a running container

  • A deployment pipeline that runs the tests first

    Deploying by rsync on a Friday afternoon, and what replaced it: lint, test, build, stage, promote — with a rollback that is the same mechanism rather than a…

  • RDB and AOF answer different questions

    Redis has two persistence mechanisms and the documentation presents them as a choice, which invites picking one. They fail differently, and on anything that matters both are usually…

  • Certificates that renew themselves

    Free certificates went GA this month. Automating issuance and renewal, the rate limits that catch staging first, and the monitoring that has to outlive the automation.