Code Monkey home page Code Monkey logo

checkit's Introduction

Checkit

A flexible monitoring system for backup checks.

Table of Contents

Installation

  1. Clone this repository:
    git clone https://github.com/hzheng/checkit.git
    cd checkit
    
  2. Install dependencies using Poetry:
    poetry install
    

Usage

Run the Checkit command:

poetry run checkit

Notes:

  • By default, APP_HOME is set to $HOME/.checkit.
    • You can customize this with: checkit -a my_checkit_home
  • Missing backup messages are sent to Todoist.
    • Set TODOIST_API_KEY in your environment, or
    • Pass it as an argument: checkit -k my_todoist_api_key

Configuration

  1. Copy the sample configuration file:
    cp config/backup_schedules.json.sample $APP_HOME/backup_schedules.json
    
  2. Edit $APP_HOME/backup_schedules.json to set up your backup schedules.
    • Use Jenkins-style cron syntax for scheduling.

Automated Daily Checks (macOS)

To set up automated daily checks:

  1. Copy the run script:

    cp scripts/run_checkit.sh ~/scripts/run_checkit.sh
    chmod +x ~/scripts/run_checkit.sh
    
  2. Copy and edit the launchd plist:

    cp scripts/checkit.plist.sample ~/Library/LaunchAgents/com.USERNAME.checkit.plist
    
    • Replace all instances of /Users/USERNAME with your home directory path
    • Replace USERNAME in the label with your macOS username
    • Replace TODOIST_API_KEY with your Todoist API key
    • Replace DATA_BAK with your root backup directory
  3. Load the launch agent:

    launchctl load ~/Library/LaunchAgents/com.USERNAME.checkit.plist
    

This will run Checkit daily at 11 PM. To change the schedule, adjust the StartCalendarInterval in the plist file.

Logs

Logs are stored in $APP_HOME/logs/backup_check.log.


For more detailed information or troubleshooting, please refer to the documentation or open an issue on the GitHub repository.

checkit's People

Contributors

hzheng avatar

Watchers

 avatar

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.