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

1 hour ago, Masterwishx said:

I meaned to make global threshold for cache prefer like now fill up upto 95% but users maybe want change it? 

At least for me, I'd prefer the threshold to be 90% as I've had issues in the past with appdata when the cache fills higher than 90%.  So a global configuration option would be nice.

 

That being said, it's not that big of a deal as honestly most cache:prefer shares should probably just be cache-only shares with a backup solution elsewhere.  It shouldn't be this addons sole responsibility to fix the cache implementation for all of unraid 🤣

 

Not to belittle what @Masterwishx is doing here, but this should really be base functionality in unraid.  So many people use this plugin and rely on it and I think the upgrade from v6 to v7 has highlighted just how critical a component it is.  If masterwishx didn't step up here, this could have been a much bigger issue for the v7 migration.  So thanks again @Masterwishx.

Edited by ronia

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

1 minute ago, ronia said:

but this should really be base functionality in unraid

That's will be really amazing

3 hours ago, cbr600ds2 said:

  I thought it would be under

 

image.thumb.png.cda75295517b64a4bd307504f201c673.png

4 hours ago, Masterwishx said:

Fixed issue with wrong thresholds for cache:yes , you can check it by download and test :  https://github.com/masterwishx/ca.mover.tuning/blob/dev-new-fixes-4/source/ca.mover.tuning/usr/local/emhttp/plugins/ca.mover.tuning/age_mover

 

Thanks for working on this fix.

 

I'd love to help test it, but I'm not sure how to install the updated plugin from the link you provided. Again, sorry for my ignorance.

5 hours ago, Ichthus said:

I'd love to help test it, but I'm not sure how to install the updated plugin from the link you provided. Again, sorry for my ignorance.

You can download age_mover file and copy to /usr/local/... and `chmod 755 age_mover` or you can wait I will push new version today I hope... 

8 hours ago, Ichthus said:

I'd love to help test it, but I'm not sure how to install the updated plugin from the link you provided. Again, sorry for my ignorance.

download the attached file, place it somewhere on your unraid server, sample here, /mnt/user/system/mover/

 

then open terminal and enter as followed (replace 2nd entry path described above whereever you placed it)

not the ... lines ;) just infos

 

cd /usr/local/emhttp/plugins/ca.mover.tuning/
ls -la
... check before
cp /mnt/user/system/mover/age_mover .
ls -la
... check after

 

yes, the dot in the end of 2nd line is correct ;)

 

that was it ;)

 

before, after ... different size

 

before
-rwxr-xr-x 1 root root 72455 Mar 11 10:14 age_mover

after
-rwxr-xr-x 1 root root 73960 Mar 20 09:37 age_mover

 

age_mover

Does it still hold true that if I want to disable mover on a schedule and just trigger it myself, I need to call /usr/local/sbin/mover.old start?

I'm asking because I trigger the mover manually as a post-script for my backups. 
However, before disabling it running on a schedule, when I triggered the mover script it would log a bunch of settings, including the test mode being enabled etc.

Now when I call mover.old, nothing happens besides it telling me to use start/stop arguments.
So that has me a little confused and I just want to make sure I'm using it correctly.

4 hours ago, Schaka said:

Does it still hold true that if I want to disable mover on a schedule and just trigger it myself, I need to call /usr/local/sbin/mover.old start?

I'm asking because I trigger the mover manually as a post-script for my backups. 
However, before disabling it running on a schedule, when I triggered the mover script it would log a bunch of settings, including the test mode being enabled etc.

Now when I call mover.old, nothing happens besides it telling me to use start/stop arguments.
So that has me a little confused and I just want to make sure I'm using it correctly.

Can we request a feature to disable the mover schedule ONLY, but keep all mover tuner settings/filters intact so we can 'manually' run the mover with scripts and still have it follow our thresholds?

On 3/18/2025 at 12:33 PM, alturismo said:

may set a override like you wish it (main setup) and test then please.

Finally I got it working with this suggestion. Some key takeaways (for my set up) :

  1. Mover tuning plugin only work for me if I set BOTH global and share-specific settings. Both set of settings need to match.
  2. This has something to do with age based move when set to Auto. When I set it to specific number of days, mover works with Global settings alone.
26 minutes ago, styagi said:

Finally I got it working with this suggestion. Some key takeaways (for my set up) :

Check the new version 

1 hour ago, Triiiple said:

Can we request a feature to disable the mover schedule ONLY, but keep all mover tuner settings/filters intact so we can 'manually' run the mover with scripts and still have it follow our thresholds?

 

you can already

 

Disable Mover running on a schedule =yes 

then run `/usr/local/emhttp/plugins/ca.mover.tuning/age_mover start`

Just got this email after a reboot, any thoughts/suggestions?

Event: Unraid Status
Subject: Mover Tuning Notification
Description: Fatal error: cache not present, or only cache present, and less than 2 pools set up.
Importance: warning

 

image.thumb.png.17f6c332e8f1081ad1bbc78bb1fa7b18.png

1 hour ago, mihcox said:

Fatal error: cache not present, or only cache present, and less than 2 pools set up.

This mean you don't have user0 as diskX, only cache and one pool only

16 minutes ago, Masterwishx said:

This mean you don't have user0 as diskX, only cache and one pool only

Does this mean I should effectively uninstall the plugin?

54 minutes ago, mihcox said:

Does this mean I should effectively uninstall the plugin?

If you have cache:only for shares you don't need to move data then? 

I'm on 2025.03.20a, it seems unable to move files with filenames containing a "$". It throws an error : "Error: Invalid filename path"

30 minutes ago, kyis said:

I'm on 2025.03.20a, it seems unable to move files with filenames containing a "$". It throws an error : "Error: Invalid filename path"

well, this is more or less a invalid ... ;)

 

if you want to keep such things ...

 

there is a changelog

there is a help section

 

image.thumb.png.01e462b204da025308cf0fa7e1be65a4.png

 

 

Hi all,

 

Loads of notifications this morning. Whilst I do agree with the attack preventation, I think it could use a little finessing to better detect what would be a variable for instance.

 

Some hits I got this morning include:

Procreate Resources/Add-Ons/Icon-Kit/Outlines White/$-OutlinesWhite.png
Procreate Resources/Add-Ons/Icon-Kit/Solid Black/$-SolidBlack.png
Laptop backup 2/~$ Doc about Election.rtf

 

Now, correct me if I'm wrong, but I don't think these can be variables, since they need to start with a letter or number I think?

 

Anyway, thought would mention it.

Thanks for the plugin!

 

I'm happy to disable the filename checking, since am pretty confident I'm not under attack, or at least my server isn't at the moment :D

 

Cheers!

On 3/20/2025 at 4:02 AM, Masterwishx said:

That's will be really amazing

We've been asking for even just the most basic mover tuning features to be worked in. I know Limetech like to keep the base OS as simple as possible for many, many reasons (native ZFS and WIFI are huge steps for limetech!) but this is so essential to a good high performance server setup I feel it justifies the complexity.

 

 

many features started out as plugins or addons, even the webui started as a plugin.

 

Hmm, I disabled the filename validation, but just got spammed to death again!

 

Edit: Ahh, it' s still running from this morning still!

 

 

On a side note, I have noticed some very weird notifications from the plugin, where says it moved hundreds of thousands of files, and more terabytes than are possible from the cache. Bit odd.

 

Edit2: Just finished. Here:

image.png.d9783dbaaba01b2f3e3e74c2f29769b0.png

 

My cache is a pool consisting of two 1TB NVMe drives, with 1TB of storage, so what gives here?

 

Edited by SudoPacman
Adding screenshot of completion message

Is this expected with file verification on?

 

Mar 21 09:30:23 unraid move: Error: Invalid characters in filename: '*.sh'
Mar 21 09:30:23 unraid move: Error: Invalid filename path: 'syslog/**/*.sh'
Mar 21 09:30:23 unraid move: ------------------------------------------------------------------- Cleaning up -----------------------------------------------------------------
Mar 21 09:30:23 unraid move: Restoring original turbo write mode Turbo writes (Reconstruct)
Mar 21 09:30:23 unraid kernel: mdcmd (253): set md_write_method 1
Mar 21 09:30:23 unraid kernel: 
Mar 21 09:30:23 unraid move: Launching after script: /mnt/cache/postmover.sh

50 minutes ago, feinhorn said:

Is this expected with file verification on?

 

 

should be self explaining ;)

 

    ## Check filename length
    if [[ ${#filename} -gt 255 ]]; then
        mvlogger "Error: Filename too long: '$filename'"
        return 1
    fi

    ## Check for invalid characters
    if [[ "$filename" =~ [\$\/\<\>\:\"\|\?\*] ]]; then
        mvlogger "Error: Invalid characters in filename: '$filename'"
        return 1
    fi

    ## Prevent path traversal
    if [[ "$filename" == *"../"* ]]; then
        mvlogger "Error: Path traversal attempt detected: '$filename'"
        return 1
    fi

 

3 hours ago, SudoPacman said:

, I have noticed some very weird notifications from the plugin

Check the log file it's what you have in it. 

4 hours ago, SudoPacman said:

more terabytes than are possible from the cache. Bit odd.

It's also count array files if moved/synced

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.