A comprehensive guide to automating media monitoring tasks using the Media Manager GUI on both Windows and Linux systems.
The Media Manager now includes powerful automation features that allow you to schedule the following tasks:
- Generate Media List: Scan directories and create timestamped media lists
- Check for Missing Media: Compare recent lists and identify missing files
- Manage File Retention: Clean up old list files (keep only latest N files)
- Check Windows Filename Compatibility: Detect and report filename issues (does not auto-fix)
- Run Complete Check: Execute all operations in sequence
- Open the GUI and go to the Automation tab
- Enable task automation by checking the checkbox
- Configure individual tasks or enable "Run Complete Check" to run everything
- Set scheduling times using 24-hour format (e.g., 05:30)
- Choose frequency: Daily or Weekly
- Save Automation Settings
- Click "Apply Scheduled Tasks" to create platform-specific scheduled tasks
- Check the Status log for confirmation that tasks were created successfully
- Tasks will run automatically at the specified times
- View logs in the "Logs & Results" tab to see automation results
- Remove scheduled tasks using the "Remove All Scheduled Tasks" button
- Test functionality with the "Test Task Creation" button
Configure each task independently with different times and frequencies:
Generate Media List: Daily at 05:00
Check Missing Media: Daily at 05:30
Manage File Retention: Daily at 06:00
Check Windows Filenames: Weekly at 06:30
Enable "Run Complete Check" to execute all operations in sequence at a single time. This overrides individual task settings and is the most efficient approach.
Complete Check: Daily at 05:00
(Runs all operations: generate → check missing → manage files → detect filename issues)
Note: Filename checking only detects and reports issues - does NOT automatically rename files
- Use 24-hour format:
HH:MM - Examples:
05:30,17:45,23:00 - Invalid:
5:30 AM,5:30pm
- Daily: Runs every day at the specified time
- Weekly: Runs once per week (Sunday on Linux, configurable on Windows)
- Uses
schtaskscommand-line utility - Tasks appear in Windows Task Scheduler as "MediaManager_*"
- Requires administrative privileges for task creation
- Tasks run even when user is not logged in (if configured)
- Uses
crontabto manage cron jobs - Jobs are added with "# MediaManager:" comments for identification
- Runs with the user's permissions
- Requires user to be logged in (unless using system cron)
The "Check Windows Filename Compatibility" task only detects and reports filename issues:
- ✅ Creates reports of files with Windows naming problems
- ✅ Saves reports to
filename_issues/directory - ✅ Logs issue counts in automation output
- ❌ Does NOT automatically rename any files
- ❌ Does NOT modify your media files in any way
To actually fix filename issues:
- Run automation to detect issues automatically
- Review reports in the "Logs & Results" tab
- Use GUI manually: Go to "View & Fix Filename Issues" dialog
- Review suggestions and select which fixes to apply
- Apply selected fixes with user verification
This ensures end user verification before any files are renamed.
Configure email settings in the "Email Configuration" tab to receive notifications when missing media is detected during automated runs.
Set the number of recent files to keep in the "Main Configuration" tab. Older files are automatically deleted during the "Manage File Retention" task.
Automated tasks create organized output directories:
output_directory/
├── media_lists/ # Generated media lists
├── missing_media/ # Missing media reports
├── filename_issues/ # Windows filename compatibility reports
└── (legacy files) # Old format files (root level)
The GUI can also be run in headless mode for direct automation:
# Individual operations
python media_manager_gui.py --automated-generate-media-list
python media_manager_gui.py --automated-check-missing-media
python media_manager_gui.py --automated-manage-file-retention
python media_manager_gui.py --automated-check-windows-filenames
# Complete check
python media_manager_gui.py --automated-complete-check
# Test automation
python media_manager_gui.py --automated-test- Windows: Ensure you have administrative privileges
- Linux: Verify
crontabis installed and accessible - Both: Check that Python and script paths are correct
- Configure scan directories in the "Main Configuration" tab first
- Save the configuration before applying automation
- Configure email settings in the "Email Configuration" tab
- For Gmail: use app passwords, not regular passwords
- Test email configuration manually first
- Windows: Check Windows Task Scheduler for error messages
- Linux: Check system logs with
journalctl -u crondorgrep CRON /var/log/syslog - Both: Verify the Python executable path is correct
- Use "Test Task Creation" to verify platform compatibility
- Run tasks manually first to ensure they work correctly
- Check Status logs for detailed error messages
- Start with short test intervals (e.g., a few minutes) to verify scheduling works
- Open Task Scheduler (
taskschd.msc) - Look for tasks named "MediaManager_*" in the Task Scheduler Library
- View properties, history, and run status
- View current crontab:
crontab -l - Look for lines containing "# MediaManager:"
- Check cron logs:
grep CRON /var/log/syslog
- Ensure the output directory is writable by the user running the tasks
- On Linux, consider using group permissions for shared access
- Email notifications require internet access
- Configure firewall rules if necessary
- Email passwords are stored in plain text in the configuration file
- Consider file permissions:
chmod 600 media_manager_config.jsonon Linux - Use app passwords instead of main account passwords where possible
- Stagger task times if running individual tasks (5-10 minute intervals)
- Use "Complete Check" for simplicity and efficiency
- Schedule during low-usage hours (early morning) to minimize performance impact
- Consider weekly frequency for large media collections to reduce overhead
- Regularly check logs for errors or issues
- Monitor disk space in the output directory
- Test email notifications periodically
- Review file retention settings as your collection grows
- Backup configuration files before making changes
- Document your scheduling setup for easy restoration
- Test restore procedures on a separate system
If you're migrating from the original manual scripts:
- Import existing configuration by manually copying settings
- Test automation thoroughly before removing manual scripts
- Keep manual scripts as backup until automation is verified
- Migrate gradually by enabling one task at a time
- GUI Status log: Real-time feedback during operations
- Automation output: Check system logs for scheduled task output
- Email logs: Detailed email sending status in the Status log
- GitHub Issues: Report bugs or request features
- Discord: Join the community for support and discussions
- Documentation: Check other README files for additional information
- macOS: Not fully supported (may work with manual cron setup)
- Containers: Docker/containerized environments may need special configuration
- Network drives: May have permissions issues on some systems
- Long paths: Windows has path length limitations (may need long path support enabled)
Complete Check: Daily at 05:00
Email Notifications: Enabled
File Retention: 30 files
Generate Media List: Daily at 05:00
Check Missing Media: Daily at 05:30
Manage File Retention: Weekly at 06:00
Check Windows Filenames: Weekly at 06:30
Email Notifications: Enabled
File Retention: 100 files
Complete Check: Daily at 05:00
Email Notifications: Enabled
File Retention: 200 files
This automation system provides a robust, platform-independent solution for monitoring your media collection with minimal manual intervention.