Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[Plugin] Mover Tuning

Featured Replies

Is there any easy way to run the old mover manually? I want to force move everything off the cache.

  • Replies 3.5k
  • Views 485.7k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • hugenbdd
    hugenbdd

    New Version 07-03-2023   HUGE thanks/Shout-out to @Swarles for the help with updating code fixes and adding a great new feature.  You can now have some customization per share.  It's great t

  • How to ignore a SINGLE file 1.) Find the path of the file you wish to ignore.     ls -ltr /mnt/cache/Download/complete/test.txt         root@Tower:/# ls -ltr /mnt/cache/Download/complete/test

  • Hi all, I made a new version of the plugin. This fork replaces @hugenbdd's plugin which is not maintained anymore and will land in community applications if your feedbacks are positive.  

Posted Images

2 hours ago, Triiiple said:

Is there any easy way to run the old mover manually? I want to force move everything off the cache.

Sure, you can turn on force mover with cron in settings or run in cli : /usr/local/sbin/mover.old start

On 6/19/2025 at 8:27 PM, alturismo said:

should be self explaing ?

image.png

Ah I forgot to say that "based on age" is set to "No" currently. So I wasn't sure what gets moved when its no or how it chooses what it should move in that case. BUT I just noticed that I have it set to image.png

I'm guessing no + auto = oldest gets move first as in the description.

Edited by chowpay

16 hours ago, PSteger said:

My previous debug.zip was with the sync setting enabled.

Yep I saw but not sure I saw in logs sync files.

2 hours ago, steve1977 said:

Somehow, the mover is not moving anything. Probably something I did wrong in the settings. Any chance you have a look in the logs? Thanks!

ca.mover.tuning-debug-20250625-0813.zip

Sure I will check it

3 hours ago, steve1977 said:

Any chance you have a look in the logs? Thanks

You have 85% Moving threshold :

`Using global (cache:yes) moving threshold: 85 %`

but only 74% Used

`Used: 74 % (1.4TiB)`

Thanks! How to de-activate? Or just change to 0%?

12 minutes ago, steve1977 said:

Thanks! How to de-activate? Or just change to 0%?

Do you want to move files when 0% Cache used ? Then set Moving to 0% .

If you want to move files when Cache shares is Used 60% (Moving Threshold) and Freeup to 20% or 0% to clear cache

I want to move every 24h, regardless of space on disk

46 minutes ago, steve1977 said:

I want to move every 24h, regardless of space on disk

So you can set shedule every 24h(1 day), then mover will check if moving threshold was reached and move until freeing threshold.

You can find all info about settings by clicking on option or F1.

9 hours ago, steve1977 said:

I want to move every 24h, regardless of space on disk

then just dont use this plugin ...

main purpose is to keep files on cache with "rules" and move only if ..., standard (without plugin) will just move files away ...

Synchronize Primary files to Secondary

The concept of this option is great, however there is one corner case which prevents me from using it

1) Download a movie in WEB-DL format.

2) Run mover to sync file from cache to array

3) Upgrade movie quality to let's say Bluray

4) Run mover to sync file from cache to array

Actual Result: on array we would have 2 files - one movie in WEB-DL and another in Bluray.

This happens because deleting file from /mnt/user doesn't delete a file from /mnt/user0

10 hours ago, Flyk3 said:

The log is full of error messages. I never had such problems with the plugin in the past

What unraid version? It was issue in Unraid, fixed in 7.1.4 not related to plugin

1 hour ago, Freender said:

This happens because deleting file from /mnt/user doesn't delete a file from /mnt/user0

Not sure what you mean, how delete file related to plugin?

Sync working on files modified on cache after last sync. Read help description

12 hours ago, Flyk3 said:

so that the mover does not try to move the entire cache to a full disc.

If you mean for cache share fill-up with one disk you will get same error on unraid mover, you need to care about disk space or use some disks with other setting for share settings like high water.

18 hours ago, Masterwishx said:

Not sure what you mean, how delete file related to plugin?

Sync working on files modified on cache after last sync. Read help description

The "Synchronize Primary files to Secondary" works as intended. However it shouldn't be used in automated setups like Radarr or Sonarr. For example, when Radarr upgrades a movie's quality, it can result in duplicate files - especially if the filenames include quality tags or if different file extensions are used (e.g. current movie is in .mp4 and upgraded version is in .mkv).

Another issue arises when the same files exist on both the cache and the array: if you perform a bulk rename in Radarr, only the files on the cache will be renamed, leaving the original copies on the array untouched. This also leads to duplication and inconsistent file organization.

1 hour ago, Freender said:

The "Synchronize Primary files to Secondary" works as intended. However it shouldn't be used in automated setups like Radarr or Sonarr. For example, when Radarr upgrades a movie's quality, it can result in duplicate files - especially if the filenames include quality tags or if different file extensions are used (e.g. current movie is in .mp4 and upgraded version is in .mkv).

Another issue arises when the same files exist on both the cache and the array: if you perform a bulk rename in Radarr, only the files on the cache will be renamed, leaving the original copies on the array untouched. This also leads to duplication and inconsistent file organization.

I'm not sure the mover script could or should handle these kinds of situations. This is going outside of the scope of what a simple community script can do. At the end of the day, the mover script is messing around with Unraid's internal file organization behind it's back and without the native ability to intercept calls from other apps and cleanup these extra copies. I don't think there's anything the script can do in this case. It would be up to Sonarr/Radarr or Unraid itself to come up with a solution for this unique situation.

One such possible solution is through Sonarr's 'Custom Script' settings. You could write a script that triggers on 'File Upgrade' that would then look for and cleanup duplicate copies. You would probably need to expose each /mnt/disk* and /mnt/cache to the sonarr/radarr docker itself as well.

I have been trying to get this to work for weeks, just when I think it works it doesn't seem to anymore.
Can someone please take a look and see if they see what is happening?
I have a Movies share and TV Shows share that each time it acts like it should move those files, but everytime they do not get moved. It acts like it is in test mode, but it isn't.

ca.mover.tuning-debug-20250627-2352.zip

1 hour ago, sfef said:

Can someone please take a look and see if they see what is happening?

I will check it, but maybe you need more gap between thresholds if you have big files to move

7 hours ago, sfef said:

It acts like it is in test mode, but it isn't.

You can see by last log that files are moved, some of them not but you have set 1day age? So maybe they not meet this day old?

5 hours ago, Masterwishx said:

You can see by last log that files are moved, some of them not but you have set 1day age? So maybe they not meet this day old?

Thank you for looking, but the files aren't actually being moved. They still exist on the cache drive only, if I browse to the cache drive mount it is there and if I look under user0 mount the files are not shown on the array. Let me look into this days old, on the website it shows AUTO for the age setting under the global settings and under the TV Shows override section.
I've tried a few different settings the past few days, so maybe something caused a bad config file setting.
My goal would be to have the cache drives fill up to like 75%, then the mover would drop it down to like 35%. I've been seeing the comments about making sure there is a large enough gap between thresholds so I dropped it to 25%.
I was wondering if part of the problem is the shares that use the same cache drive have different cache prefer settings.

For instance my cache_3_nvme, it is used by "Incoming" and "TV Shows"
Incoming is set for cache as the primary and tries to keep all files on the cache drive. While TV Shows is only using the cache drive temporarily until the cache is getting full and then the mover would move the files to the array. Are the share settings working against each other in this instance, or is that doable?

Edited by sfef

2 hours ago, sfef said:

Are the share settings working against each other in this instance, or is that doable?

This should work but with cache prefer (that move files from secondary (array) to primary) like @alturismo said work like ping pong. Becouse when you move files from cache to array and free cache then cache prefer share fill-up cache.

But anyway moving should work as you set it. And in log files are moved also in list files you can see " move from primary" but some of them "keep on primary" this can be Becouse some setting not meet like days old or freeing /free up threshold etc...

There is a bug when determining CTIME/MTIME in share overrides.

Like for example I have set CTIME=Yes in Global, CTIME=No in Share, and the log says:

07:44:03.824 Settings override:

07:44:03.827 ------------------

07:44:03.835 Using share (cache:yes) moving threshold: 0 %

07:44:03.839 Using share (cache:yes) freeing threshold: 0 %

07:44:03.846 Age: 2

07:44:03.853 CTIME: yes

Furthermore, this bug results in Mover not moving anything.

Update: It appears Mover doesn't move anything as soon as CTIME=Yes is set in Share, regardless of what is set in Global. Files are getting moved as soon as I set CTIME=No

Edited by meks

2 hours ago, meks said:

It appears Mover doesn't move anything as soon as CTIME=Yes is set in Share, regardless of what is set in Global. Files are getting moved as soon as I set CTIME=No

I will check it, how you run mover?

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.