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

I'm having the same issue since update to 6.9 (and now on 6.9.1).

On Unraid Version 6.8 the Mover Tuning was working well (with threshold set to 75% ), now Mover starts every hour independent of threshold reached or not.

  • Replies 3.6k
  • Views 517.3k
  • 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

4 minutes ago, peter76 said:

I'm having the same issue since update to 6.9 (and now on 6.9.1).

On Unraid Version 6.8 the Mover Tuning was working well (with threshold set to 75% ), now Mover starts every hour independent of threshold reached or not.

Can you post your logs and scheduler settings?

 

By design, it will start based on the scheduler, it just uses the setting to determine if anything moves.

9 minutes ago, hugenbdd said:

Can you post your logs and scheduler settings?

 

By design, it will start based on the scheduler, it just uses the setting to determine if anything moves.

 

these are my settings and full diagnostic-file

grafik.png

grafik.png

tower-diagnostics-20210309-1632.zip

Can you run these two commands from the console?

 

ls -ltr /usr/local/emhttp/plugins/ca.mover.tuning/

cat /usr/local/sbin/mover

4 hours ago, hugenbdd said:

Can you run these two commands from the console?

 

ls -ltr /usr/local/emhttp/plugins/ca.mover.tuning/

cat /usr/local/sbin/mover

done. here the results:

grafik.png.47984dd6971e05ab323f2632463799fd.png

 

34 minutes ago, peter76 said:

done. here the results:

 

 

That's good.

 

Appears that it's not reading your config file for the mover for some reason.

 

Config file location:  /boot/config/plugins/ca.mover.tuning/ca.mover.tuning.cfg

 

please cat that file for me.  Should look something like this.

 

root@Tower:/boot/config/plugins/ca.mover.tuning# cat /boot/config/plugins/ca.mover.tuning/ca.mover.tuning.cfg
moverDisabled="no"
moverNice="0"
moverIO="-c 2 -n 0"
threshold="55"
age="yes"
sizef="no"
sizeinM="1"
sparsnessf="no"
sparsnessv="1"
filelistf="no"
filelistv=""
filetypesf="no"
filetypesv=""
parity="yes"
enableTurbo="no"
logging="no"
force="no"
cron=""
forceParity="yes"
daysold="30"
 

And just incase it's a permissions issue, here is how mine looks.

-rw------- 1 root root   283 Mar  7 13:39 ca.mover.tuning.cfg

 

Maybe try and change something in your config.  Say threshold of 75% to 70%, then hit apply, and also change the "time" that mover runs and hit apply.

 

 

On 3/7/2021 at 2:52 PM, hugenbdd said:

I don't think it was. I'll review the test case and try to reproduce tonight or tomorrow.

Looking at the code...  It does have to have "age" or some other config selected.

 

 if ($cfg['age'] == "yes" or $cfg['sizef'] == "yes" or $cfg['sparsnessf'] == "yes"  or $cfg['filelistf'] == "yes" or $cfg['filetypesf'] == "yes"  )

 

I'll look at this and update the IF string to look for percentage.  Might be a few days though.

1 hour ago, hugenbdd said:

That's good.

 

Appears that it's not reading your config file for the mover for some reason.

 

Config file location:  /boot/config/plugins/ca.mover.tuning/ca.mover.tuning.cfg

 

please cat that file for me.  Should look something like this.

 

root@Tower:/boot/config/plugins/ca.mover.tuning# cat /boot/config/plugins/ca.mover.tuning/ca.mover.tuning.cfg
moverDisabled="no"
moverNice="0"
moverIO="-c 2 -n 0"
threshold="55"
age="yes"
sizef="no"
sizeinM="1"
sparsnessf="no"
sparsnessv="1"
filelistf="no"
filelistv=""
filetypesf="no"
filetypesv=""
parity="yes"
enableTurbo="no"
logging="no"
force="no"
cron=""
forceParity="yes"
daysold="30"
 

And just incase it's a permissions issue, here is how mine looks.

-rw------- 1 root root   283 Mar  7 13:39 ca.mover.tuning.cfg

 

Maybe try and change something in your config.  Say threshold of 75% to 70%, then hit apply, and also change the "time" that mover runs and hit apply.

 

 

 

my Permissions look the same, and .cfg file looks okay for me:

 

root@Tower:~# ls /boot/config/plugins/ca.mover.tuning/ca.mover.tuning.cfg -lisah
5360 4.0K -rw------- 1 root root 281 Mar  7 21:30 /boot/config/plugins/ca.mover.tuning/ca.mover.tuning.cfg


root@Tower:~# cat /boot/config/plugins/ca.mover.tuning/ca.mover.tuning.cfg
moverDisabled="no"
moverNice="0"
moverIO="-c 2 -n 0"
threshold="75"
age="no"
daysold="1"
sizef="no"
sizeinM="1"
sparsnessf="no"
sparsnessv="1"
filelistf="no"
filelistv=""
filetypesf="no"
filetypesv=""
parity="no"
enableTurbo="yes"
logging="no"
force="no"
cron=""
forceParity="yes"
 

Tried to change some settings and pressed APPLY ==> Mover still runs without recognizing percentage-threshold.

 

Your IF-Statement seems to be the reason for this Issue. I will wait for your update.

 

The one open question for me is: why do I have this issue since update to Unraid 6.9 ...

Edited by peter76

33 minutes ago, peter76 said:

 

 

 

Your IF-Statement seems to be the reason for this Issue. I will wait for your update.

 

The one open question for me is: why do I have this issue since update to Unraid 6.9 ...

I changed where the percentage was looked at in the code.  It used to be looked at before that if statement in the php file.  But now it's in the new mover bash script.  Needed to do this so it can handle multiple pools now.

Edited by hugenbdd

New Release

 

Allows for the custom mover to be invoked if the cache threshold ONLY is set in the config.

46 minutes ago, hugenbdd said:

New Release

 

Allows for the custom mover to be invoked if the cache threshold ONLY is set in the config.

Tested and works fine for me.

Thanx a lot! 

 

Different behavior to older versions:

Now it's not possible to start mover via button, if percentage not reached.

 

15 minutes ago, peter76 said:

Tested and works fine for me.

Thanx a lot! 

 

Different behavior to older versions:

Now it's not possible to start mover via button, if percentage not reached.

 

This is expected behavior.

 

Just for clarity.  When hitting the button, mover will run, however, the cache threshold may not be met, so it doesn't move anything and "skips" the custom mover command. (Check the logs to see the statements)

 

I will look at putting a new button in, that calls the original mover.  (This would not look at any of the config settings.)

17 hours ago, hugenbdd said:

This is expected behavior.

 

Just for clarity.  When hitting the button, mover will run, however, the cache threshold may not be met, so it doesn't move anything and "skips" the custom mover command. (Check the logs to see the statements)

 

I will look at putting a new button in, that calls the original mover.  (This would not look at any of the config settings.)

A Button to start mover - independent of Mover Tuning restrictions - would be a very nice feature.
great work hugenbdd, thanx for it 🙂
 

Hey, today i've come across a problem where my Cache drive is full and the mover does not move any files. I've been mass downloading recently and assuming this is the reason.

L6lNCOH.png

 

Ideally the mover should of ran and moved files over but when running, this is what shows up:

1i5wV8X.png

 

Most recent changes:

1st March: CPU, Mobo & SATA Controller upgrade/swap.
               GPU Addition for Plex Transcoding

               SSD addition, Cache (pooltwo) for Plex & Misc

Issue noticed on 11/03/21

 

Thanks.

arthur-diagnostics-20210311-1230.zip

Looks like it should be working.  Odd.  It's almost like the cache directories got moved somewhere else or renamed.  As it is throwing that find error with "no such file or directory".  Maybe with the addition of cache pooltwo it got renamed with a capital Cache instead of lowercase cache?

 

Can you run these two commands from the console?

 

ls -ltr /mnt/cache

 

 

find /mnt/cache/Downloads -depth

 -This will probably fail, like it did in the logs.  We need to find the correct path and then I can see why my code didn't work correctly.

 

 

Alternatively, you can go back in, set the "Downloads" share cache to something else, hit apply, then immediately set it back to the original cache, set apply

Thanks for creating such an amazing plugin. I currently have a threshold set. I currently have a user script that turns off my torrent/nextcloud dockers and runs mover using 

/usr/local/sbin/mover

The problem is it's using the settings I set in mover tuner. How do I run mover via script without applying the tuner plug-in settings? I know the plugin allows you to force move at a certain time but I would ideally like to do this via script so I can stop and start the docker containers before/after moving. Thanks!

Edited by bobokun

On 3/10/2021 at 5:03 PM, hugenbdd said:

This is expected behavior.

 

Just for clarity.  When hitting the button, mover will run, however, the cache threshold may not be met, so it doesn't move anything and "skips" the custom mover command. (Check the logs to see the statements)

 

I will look at putting a new button in, that calls the original mover.  (This would not look at any of the config settings.)

Does this mean that the when the plugin is enabled it will only move above the treshold set and until the treshold is met? That is what it looks to be doing here. 

ATM i can not invoke mover manually if below 75% and it will not move anything below my treshold

Edit: i do have a cron schedule set.

Edited by Glasti

21 hours ago, hugenbdd said:

Looks like it should be working.  Odd.  It's almost like the cache directories got moved somewhere else or renamed.  As it is throwing that find error with "no such file or directory".  Maybe with the addition of cache pooltwo it got renamed with a capital Cache instead of lowercase cache?

 

Can you run these two commands from the console?

 

ls -ltr /mnt/cache

 

 

find /mnt/cache/Downloads -depth

 -This will probably fail, like it did in the logs.  We need to find the correct path and then I can see why my code didn't work correctly.

 

 

Alternatively, you can go back in, set the "Downloads" share cache to something else, hit apply, then immediately set it back to the original cache, set apply

 

Hello, I uninstalled the plugin and ran the mover and worked successfully but wanting to reinstall.

 

I ran the commands stated above and also ran downloads without a capital and found a bunch of files partaining to my download spree.

brtsdOJ.png

 

Other information:
I had a problem occur in the past where docker apps were located to Downloads and not downloads, Media and not media etc. From what i know, Unraid or linux in general can read capital named folders seperately no problem whereas Windows reads them as one folder and gets confused if there's 2 of the same on a share. (please correct me if i'm wrong) That problem was resolved but maybe the plugin got confused with capitalization or the cache drive had leftover files?

Edited by halt95
more info

5 hours ago, bobokun said:

Thanks for creating such an amazing plugin. I currently have a threshold set. I currently have a user script that turns off my torrent/nextcloud dockers and runs mover using 


/usr/local/sbin/mover

The problem is it's using the settings I set in mover tuner. How do I run mover via script without applying the tuner plug-in settings? I know the plugin allows you to force move at a certain time but I would ideally like to do this via script so I can stop and start the docker containers before/after moving. Thanks!

You will want to call the old mover.

 

/usr/local/sbin/mover.old

5 hours ago, Glasti said:

Does this mean that the when the plugin is enabled it will only move above the treshold set and until the treshold is met? That is what it looks to be doing here. 

ATM i can not invoke mover manually if below 75% and it will not move anything below my treshold

Edit: i do have a cron schedule set.

Correct.

I'm looking at adding a button on the page to call the original mover. 

 

You can still call the original mover from the command line.

/usr/local/sbin/mover.old

3 hours ago, halt95 said:

 

Hello, I uninstalled the plugin and ran the mover and worked successfully but wanting to reinstall.

 

I ran the commands stated above and also ran downloads without a capital and found a bunch of files partaining to my download spree.

brtsdOJ.png

 

Other information:
I had a problem occur in the past where docker apps were located to Downloads and not downloads, Media and not media etc. From what i know, Unraid or linux in general can read capital named folders seperately no problem whereas Windows reads them as one folder and gets confused if there's 2 of the same on a share. (please correct me if i'm wrong) That problem was resolved but maybe the plugin got confused with capitalization or the cache drive had leftover files?

It looks like your share is using a capital D, and the cache directory is using a lowercase d.  It thinks they are two different directories.  This needs to be corrected so that they match.  once they match the plug-in will work.  (Same case D)

 

The original mover worked, because it does not try to match the share name with the cache directory and just moves everything.

3 minutes ago, hugenbdd said:

Correct.

I'm looking at adding a button on the page to call the original mover. 

 

You can still call the original mover from the command line.

/usr/local/sbin/mover.old

Thank you for the info, this makes the Mover button in the `Main` tab obsolete. No big deal for me. 
Would it be possible to add multiple cron jobs? So you can force move multiple times a day if necessary?

On 3/6/2021 at 1:05 PM, rinseaid said:

Hey - great plugin, much appreciated for all the work from both @Squid and @hugenbdd.

 

I wanted the ability to move files based on minimum number of links. My use case is that I hard link all torrent files downloaded, and want to keep seeding torrents (and their hard linked media) on my cache pool. In combination with the exclude file list (adding the directory my torrents download to) any media file with less than 2 links will be moved to the array. 

 

I made the necessary adjustments to add this functionality and have attached patch here in the event that you want to incorporate this into the plugin. Note that the lowest setting is '2' links, since all files have at least 1 link. Setting to 1 would therefore find no eligible files to move.

 

movertuning.patch 5.49 kB · 1 download

Haven't forgotten about this.  Will circle back in a few weeks once things settle down with the new release and try and add this in.

3 minutes ago, Glasti said:

Thank you for the info, this makes the Mover button in the `Main` tab obsolete. No big deal for me. 
Would it be possible to add multiple cron jobs? So you can force move multiple times a day if necessary?

Should not be an issue.  adding to cron is a bit different in unRaid.  I can't remember the way they recommend.  However, you would want to add something like /usr/local/sbin/mover.old start

 

Maybe someone else on the thread can give you more specific cron instructions.

8 minutes ago, hugenbdd said:

Should not be an issue.  adding to cron is a bit different in unRaid.  I can't remember the way they recommend.  However, you would want to add something like /usr/local/sbin/mover.old start

 

Maybe someone else on the thread can give you more specific cron instructions.

Add the command to the user scripts plugin with a cron setting.

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.