119 lines
2.5 KiB
Markdown
119 lines
2.5 KiB
Markdown
# Polymarket Documentation - Daily Sync Cron Job
|
|
|
|
## Overview
|
|
This cron job checks for updates to the Polymarket documentation and pushes any changes to the GitHub repository daily.
|
|
|
|
## Schedule
|
|
- **Time:** Every day at 06:00 UTC (adjust to your preference)
|
|
- **Frequency:** Daily
|
|
|
|
## Instructions
|
|
|
|
### 1. Check for Updates
|
|
```bash
|
|
# Navigate to the repository
|
|
cd /home/himalaya/clawd/PolymarketDocumentation
|
|
|
|
# Fetch latest from remote
|
|
git fetch origin
|
|
|
|
# Check for changes
|
|
git status
|
|
|
|
# If there are changes in TARGET.md, re-run the scrape
|
|
if [ -n "$(git diff origin/main -- TARGET.md)" ]; then
|
|
echo "TARGET.md changed - re-scraping..."
|
|
./scrape.sh
|
|
fi
|
|
```
|
|
|
|
### 2. Add and Commit Changes
|
|
```bash
|
|
# Add all new/modified files
|
|
git add -A
|
|
|
|
# Check if there are changes to commit
|
|
if [ -n "$(git status --porcelain)" ]; then
|
|
git commit -m "Update Polymarket documentation - $(date -u +%Y-%m-%d)"
|
|
else
|
|
echo "No changes to commit"
|
|
exit 0
|
|
fi
|
|
```
|
|
|
|
### 3. Push Changes
|
|
```bash
|
|
git push origin main
|
|
```
|
|
|
|
## Complete Cron Script
|
|
|
|
Save this as `daily-sync.sh` and run via cron:
|
|
|
|
```bash
|
|
#!/bin/bash
|
|
# Polymarket Documentation Daily Sync
|
|
# Runs daily to check for doc updates and push changes
|
|
|
|
set -e
|
|
|
|
REPO_DIR="/home/himalaya/clawd/PolymarketDocumentation"
|
|
cd "$REPO_DIR"
|
|
|
|
echo "=== $(date -u) Starting daily sync ==="
|
|
|
|
# Fetch latest
|
|
git fetch origin
|
|
|
|
# Check if TARGET.md changed
|
|
if ! git diff --quiet origin/main -- TARGET.md; then
|
|
echo "TARGET.md changed - re-scraping..."
|
|
./scrape.sh
|
|
fi
|
|
|
|
# Stage all changes
|
|
git add -A
|
|
|
|
# Check if there are changes to commit
|
|
if [ -n "$(git status --porcelain)" ]; then
|
|
echo "Committing changes..."
|
|
git commit -m "Update Polymarket documentation - $(date -u +%Y-%m-%d)"
|
|
|
|
echo "Pushing to GitHub..."
|
|
git push origin main
|
|
|
|
echo "=== Sync complete ==="
|
|
else
|
|
echo "No changes to commit"
|
|
fi
|
|
```
|
|
|
|
## Cron Setup
|
|
|
|
Add to crontab:
|
|
```bash
|
|
# Daily at 06:00 UTC
|
|
0 6 * * * /home/himalaya/clawd/PolymarketDocumentation/daily-sync.sh >> /home/himalaya/clawd/PolymarketDocumentation/sync.log 2>&1
|
|
```
|
|
|
|
Or use OpenClaw cron:
|
|
```bash
|
|
openclaw cron add --schedule "0 6 * * *" --payload "systemEvent" --text "Run Polymarket docs daily sync" --sessionTarget "main"
|
|
```
|
|
|
|
## Log File
|
|
Logs are written to: `sync.log`
|
|
|
|
## Manual Run
|
|
To run manually:
|
|
```bash
|
|
cd /home/himalaya/clawd/PolymarketDocumentation
|
|
./daily-sync.sh
|
|
```
|
|
|
|
## Notes
|
|
- The scrape script fetches all URLs listed in TARGET.md
|
|
- Only commits if there are actual changes
|
|
- Skips commit if docs haven't changed
|
|
- Safe to run multiple times per day if needed
|