Add advanced Plex database recovery and restoration scripts

- Introduced `recover-plex-database.sh` for comprehensive database recovery with multiple strategies, logging, and rollback capabilities.
- Added `restore-plex.sh` for safe restoration of Plex backups, including validation and dry-run options.
- Created `plex-db-manager.sh` to consolidate database management functionalities, including integrity checks and service management.
- Enhanced logging and error handling across all scripts for better user feedback and troubleshooting.
- Implemented safety measures to prevent running scripts as root and ensure proper service management during operations.
This commit is contained in:
Peter Wood
2025-06-21 07:23:33 -04:00
parent 30a252a500
commit 9b83924597
13 changed files with 1410 additions and 300 deletions

42
plex/deprecated/README.md Normal file
View File

@@ -0,0 +1,42 @@
# Deprecated Scripts
These scripts have been moved to this folder because their functionality has been consolidated into the main Plex management tools.
## Scripts Moved (June 21, 2025)
### `plex-database-repair.sh`
- **Reason**: Functionality consolidated into `plex-db-manager.sh`
- **Replacement**: Use `plex-db-manager.sh check` and `plex-db-manager.sh repair`
### `recover-plex-database.sh`
- **Reason**: Advanced recovery methods rarely worked effectively
- **Replacement**: Use `nuclear-plex-recovery.sh` for emergency situations
### `restore-plex.sh`
- **Reason**: Basic restoration functionality covered by other scripts
- **Replacement**: Use `nuclear-plex-recovery.sh` for backup restoration
### `icu-aware-recovery.sh`
- **Reason**: ICU collation issues addressed in main repair logic
- **Replacement**: Built into `plex-db-manager.sh` and `nuclear-plex-recovery.sh`
## Why These Were Retired
The original issue causing database corruption was identified as the **aggressive 30-minute auto-repair cron schedule**. With this fixed:
1. **Repair operations are now rarely needed**
2. **Simpler tools are more reliable** than complex multi-strategy repair scripts
3. **Manual intervention is preferred** over automated repair attempts
4. **Nuclear recovery** provides a clean last-resort option
## Access If Needed
These scripts are preserved for emergency use but are no longer maintained. If you need emergency access to advanced repair functionality:
```bash
# Emergency use only
./deprecated/plex-database-repair.sh repair /path/to/database.db
./deprecated/recover-plex-database.sh --auto
```
⚠️ **Note**: These scripts are no longer tested or supported. Use at your own risk.