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

On 7/15/2025 at 2:32 AM, zinz said:

@Masterwishx can you take a look? I am not sure what is wrong

Please read Note :

image.png

  • Replies 3.5k
  • Views 486.2k
  • 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

On 7/13/2025 at 11:14 AM, Greyberry said:

Is it possible to have the Notifications disabled if 0 files were moved?

Will be added in next version

Hi

Is there a way to configure Mover Tuning to move newer files from the Array to the Cache (Secondary > Primary) ?

In conjunction with using MTIME, it would allow for frequently modified files to live in the Cache instead of spinning up the drive(s) each time.

Am I missing the option?

Edit:

I think I've found what I was looking for.

Rebalance shares: Yes

Edited by Guillaurent
Answered my own question

Ive got a situation where due to setting the sahre split level wrong one of ym shares has files scattered accross all my disks. Im using unbalenced to manually gather them up during quiet hours.
Can i trigger Rebalence Shares to perform this action for me? i have it enabled but it does not appear to be doing anything, just reports no files to be moved.

Current config as below.

testmode="no"
logging="yes"
movenow="yes"
version="2025.06.14"
moverDisabled="no"
advancedSettings="no"
parity="no"
moverNice="19"
moverIO="-c 2 -n 7"
force="no"
beforeScript=""
afterScript=""
movingThreshold="85"
freeingThreshold="60"
age="yes"
daysold="-1"
advancedFilters="no"
ctime="no"
sizef="no"
sparsnessf="no"
filelistf="no"
filetypesf="no"
ignoreHidden="no"
omovercfg="no"
enableTurbo="no"
cleanFolders="no"
cleanDatasets="no"
synchronizeCache="no"
advancedOptions="yes"
rebalanceShares="yes"
resynchronizeCache="no"
atime="no"
notify="no"
debuglogging="no"
validateFilenames="yes"
fillupThreshold="60"
loggingFolder="/tmp"
logfilesDaysold="5"
listfilesDaysold="10"
movefilesTool="rsync"

Edited by Uirel

14 hours ago, Guillaurent said:

I think I've found what I was looking for

Yep, It will use fill up threshold for it

29 minutes ago, Uirel said:

Can i trigger Rebalence Shares to perform this action for me? i have it enabled but it does not appear to be doing anything, just reports no files to be moved.

Not sure if it will do excly what you want...

UNATTENDEDSTORAGE=$(find /mnt -type d -name "$SHARENAME" \
                -not -path "/mnt/$PRIMARYSTORAGENAME/*" \
                -not -path "/mnt/$SECONDARYSTORAGENAME/*" \
                -not -path "/mnt/user*" \
                -not -path "/mnt/disk*" \
                -maxdepth 2 | cut -d'/' -f3)

This is how Rebalanced find files, then move to/from Primary...

hi, i am struggling a bit .. my goal ist to keep small files like jpg, nfo on cache AND array and large files above 10MB just on array.

what setting is wrong ?

grafik.png

35 minutes ago, Uirel said:

just reports no files to be moved.

You can check more info in logs, debug log. Or post debug.zip I will check it.

11 hours ago, Grobalt said:

what setting is wrong ?

Should work, what's in logs?

59 minutes ago, Masterwishx said:

Should work, what's in logs?

grafik.png

Mover Tuning Notification

A total of 0 files representing 0B were successfully moved/synced by Mover Tuning plugin. Elapsed time: 0 sec

Jul 24 11:37:25 Unraid move: ------------------------------------------------------------ Processing [filme] share -----------------------------------------------------------
Jul 24 11:37:25 Unraid move: Primary storage: cache - size: 1.9TiB - used:  14 % (263GiB)
Jul 24 11:37:25 Unraid move: Secondary storage: user0
Jul 24 11:37:25 Unraid move: Share Information: Name: filme - Path: /mnt/cache/filme
Jul 24 11:37:25 Unraid move: Moving threshold: 0% (0B) ; Freeing threshold: 0% (0B)
Jul 24 11:37:25 Unraid move: Mover action: cache->user0 (cache:yes). Pool is above moving threshold percentage:   14% >= 0%.
Jul 24 11:37:25 Unraid move: => Will smart move old files from cache to user0. Nothing will be moved from user0 to cache
Jul 24 11:37:25 Unraid move: Adding Size: 16
Jul 24 11:37:25 Unraid move: Updated Filtered filelist: /tmp/ca.mover.tuning/Filtered_files_2025-07-24T113724.list for filme
17 minutes ago, Grobalt said:

A total of 0 files representing 0B were successfully moved/synced by Mover Tuning plugin. Elapsed time: 0 sec

This is with synchronise enabled?

Do you have files more than 10mb to move?

You can check list files to see more..

Or make debug zip I will check it

i copied to unraid this:

grafik.png

synchronize is enabled

grafik.png

Jul 24 12:26:40 Unraid move: ************************************************************ ANALYSING MOVING ACTIONS ***********************************************************
Jul 24 12:26:40 Unraid move: Deciding the action (move/sync/keep) for each file. There are 6 files, it can take a while...
Jul 24 12:26:40 Unraid move: A total of 2 files representing 8.1GiB will be moved/synced:
Jul 24 12:26:40 Unraid move: - 2 files representing 8.1GiB will be moved/sync from cache to secondary
Jul 24 12:26:40 Unraid move: Action started at: 12:26:40
Jul 24 12:26:40 Unraid move: *********************************************************** LET THE MOVING SHOW BEGIN ! *********************************************************
Jul 24 12:26:40 Unraid move: Moving "/mnt/cache/./filme/V/Vier Fäuste gegen Rio (1984) 1080p/Vier Fäuste gegen Rio (1984) 1080p DTS-trailer.mp4"  to  /mnt/user0/ 
Jul 24 12:26:40 Unraid move: 1 files remaining from caches to array  8.0GiB
Jul 24 12:26:40 Unraid move: Moving "/mnt/cache/./filme/V/Vier Fäuste gegen Rio (1984) 1080p/Vier Fäuste gegen Rio (1984) 1080p DTS.mkv"  to  /mnt/user0/ 
Jul 24 12:26:44 Unraid emhttpd: read SMART /dev/sdb
Jul 24 12:26:44 Unraid emhttpd: read SMART /dev/sdf
Jul 24 12:26:44 Unraid emhttpd: read SMART /dev/sdi
Jul 24 12:26:56 Unraid move: 0 files remaining from caches to array  0B
Jul 24 12:26:56 Unraid move: ------------------------------------------------------------------- Cleaning up -----------------------------------------------------------------
Jul 24 12:26:56 Unraid move: Cleaning lock and stop files
Jul 24 12:26:56 Unraid move: Action ended at: 12:26:56
Jul 24 12:26:56 Unraid move: Elapsed time: 16 sec
Jul 24 12:26:56 Unraid move: ****************************************************************** WE ARE DONE ! ****************************************************************

Result, no copy on array of the small files

grafik.png

unraid-diagnostics-20250724-1228.zip

Edited by Grobalt

Hi there,

thank you for maintaining this plugin, which has become the corner stone of my attempt to keep disks spun down and utilize fast NVME storage where useful.

My scenario is comparable to what I read in the thread a couple of times:

  1. Access modified files to a certain size only on fast storage

  2. Access files of certain file types only on fast storage

  3. Keep all files in sync between fast storage and spinning disks

In my case I don't use an array, but two ZFS pools. One is called "vault" and includes two spinning disks plus an SATA cache, the other is called "pioneer" and consists out of only one 2TB NVME.

Example:

I'm using a photo library and want to access all thumbnails and smaller files from "pioneer", but bigger files from "vault", like movies. So the disks keep spun down.

What I see:

Even with mover tuner configured to obey points 1 - 3 of my scenario and even with an ignore files txt in place, unraid moves smallish files to "vault", meaning there's no copy of them on "pioneer". Thus I am not sure, if mover tuner has an effect or if something's amiss in my setup.

I attached a fresh debug zip

ca.mover.tuning-debug-20250724-1524.zip

6 hours ago, Grobalt said:

Result, no copy on array of the small files

You wanted sync small files?

Needs plugin debug.zip not unraid diagnostic

Edited by Masterwishx

3 hours ago, Gymnae said:

Even with mover tuner configured to obey points 1 - 3 of my scenario and even with an ignore files txt in place, unraid moves smallish files to "vault", meaning there's no copy of them on "pioneer". Thus I am not sure, if mover tuner has an effect or if something's amiss in my setup.

You can see in log line 18 : 01:00:01.364 Warning: Moving thresholds are equal. No action will be taken because the thresholds do not provide a gap.

So if you want files to move you need to set gap between moving and freeing thresholds.

But also you have many overrides for shares, check them if they configured exactly how you wanted or remove them.

Do you mean syncing not working from primary to secondary ?

3 hours ago, Gymnae said:

Thus I am not sure, if mover tuner has an effect or if something's amiss in my setup.

I need to test again how synching is working from/to primary and maybe will add option to add shares names for sync shares when will have more time ...

3 hours ago, Gymnae said:

Thus I am not sure, if mover tuner has an effect or if something's amiss in my setup.

20 hours ago, Grobalt said:

what setting is wrong ?

Just for info :

image.png

1 hour ago, Masterwishx said:

You wanted sync small files?

Needs plugin debug.zip not unraid diagnostic

ca.mover.tuning-debug-20250724-1949.zip

i want copies/duplicates of the small files to the parity protected array and keep them on cache/nvme for quick movie scraping etc

Edited by Grobalt

It is a long thread and I have tried to read some of it to get help, so I apologize if I'm asking the same thing again. I have a little problem with the mover tuning not starting when my cache is getting full. If I start manually it works.

Is there some periodical debug output I can enable to see why the Mover Tuning doesn't start? Where it shows the logic so I can understand what setting is keeping it from starting. Because I assume it does this with some interval? I enabled Debug logging but can't really find what I'm looking for.

15 minutes ago, raptorjr said:

Where it shows the logic so I can understand what setting is keeping it from starting.

You can find all debug and log files in /tmp/ca.mover.tuning

You can also make debug.zip by click button in help menu or in cmd: mover debug

16 minutes ago, Masterwishx said:

You can find all debug and log files in /tmp/ca.mover.tuning

You can also make debug.zip by click button in help menu or in cmd: mover debug

Thank you for the fast reply. Yes I did find those logfiles. If I try and do a test run, and manually press "Move now" it generates output implying that files will be moved. For exampel:

20:45:18.576 ------------------------------------------------------------ Processing [series] share ----------------------------------------------------------

20:45:18.606 Primary storage: cache - size: 900GiB - used: 82 % (747GiB)

20:45:18.607 Secondary storage: user0

20:45:18.612 Share Information: Name: series - Path: /mnt/cache/series

20:45:18.617 Moving threshold: 80% (720GiB) ; Freeing threshold: 10% (90GiB)

20:45:18.618 Mover action: cache->user0 (cache:yes). Pool is above moving threshold percentage: 82% >= 80%.

20:45:18.619 => Will smart move old files from cache to user0. Nothing will be moved from user0 to cache

20:45:18.620 Adding Age

20:45:18.621 Age (modification time) 15

20:45:18.649 Updated Filtered filelist: /tmp/ca.mover.tuning/Filtered_files_2025-07-24T204516.list for series

And a little later:

20:45:18.722 ************************************************************ ANALYSING MOVING ACTIONS ***********************************************************

20:45:18.724 Deciding the action (move/sync/keep) for each file. There are 1753 files, it can take a while...

20:45:20.731 A total of 1315 files representing 598GiB will be moved/synced:

20:45:20.734 - 1315 files representing 598GiB will be moved/sync from cache to secondary

20:45:20.738 Action started at: 20:45:20

But am I missing some setting so that the Mover Tuning starts?

3 minutes ago, raptorjr said:

But am I missing some setting so that the Mover Tuning starts?

Test Mode (dry run) is by default activated when the addon is installed ..

Edited by Grobalt

1 minute ago, Grobalt said:

Test Mode (dry run) is by default activated when the addon is installed ..

Yes I know. This output was with Test Mode activated. If I disable that and press Move now, everything moves. But I was under the impression that moves should happen automatical when the criterias were met? Or have I misundersttod the purpose of the whole plugin? In that case I apologize.

5 hours ago, Gymnae said:

Keep all files in sync between fast storage and spinning disks

1 hour ago, Grobalt said:

i want copies/duplicates of the small files to the parity protected array and keep them on cache/nvme for quick movie scraping etc

Just checked again, for sync you need to make files will be keep on primary :

movingThreshold="60" -> will move files after that pool threshold until freeingThreshold

freeingThreshold="40" -> files until this pool threshold will be synced

So if sync enabled files will be synced when before freeing threshold.

Seems it need to be changed to more easy way and set shares to choose for sync :)

5 minutes ago, raptorjr said:

Or have I misundersttod the purpose of the whole plugin? In that case I apologize.

its working by cron of mover

1 minute ago, Masterwishx said:

its working by cron of mover

Ok, then it is my fault. Then it doesn't really help if the cache get filled faster than the cron is about to execute.

Thank you for the help.

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.