Git Product home page Git Product logo

acts's Introduction

ACTS 1.0

Another Calendar-based Tarsnap Script

Introduction

acts is a minimal shell script that creates backups with Tarsnap. Some design goals:

  • Just backup, no restore.
  • Calendar-based (daily, monthly, yearly) backup schedule
  • Portable, small code footprint.

One Tarsnap archive is created per-target per-run. 31 daily, 12 monthly, and indefinite yearly backups are kept.

Usage

  1. Take acts.conf and customise it for your environment. Put it in /etc.
  2. Run acts daily from cron.

Notes on behaviour:

  • acts creates archives of the form <hostname>-<period>-yyyy-mm-dd_HH:MM:SS-target. If you have existing archives starting with hostname-(daily|monthly|yearly), they will confuse acts, so don't do that.
  • Archives are created using the following logic:
    • If no yearly backup for the current year exists, create a yearly backup.
    • If a yearly backup exists but no monthly backup, create a monthly backup.
    • Otherwise, create a daily backup.
  • Archives are deleted using the following logic:
    • If any backups failed, delete nothing.
    • Keep the most recent 31 daily backups, and delete any older ones.
    • Keep the most recent 12 monthly backups, and delete any older ones.
    • Do not delete any yearly backups.
  • Times in archive names use UTC, not the server's timezone.

TODO

  • Add per-directory excludes handling. (For now, add global excludes in your tarsnap.conf or .tarsnaprc file.)
  • Add some backup period configurability. (For now, you can edit the hardcoded values in the script.)

Help

Email me ([email protected]) or open a Github issue.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.