Files
shell/plex-recent-additions.sh
Peter Wood 7e2bfd451b Add monitoring dashboard for Plex backup system
- Created a new script `monitor-plex-backup.sh` for real-time status and health monitoring of the Plex backup system.
- Implemented features to check system status, backup status, performance metrics, recent activity, scheduling status, and health recommendations.
- Added command line options for watch mode and refresh interval.
- Enhanced logging with color-coded output for better visibility.

Update recent additions script to include more metadata

- Modified `plex-recent-additions.sh` to retrieve additional metadata fields such as year and library section type from the Plex database.
- Improved SQL query to join with library_sections for better context on added items.

Introduce comprehensive test suite for Plex backup system

- Added `test-plex-backup.sh` to provide automated testing for all backup-related functionality.
- Implemented unit tests for JSON log initialization, performance tracking, notification system, checksum caching, backup verification, and more.
- Included setup and cleanup functions for a mock test environment.
- Added performance benchmarks for checksum calculation and compression.
- Generated detailed test reports in JSON format for better tracking of test results.
2025-05-25 23:07:37 -04:00

30 lines
803 B
Bash
Executable File

#!/bin/bash
# Define the path to the Plex database
PLEX_DB="/var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Plug-in Support/Databases/com.plexapp.plugins.library.db"
# Check if the database exists
if [ ! -f "$PLEX_DB" ]; then
echo "Plex database not found at $PLEX_DB"
exit 1
fi
# Query the database for items added in the last 7 days
sqlite3 "$PLEX_DB" <<EOF
.headers on
.mode column
SELECT
datetime(meta.added_at, 'unixepoch', 'localtime') AS "added_at"
, meta.title
, meta.year
, lib.section_type AS "library_section_type"
, lib.name as "library_name"
FROM
metadata_items meta
left join library_sections lib on meta.library_section_id = lib.id
WHERE
meta.added_at >= strftime('%s', 'now', '-7 days')
ORDER BY meta.added_at DESC;
EOF