A flexible monitoring system for backup checks.
- Clone this repository:
git clone https://github.com/hzheng/checkit.git cd checkit
- Install dependencies using Poetry:
poetry install
Run the Checkit command:
poetry run checkit
- By default,
APP_HOME
is set to$HOME/.checkit
.- You can customize this with:
checkit -a my_checkit_home
- You can customize this with:
- 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
- Set
- Copy the sample configuration file:
cp config/backup_schedules.json.sample $APP_HOME/backup_schedules.json
- Edit
$APP_HOME/backup_schedules.json
to set up your backup schedules.- Use Jenkins-style cron syntax for scheduling.
To set up automated daily checks:
-
Copy the run script:
cp scripts/run_checkit.sh ~/scripts/run_checkit.sh chmod +x ~/scripts/run_checkit.sh
-
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
- Replace all instances of
-
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 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.