It seems Radarr likes to refresh all movies daily, and unfortunately this always happens when it is not convenient.
Too bad there is not option to set the desired times to run this - like when you're sleeping at 4 AM ...
For my QNAP I wrote a little script that fixes this. A few steps and requirements.
1) Use SSH to access your QNAP.
2) We'll be working in the directory where Radarr is installed, so for my QNAP that would be:
cd /share/CACHEDEV1_DATA/.qpkg/RadarrDotNet81
There you should find the RadarrDotNet81.sh script.
I created a new script file for this purpose (set_daily_movie_refresh_to_4AM.sh) but you could of course add this to the RadarrDotNet81.sh script as well.
3) We need SQLite3 and by default this is available on your QNAP, just not in the path (because that would be useful and we don't seem to want that 😉 ).
I've posted a post for that in the forum: QNAP - Location of sqlite3 ...? Where can I find sqlite3?
There are several ways to deal with this, I just added it to the Radarr directory (/share/CACHEDEV1_DATA/.qpkg/RadarrDotNet81) with
ln -s /share/CACHEDEV1_DATA/.qpkg/Qmono/bin/sqlite3 /share/CACHEDEV1_DATA/.qpkg/RadarrDotNet81/sqlite3
3) Next we create the script with out favorite text editor.
I used "vi" for this, which is not for everyone of course.
Other options, like "nano", "ped", and "joe" will need to be installed and that goes a little beyond this post.
vi set_daily_movie_refresh_to_4AM.sh
Paste this text:
Note: this is for QNAP! Other systems may have different paths, and may have the database called radarr.db OR nzbdrone.db.
#!/bin/bash
echo "Forcing daily Movie refresh to 4AM ..."
echo "Stopping Radarr"
./RadarrDotNet81.sh stop
echo "Updating Radarr Database"
./sqlite3 .config/Radarr/radarr.db 'UPDATE ScheduledTasks SET LastExecution=DATE("now")||" 04:00:00.0", LastStartTime=DATE("now")||" 04:05:00.0" WHERE TypeName = "NzbDrone.Core.Movies.Commands.RefreshMovieCommand";'
echo "Restarting Radarr"
./RadarrDotNet81.sh start &
While in "vi", press the keys Esc, "w", "q".
What does this script do?
- Shutdown Radarr since it would otherwise lock the SQLite database
- Execute the SQL statement to update the ScheduledTasks table
- Restart Radarr in the background
4) Now make the script executable and run it:
chmod +x set_daily_movie_refresh_to_4AM.sh
Now you can the script. Depending on the Radarr version or setup, running it one time should be enough, unless you see that in Radarr (under SYSTEM - TASKS and look for the row "Refresh Movie") that the refresh time is NOT around 4 AM.
Tip:
You can also completely disable the daily movie refresh scan, or even change its interval. Just keep in mind that this refresh was added for a reason!
Examples (interval is expressed in minutes, so a day = 24 hours x 60 minutes = 1440):
Refresh OFF:
UPDATE ScheduledTasks SET Interval = 0 WHERE TypeName = "NzbDrone.Core.Movies.Commands.RefreshMovieCommand";
Refresh WEEKLY:
UPDATE ScheduledTasks SET Interval = 10080 WHERE TypeName = "NzbDrone.Core.Movies.Commands.RefreshMovieCommand";
As a script that last one would look something like this:
#!/bin/bash
echo "Forcing daily Movie refresh to 4AM ..."
echo "Stopping Radarr"
./RadarrDotNet81.sh stop
echo "Updating Radarr Database"
./sqlite3 .config/Radarr/radarr.db 'UPDATE ScheduledTasks SET Interval = 10080 WHERE TypeName = "NzbDrone.Core.Movies.Commands.RefreshMovieCommand";'
echo "Restarting Radarr"
./RadarrDotNet81.sh start &