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

32 minutes ago, Masterwishx said:

If you mean array->cache please read above posts, in lasted version was temporary fix, in next version will be move to cache from array only. 

 

You can check logs and debug for errors. 

 

If you have some speed issues, disable file validation check its checking filenames against attack so if you have long filenames and many files maybe can discrease speed. 

 

No I mean exactly what I wrote.

image.png.8b587f0b7493e3ed2eed6bd7fc4c9c04.png

...what you see above, never happened this way in mover (now I set it to primary core and no cache, so no mover action).

 

I will disable validation (as definitely both appdata and system have thousands of tiny files), but the rest of the issues are a big question mark...

 

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

29 minutes ago, NLS said:

but the rest of the issues are a big question mark...

Please open issue in github with log and debug

14 hours ago, NLS said:

way in mover (now I set it to primary core and no cache, so no mover action).

Try to set override config in some share temporary, this will reset global config... 

Can anyone explain me this?

1. Setting calls "Disable Mover running on a schedule:" but when select YES - plugin will be disabled... Don`t get this logic. but schedule is not plugin, it is default mover settings.

 

2. Also how to really disable default "Mover schedule:", it seems redundant if I use plugin?

3. "Free down/prime up to this level of used Primary (cache) space:" am I right that this setting should stop mover when reach this usage %? So, 0 is fine?  By default my cache utilization is 20% (dockers, VM`s etc), will it affect when I choose 0 in plugin?

SCR-20250310-khle.png

4 minutes ago, d3m3zs said:

1. Setting calls "Disable Mover running on a schedule:" but when select YES - plugin will be disabled... Don`t get this logic. but schedule is not plugin, it is default mover settings.

 

2. Also how to really disable default "Mover schedule:", it seems redundant if I use plugin?

Mover always runs only based on the schedule, what the plugin does is that on the scheduled run it decides what to do or not. It's not realtime. 

3 hours ago, Kilrah said:

Mover always runs only based on the schedule, what the plugin does is that on the scheduled run it decides what to do or not. It's not realtime. 

Ah, thanks! So, if I selected first day of month, that means only during this day it will trigger plugin and decide what to do?!

Correct

8 hours ago, d3m3zs said:

Free down/prime up to this level of used

In next version will be more clear description for this

I am having an issue w/ the new mover whereas I have a cache pool nvme_ssd_cache which is filled to 91% above the 85% that I have set and the mover doesn't do anything.  There are 4 shares in this cache drive.  I have three of them prefer or yes and they are below the 50% threshold, a vast majority of the files are in the Plex_Base share.  The mover notices this share above threshold but in the end does not move down to 50%.  


Is this some logic issue here, or should I set all cache "sticky" shares (ones I want to stay on the SSD) to a singular setting.


Thanks,

 

Output

https://pastebin.com/A2FW9w4q

What are your settings for mover tuning, and if those shares have custom per-share settings?

 

 

7 hours ago, psychic99 said:

Is this some logic issue here,

Only cache yes will free down to freeing threshold, prefer has temporary fix check logs. In next version prefer will move to cache only. 

Try to set override some share for reset global settings or change some settings in global and back then apply. 

Hi there.

I'm having a problem getting the 'Ignore files and folders listed inside of a text file' to properly work. I made a text file and added the paths and file names which shouldn't be moved off the cache drive, but whatever I try at some point it will just move them anyway. Perhaps because I've set the option 'Move files off Primary (cache) based on age' to auto, I dunno really. Perhaps it's just me doing it wrong.

Also one thing of note is that even though 'Clean empty folders' is set to Yes, it still leaves behind a lot of empty folders. Could this be a permission thing?

Here's how I set up the paths in the text file, as an example:

/mnt/cache_download/data/media/movies/1/Movie Title/file.name.mkv

I also tried using wild cards for TV series folder, since I really don't want to manually add them all, but that doesn't seem to work either:

/mnt/cache_download/data/media/tv/1/TV Title/Season 01/*.*
 

 

Edited by d0mmie

19 hours ago, Masterwishx said:

In next version will be more clear description for this

setting to Yes effectively disables this plugin

Edited by Shu

I think these settings could still use some additional tweaks : 

image.png.c9a76f633f495b038606b4f9f657ac1c.png

 

1) I think free down and prime up should be split.  Maybe I want to free down to 80%, but fill up to 70%?


2) The second setting is limited by the first setting.  Especially in the "prime" scenario, this doesn't make sense.  If my current usage is 20%, and I have prime to 70%, that means that "only move" is also at least 70%. 20% < 70%, so mover won't run, and it won't "prime" ?

 

3) (Bonus question) : If I have old files on cache, and new files on array, will it swap them?

9 hours ago, d0mmie said:

Also one thing of note is that even though 'Clean empty folders' is set to Yes, it still leaves behind a lot of empty folders. Could this be a permission thing?

Is it folders or zfs dataset? 

Please open issue in github with logs and debug logs

 

3 hours ago, Shu said:

setting to Yes effectively disables this plugin

I meaned help text descriptions, this was already available in previous version

9 hours ago, d0mmie said:

Hi there.

I'm having a problem getting the 'Ignore files and folders listed inside of a text file' to properly work. I made a text file and added the paths and file names which shouldn't be moved off the cache drive, but whatever I try at some point it will just move them anyway. Perhaps because I've set the option 'Move files off Primary (cache) based on age' to auto, I dunno really. Perhaps it's just me doing it wrong.

Also one thing of note is that even though 'Clean empty folders' is set to Yes, it still leaves behind a lot of empty folders. Could this be a permission thing?

Here's how I set up the paths in the text file, as an example:

/mnt/cache_download/data/media/movies/1/Movie Title/file.name.mkv

I also tried using wild cards for TV series folder, since I really don't want to manually add them all, but that doesn't seem to work either:

/mnt/cache_download/data/media/tv/1/TV Title/Season 01/*.*
 

 

I believe this is broken.  I didn't have time to test further, but I also experienced something similar.  I wrote this script that you can run as a mover pre script instead:

 

#!/bin/bash

# List of directories for generating ignore.txt
ignore_directories=(
    "/mnt/user/data/cross-seed-links"
    "/mnt/user/data/cross-seeds"
    "/mnt/user/data/downloads"
    "/mnt/user/data/irc"
    "/mnt/user/data/torrents"
    "/mnt/user/data/workspace"
    "/mnt/user/data/media/music"
)

# List of directories for touching files
# WORKAROUND: ideally, we would just use the ignore list and only touch torrent directories to update hardlinks, but the ignore list doesn't seem to be working.
touch_directories=(
    "/mnt/user/data/torrents"
    "/mnt/user/data/cross-seed-links"
    "/mnt/user/data/cross-seeds"
    "/mnt/user/data/downloads"
    "/mnt/user/data/irc"
    "/mnt/user/data/workspace"
    "/mnt/user/data/media/music"
)

# Output file for the list of files
output_file="/dev/shm/ignore.txt"

# Clear the output file if it exists
> "$output_file"

# Iterate over ignore_directories
for dir in "${ignore_directories[@]}"; do
    if [ -d "$dir" ]; then
        echo "Processing directory: $dir"
        
        # Find all files in the directory and append their paths to ignore.txt
        find "$dir" -type f -print >> "$output_file"
        
        # Check if the directory is in touch_directories and touch its files recursively
        if [[ " ${touch_directories[*]} " == *" $dir "* ]]; then
            echo "Recursively touching files in directory: $dir"
            find "$dir" -type f -exec touch {} \;
        fi
    else
        echo "Error: $dir is not a valid directory" >&2
    fi
done

echo "Operation completed. File paths saved in $output_file, and applicable files were recursively touched where required."

 

Feel free to adjust to your needs.  Some notes:

- The variable touch_directories is the workaround here

- All directories in touch_directories must also be in ignore_directories as well.

- An ignore.txt will be generated, but it will mainly not work.

- The idea behind this is that you are touching every file before the mover is invoked, so they are either the least prioritized files or  they will not be moved based on age settings.  Personally my age is set to 15 days, so these files will never be moved.

- You can redirect the output_file anywhere you'd like, but it acts more like a log.

- IMPORTANT, this workaround is messing with the CTIME and MTIME of all files.  So if these are important to you, do not use this.

Edited by ronia

1 hour ago, Terebi said:

(Bonus question) : If I have old files on cache, and new files on array, will it swap them?

Cache - > array (cache:yes) move to array only if not selected rebalance. 

 

 

4 minutes ago, ronia said:

/mnt/cache_download/data/media/movies/1/Movie Title/file.name.mkv

Do you mean when filename in list? 

6 minutes ago, ronia said:

believe this is broken.  I didn't have time to test further, but I also

You can't use /mnt/user/data.. 

Only /mnt/cache/data... For ignore folders

1 hour ago, Terebi said:

think free down and prime up should be split.  Maybe I want to free down to 80%, but fill up to 70%?

When cache->array is above 70% move to array until (prime upto) 50% 

 

Please read text help description in new version

5 hours ago, Masterwishx said:

Is it folders or zfs dataset? 

Please open issue in github with logs and debug logs

 

Just folders. I just cleaned them all out, will keep an eye on it and open an issue if it persist.
 

5 hours ago, Masterwishx said:

Do you mean when filename in list? 

Both with filename or using no filename but just a wildcard to keep an entire directory ignored.

6 hours ago, Masterwishx said:

You can't use /mnt/user/data.. 

Only /mnt/cache/data... For ignore folders

Oh interesting.  I didn't know that and that's probably what the issue was.  Does this apply to files as well?  My files are specified as:

 

/mnt/user/data/file.ext

 

and are also not being ignored correctly.

@Masterwishxany comment on whether fixing the hardlinking issue is on the docket to be addressed? Just curious, thank you.

 

18 hours ago, Masterwishx said:

Only cache yes will free down to freeing threshold, prefer has temporary fix check logs. In next version prefer will move to cache only. 

Try to set override some share for reset global settings or change some settings in global and back then apply. 

Ok.  Thanks. I will wait for the next drop and logic fix.  For the meantime I used unbalanced plugin to drain it to last me a few weeks.

I will go manually update the share in config to keep it similar, these shares have been around for years so there is probably some junk left :)

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.