# Test Scheduled Backup - 1 Minute Setup ## Quick Test Setup (1 Minute Interval) ### Step 1: Open Task Scheduler 1. Press `Win + R` 2. Type `taskschd.msc` 3. Press Enter ### Step 2: Create Test Task 1. Click **"Create Task"** (not Basic Task) 2. **General Tab:** - Name: `Recipe DB Backup TEST` - Description: `Test backup every 1 minute` - Select "Run whether user is logged on or not" - Check "Run with highest privileges" ### Step 3: Set 1-Minute Trigger 1. Go to **Triggers** tab 2. Click "New..." 3. Configure: - Begin the task: `On a schedule` - Settings: `Daily` - Recur every: `1 days` - Start: Set to current time (e.g., if it's 3:00 PM, set to 3:00 PM) - Check "Repeat task every": `1 minute` - For a duration of: `1 hour` - Check "Enabled" 4. Click OK ### Step 4: Set Action 1. Go to **Actions** tab 2. Click "New..." 3. Configure: - Action: `Start a program` - Program/script: Browse to `run_backup.bat` or paste full path: ``` C:\Users\dvirl\OneDrive\Desktop\gitea\my-recipes\backend\run_backup.bat ``` - Start in: ``` C:\Users\dvirl\OneDrive\Desktop\gitea\my-recipes\backend ``` 4. Click OK ### Step 5: Settings 1. Go to **Conditions** tab: - Uncheck "Start the task only if the computer is on AC power" 2. Go to **Settings** tab: - Check "Run task as soon as possible after a scheduled start is missed" - Check "If the task fails, restart every: 1 minutes" - Attempt to restart up to: `3 times` - Check "Stop the task if it runs longer than: 30 minutes" 3. Click OK 4. Enter your Windows password when prompted ### Step 6: Monitor Test Results **Check the backup log:** ```bash cd C:\Users\dvirl\OneDrive\Desktop\gitea\my-recipes\backend type backup.log ``` **Or open in Notepad:** - Navigate to `backend\backup.log` - Should see new entries every minute **Check R2 bucket:** - Login to Cloudflare Dashboard - Go to R2 → my-recipes-db-bkp - Should see new backup files appearing every minute ### Expected Log Output ``` [2025-12-21 15:30:45] Starting backup... [2025-12-21 15:30:47] Creating database dump... [2025-12-21 15:30:49] Compressing file... [2025-12-21 15:30:51] Uploading to R2... [2025-12-21 15:30:53] Backup completed: recipes_db_20251221_153045.sql.gz [2025-12-21 15:30:53] Size: 2.5 MB ``` ### Verify It's Working Wait 2-3 minutes and check: 1. ✅ `backend\backup.log` has multiple entries 2. ✅ R2 bucket has new backup files 3. ✅ Task Scheduler shows "Last Run Result: (0x0)" = Success ### If It Works - Convert to Weekly 1. Open Task Scheduler 2. Find "Recipe DB Backup TEST" 3. Right-click → Properties 4. Go to **Triggers** tab 5. Edit the trigger: - Settings: Change to `Weekly` - Recur every: `1 weeks` - Days: Select `Sunday` (or your preferred day) - Time: `02:00:00` (2 AM) - **Uncheck** "Repeat task every" 6. Click OK 7. **Rename task**: Right-click → Rename → "Recipe DB Weekly Backup" ### Troubleshooting **No backup.log file:** - Task might not be running - Check Task Scheduler History tab - Run `run_backup.bat` manually first **backup.log shows errors:** - Check if Python is in PATH - Verify database credentials in `.env` - Verify R2 credentials in `.env` **Task shows "Could not start":** - Verify the paths are correct - Make sure you entered Windows password - Try "Run" button in Task Scheduler manually **Want to stop test:** - Right-click task → Disable - Or delete the task ### Manual Test First Before setting up Task Scheduler, test manually: ```bash cd C:\Users\dvirl\OneDrive\Desktop\gitea\my-recipes\backend run_backup.bat ``` Check if: 1. backup.log is created 2. Backup appears in R2 3. No errors in log If manual test works, Task Scheduler will work too!