For a full Plex app-data backup, stop Plex before the filesystem copy or snapshot; for the core database alone, Plex’s scheduled backup is the application-aware path.
Plex writes databases, metadata, preferences, and cache while the server is running, so a generic backup job can capture files at different moments. That does not mean every live backup is corrupt, but it means a raw copy is harder to trust unless the application or storage layer coordinates consistency. Decide first whether you need the core Plex database or the whole server state, then use a method that matches that scope and verify a restore path before calling the backup complete.
Separate the core database backup from a full server-data backup
Plex Scheduled Tasks can back up the core databases that hold viewstate and matching information. That is useful for database recovery, but Plex explicitly says it is not a replacement for backing up the entire Plex Media Server data directory. Treat those two backups as different recovery tools instead of assuming one file covers everything.
The Plex backup documentation recommends backing up the main server data directory and notes that cache can be excluded on some platforms. Define the backup set deliberately so temporary cache does not inflate the archive while critical database and metadata state remains protected.
If your goal is “restore the server exactly as it was,” include the persistent app-data tree and any platform-specific settings Plex requires. If your goal is only “recover watched state and core library database,” the scheduled database backup can be a smaller, more focused fallback.
Quiesce Plex before a raw filesystem copy
For a simple file-level backup, stop the Plex container and confirm it has exited before copying or snapshotting the persistent data path. Keep the downtime short: stop, capture the consistent point, restart, then let the slower off-host copy continue from the snapshot if your filesystem supports that workflow.
SQLite’s backup API documentation shows why live database copying is a coordination problem rather than just a file-size problem. An application-aware backup or a quiesced snapshot gives you a defined database state; blindly copying changing database, WAL, and metadata files gives you less certainty about the recovery point.
Do not stop Plex for hours while a large backup traverses slow storage if your NAS can create an instantaneous snapshot. The safer pattern is a short write pause to establish consistency, followed by a snapshot or archive workflow that lets the service return while the backup is moved elsewhere.
Keep logs, cache, and persistent state on different recovery rules
Cache and verbose logs can change rapidly and usually do not need the same retention as the Plex database and metadata. Separating those paths makes backups smaller and makes the restore boundary clearer. It also prevents a noisy log or cache tree from consuming the space reserved for application state.
The ZimaSpace guide to separating container logs from app data explains why app state, logs, and cache have different lifecycles and recovery requirements. Plex benefits from the same policy even if all three start in one container configuration.
If you change the backup scope, run one restore test against a disposable copy or isolated container. A backup policy is not validated by a successful upload alone; it is validated when Plex can open the recovered database and metadata with the expected server state.
Verify the backup by restoring a known state
Choose a small set of facts you can verify after a restore: server name, one library, one watched item, one partially watched item, and a setting you know. A test restore should recover those facts without asking Plex to create a new server or rebuild the library from media files.
Plex documents a database restore procedure that begins by stopping the server and replacing the active database with a backup. Even if your full backup method differs, the stop-before-database-replacement boundary is a useful recovery rule.
If the restore test fails, fix the backup method before increasing retention or automating more copies. Escalate to database repair only when a known-good backup cannot be restored; do not overwrite the last recoverable copy while experimenting with a damaged live database.
Support & Tips
More to Read

Can Plex Share a GPU With Another Docker Container?
Plex and another container can often access the same GPU, but you must test driver support, device mapping, video-engine load, memory, and recovery behavior.

How to Tell Whether a Plex Error Comes From the Client or Server
Reproduce the same item on another client, compare the session path, then collect server evidence only after scope tells you where the failure actually...

How to Configure Plex Cache and Transcode Temporary Storage
Protect persistent Plex state while placing transcode temp files on suitable local storage, then verify cleanup, free space, and restart behavior.

