Here are some logs from around the event.
Cronjob that does an ls on the dir.
Sat 20 May 11:51:01 BST 2017
55
Sat 20 May 11:52:01 BST 2017
55
Sat 20 May 11:53:01 BST 2017
1
Sat 20 May 11:54:01 BST 2017
1
Sat 20 May 11:55:01 BST 2017
Plex logs from that time period
Plex Media Server.log:May 20, 2017 11:48:33.873 [0x7f44beffd700] INFO - AutoUpdate: no updates available
Plex Media Server.log:May 20, 2017 11:48:47.584 [0x7f44a2fff700] WARN - [CompanionPlayer] We already have a handler, overwriting.
Plex Media Server.log:May 20, 2017 11:50:06.383 [0x7f44a2fff700] ERROR - Error issuing curl_easy_perform(handle): 52
Plex Media Server.log:May 20, 2017 11:50:06.383 [0x7f44a2fff700] WARN - HTTP error requesting GET http://192.168.0.27:8008/ssdp/device-desc.xml (0, No error) (Empty reply from server)
Plex Media Server.log:May 20, 2017 11:52:27.630 [0x7f44a93ff700] INFO - It’s been 17521423 seconds, so we’re starting scheduled library update for section 5 (Kids Movies)
Plex Media Server.log:May 20, 2017 11:52:27.630 [0x7f44a93ff700] INFO - It’s been 9490923 seconds, so we’re starting scheduled library update for section 4 (Kids TV Shows)
Plex Media Server.log:May 20, 2017 11:52:27.631 [0x7f44a93ff700] INFO - It’s been 17521519 seconds, so we’re starting scheduled library update for section 3 (Movies)
Plex Media Server.log:May 20, 2017 11:52:27.631 [0x7f44a93ff700] INFO - It’s been 2649450 seconds, so we’re starting scheduled library update for section 6 (Photos and Videos)
Plex Media Server.log:May 20, 2017 11:52:27.631 [0x7f44a93ff700] INFO - It’s been 17521547 seconds, so we’re starting scheduled library update for section 1 (TV Shows)
Plex Media Server.log:May 20, 2017 11:52:30.222 [0x7f44a73ff700] INFO - Library section 4 (Kids TV Shows) will be updated because of a change in /mnt/PlexOptimized/TV/Plex Versions/blueberry 106/PJ Masks
Plex Media Server.log:May 20, 2017 11:52:50.994 [0x7f44a73ff700] INFO - Library section 4 (Kids TV Shows) will be updated because of a change in /mnt/PlexOptimized/TV/Plex Versions/Raspberry320 79/PJ Masks
Plex Media Server.log:May 20, 2017 11:52:51.796 [0x7f44a73ff700] INFO - Library section 4 (Kids TV Shows) will be updated because of a change in /mnt/PlexOptimized/TV/Plex Versions/blueberry 106/PJ Masks
Plex Media Server.log:May 20, 2017 11:52:52.310 [0x7f44a73ff700] INFO - Library section 4 (Kids TV Shows) will be updated because of a change in /mnt/PlexOptimized/TV/Plex Versions/Raspberry320 79/Paw Patrol
Plex Media Server.log:May 20, 2017 11:53:03.710 [0x7f44ba3fe700] ERROR - Couldn’t get size of file /mnt/Multimedia/Photos/2015/2015 Bude: boost::filesystem::file_size: No such file or directory: “/mnt/Multimedia/Photos/2015/2015 Bude”
Plex Media Server.log:May 20, 2017 11:53:03.710 [0x7f44ba3fe700] ERROR - Couldn’t get size of file /mnt/Multimedia/Photos/2015/2015 Sep 27 Lotty: boost::filesystem::file_size: No such file or directory: “/mnt/Multimedia/Photos/2015/2015 Sep 27 Lotty”
The only content being affected is content I have scheduled DVR recording for. Now the wierd thing is the server with the DVR (QNAP) is different to the server doing the “Optimized Versions” (linux VM). They both access the same library content via nfs (content is on the QNAP and access by the linux VM via nfs)
The other thing that may be relevant is the directory the DVR records to is symlinked to the actual dir.
lrwxrwxrwx 1 admin administ 43 Mar 12 09:37 Octonauts (2010) → /share/TV_Programs/KidsTV/Octonauts (2010)//
lrwxrwxrwx 1 admin administ 44 Mar 12 10:55 PAW Patrol (2013) → /share/TV_Programs/KidsTV/PAW Patrol (2013)//
lrwxrwxrwx 1 admin administ 42 Mar 12 11:54 PJ Masks (2015) → /share/TV_Programs/KidsTV/PJ Masks (2015)//
drwxr-xr-x 9 admin administ 4096 Apr 17 07:41 Postman Pat (1981)/
drwxrwxrwx 3 admin administ 4096 May 22 07:03 Raa Raa the Noisy Lion (2011)/
Some other linux logs
I setup inotify. I see a lot of delete entires (there are lots more than shown below)
/mnt/PlexOptimized/TV/Plex Versions/blueberry 106/PJ Masks/ DELETE S01E36.mp4
/mnt/PlexOptimized/TV/Plex Versions/blueberry 106/PJ Masks/ DELETE S01E37.mp4
/mnt/PlexOptimized/TV/Plex Versions/blueberry 106/PJ Masks/ DELETE S01E38.mp4
/mnt/PlexOptimized/TV/Plex Versions/blueberry 106/PJ Masks/ DELETE S01E39.mp4
/mnt/PlexOptimized/TV/Plex Versions/blueberry 106/PJ Masks/ DELETE S01E40.mp4
/mnt/PlexOptimized/TV/Plex Versions/blueberry 106/PJ Masks/ DELETE S01E41.mp4
/mnt/PlexOptimized/TV/Plex Versions/blueberry 106/PJ Masks/ DELETE S01E42.mp4
/mnt/PlexOptimized/TV/Plex Versions/blueberry 106/PJ Masks/ DELETE S01E43.mp4
/mnt/PlexOptimized/TV/Plex Versions/blueberry 106/PJ Masks/ DELETE S01E44.mp4
/mnt/PlexOptimized/TV/Plex Versions/blueberry 106/PJ Masks/ DELETE S01E45.mp4
/mnt/PlexOptimized/TV/Plex Versions/blueberry 106/PJ Masks/ DELETE S01E46.mp4
/mnt/PlexOptimized/TV/Plex Versions/blueberry 106/PJ Masks/ DELETE S01E47.mp4
/mnt/PlexOptimized/TV/Plex Versions/blueberry 106/PJ Masks/ DELETE S01E48.mp4
Finally a bunch of auditctl logs. You can see my cronjob ls, then Plex Media Scanner unlinking the file.
I think we have the smoking gun 
type=PATH msg=audit(20/05/17 11:52:01.167:313516) : item=0 name=/mnt/PlexOptimized/TV/Plex Versions/blueberry 106/PJ Masks/S01E03.mp4 inode=32250961 dev=00:27 mode=file,644 ouid=plex ogid=plex rdev=00:00 obj=system_u:object_r:nfs_t:s0 objtype=NORMAL
type=CWD msg=audit(20/05/17 11:52:01.167:313516) : cwd=/root
type=SYSCALL msg=audit(20/05/17 11:52:01.167:313516) : arch=x86_64 syscall=getxattr success=no exit=ENODATA(No data available) a0=0x7ffd288c15b0 a1=0x7efe684b5ddf a2=0x0 a3=0x0 items=1 ppid=28174 pid=28176 auid=root uid=root gid=root euid=root suid=root fsuid=root egid=root sgid=root fsgid=root tty=(none) ses=38510 comm=ls exe=/usr/bin/ls subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key=(null)
type=PATH msg=audit(20/05/17 11:52:01.167:313517) : item=0 name=/mnt/PlexOptimized/TV/Plex Versions/blueberry 106/PJ Masks/S01E03.mp4 inode=32250961 dev=00:27 mode=file,644 ouid=plex ogid=plex rdev=00:00 obj=system_u:object_r:nfs_t:s0 objtype=NORMAL
type=CWD msg=audit(20/05/17 11:52:01.167:313517) : cwd=/root
type=SYSCALL msg=audit(20/05/17 11:52:01.167:313517) : arch=x86_64 syscall=getxattr success=no exit=ENODATA(No data available) a0=0x7ffd288c15b0 a1=0x7efe684b5db0 a2=0x0 a3=0x0 items=1 ppid=28174 pid=28176 auid=root uid=root gid=root euid=root suid=root fsuid=root egid=root sgid=root fsgid=root tty=(none) ses=38510 comm=ls exe=/usr/bin/ls subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key=(null)
type=PATH msg=audit(20/05/17 11:52:30.551:313521) : item=1 name=/mnt/PlexOptimized/TV/Plex Versions/blueberry 106/PJ Masks/S01E03.mp4 inode=32250961 dev=00:27 mode=file,644 ouid=plex ogid=plex rdev=00:00 obj=system_u:object_r:nfs_t:s0 objtype=DELETE
type=PATH msg=audit(20/05/17 11:52:30.551:313521) : item=0 name=/mnt/PlexOptimized/TV/Plex Versions/blueberry 106/PJ Masks/ inode=32244304 dev=00:27 mode=dir,755 ouid=plex ogid=plex rdev=00:00 obj=system_u:object_r:nfs_t:s0 objtype=PARENT
type=CWD msg=audit(20/05/17 11:52:30.551:313521) : cwd=/
type=SYSCALL msg=audit(20/05/17 11:52:30.551:313521) : arch=x86_64 syscall=unlink success=yes exit=0 a0=0x7f27800b64d8 a1=0x7f2793da40d0 a2=0x7f278b8967ac a3=0xffffff80 items=2 ppid=12493 pid=28205 auid=unset uid=plex gid=plex euid=plex suid=plex fsuid=plex egid=plex sgid=plex fsgid=plex tty=(none) ses=unset comm=Plex Media Scan exe=/usr/lib/plexmediaserver/Plex Media Scanner subj=system_u:system_r:initrc_t:s0 key=(null)
type=CONFIG_CHANGE msg=audit(20/05/17 11:52:30.552:313520) : auid=unset ses=unset op=“updated_rules” path=/mnt/PlexOptimized/TV/Plex Versions/blueberry 106/PJ Masks/S01E03.mp4 key=(null) list=exit res=yes