October 21, 2025Oct 21 On 10/20/2025 at 12:37 AM, jcofer555 said:the removal of unraid mover has been removed from this plugin due to the complexities of how it needs to be implementedWhat's the procedure for the plugin then? Do I have to completely disable the Unraid Mover in the settings, and then the plugin will monitor and move the files based on the settings (cache->array) and the filters?
October 21, 2025Oct 21 Author 6 minutes ago, cnvscgn said:What's the procedure for the plugin then? Do I have to completely disable the Unraid Mover in the settings, and then the plugin will monitor and move the files based on the settings (cache->array) and the filters?unraid doesn't have a "disable" option for the mover yet, hopefully they are going to include the option at some point. best you do can is set it for monthly and then the rest of the month the plugin will do the job. once unraid offers a disabled option then you can just use that and yea this plugin would monitor and move the files based on your share settings and the filters used
October 24, 2025Oct 24 The latest version 2025.10.80 has a bit of broken CSS. When the QBit checkbox is enabled, it causes the checkboxes to overlap the bottom of the container.
October 24, 2025Oct 24 Author 4 hours ago, foamy said:The latest version 2025.10.80 has a bit of broken CSS. When the QBit checkbox is enabled, it causes the checkboxes to overlap the bottom of the container.What os version are you on?
October 24, 2025Oct 24 Author 15 minutes ago, foamy said:7.1.4What browser? I just tested with os 7.1.4 with both Firefox and edge on windows and they were fine
October 24, 2025Oct 24 23 minutes ago, jcofer555 said:What browser? I just tested with os 7.1.4 with both Firefox and edge on windows and they were fineI'm using Waterfox 6.6.4 on macOS Tahoe. I get the same behavior in Safari. Note, I'm not on an enormous screen, if that matters, I'm using a 13" Macbook Air. The browser width is ~1265px. I only know this because it trips a separate bug where there is a horizontal scroll bar due to a bad CSS default for the whole web UI. I'm hoping Unraid 7.2 fixes that.I believe the issue is that the rectangle the content intends to live in is set to a fixed height, so it doesn't flex when child content wants it to be taller. It probably shouldn't be based on viewport height if the intent is to use it as a wrapper for variable height content that can be taller than the viewport. In DevTools, if I disable the height and max-height CSS in the class below, it renders properly both with and without the Qbit checkbox enabled#automover-settings { flex: 1; height: 105vh; /* can probably remove this */ max-width: 450px; /* this may not be a good idea for variable width screens */ max-height: 105vh; /* can probably remove this */ }
October 24, 2025Oct 24 Author 18 minutes ago, foamy said:I'm using Waterfox 6.6.4 on macOS Tahoe. I get the same behavior in Safari. Note, I'm not on an enormous screen, if that matters, I'm using a 13" Macbook Air. The browser width is ~1265px. I only know this because it trips a separate bug where there is a horizontal scroll bar due to a bad CSS default for the whole web UI. I'm hoping Unraid 7.2 fixes that.I believe the issue is that the rectangle the content intends to live in is set to a fixed height, so it doesn't flex when child content wants it to be taller. It probably shouldn't be based on viewport height if the intent is to use it as a wrapper for variable height content that can be taller than the viewport. In DevTools, if I disable the height and max-height CSS in the class below, it renders properly both with and without the Qbit checkbox enabled#automover-settings { flex: 1; height: 105vh; /* can probably remove this */max-width: 450px; /* this may not be a good idea for variable width screens */max-height: 105vh; /* can probably remove this */ }good catch, that section was meant to be deleted, it's a duplicate to what is at the top. on the next update it'll be removed
October 24, 2025Oct 24 6 minutes ago, jcofer555 said:good catch, that section was meant to be deleted, it's a duplicate to what is at the top. on the next update it'll be removedAnother CSS tweak would be making these consistent, since both are logging containers. Right nmow, they use different margins for the text containers I'd even go further to suggest stacking them, with the run history on top and made less tall, to allow for the file migration log/history to be wider. That current layout is hard to use since it wraps so much of the content. I only see like 5-8 file migration log lines due to the current wrapping.
October 24, 2025Oct 24 Author 2 minutes ago, foamy said:Another CSS tweak would be making these consistent, since both are logging containers. Right nmow, they use different margins for the text containers I'd even go further to suggest stacking them, with the run history on top and made less tall, to allow for the file migration log/history to be wider. That current layout is hard to use since it wraps so much of the content. I only see like 5-8 file migration log lines due to the current wrapping.yea not sure how much better css will get to be honest, i'm not very good with it and dealing with multiple size screens is not an easy thing. likely the smaller the screen the more issues people will notice sadly. i'll do what i can but have 0 devices to test with so it's not super likely i'll be able to fix all of them. stacking them would just pose a similar issue as they grow in height one would get pushed out on smaller screens when one gets long that or i'd have to set max heights which has it's own nuances
October 25, 2025Oct 25 Author 12 hours ago, foamy said:Another CSS tweak would be making these consistent, since both are logging containers. Right nmow, they use different margins for the text containers I'd even go further to suggest stacking them, with the run history on top and made less tall, to allow for the file migration log/history to be wider. That current layout is hard to use since it wraps so much of the content. I only see like 5-8 file migration log lines due to the current wrapping.2025.10.81.4 update hopefully helps with the smaller screens
October 25, 2025Oct 25 4 hours ago, jcofer555 said:2025.10.81.4 update hopefully helps with the smaller screensVertical is good, but now the first column spills over horizontally. Yeah, I know, CSS sucks. I hate it as much as you do. :) Edited October 25, 2025Oct 25 by foamy
October 25, 2025Oct 25 Author 3 minutes ago, foamy said:Vertical is good, but now the first column spills over horizontally. Yeah, I know, CSS sucks. I hate it as much as you do. :)yes i suspected some of them would still be off, glad to hear the vertical is good. will work on the others over time but can't guarantee anything
October 26, 2025Oct 26 Author 18 hours ago, foamy said:Vertical is good, but now the first column spills over horizontally. Yeah, I know, CSS sucks. I hate it as much as you do. :)i released a new update with some more css changes, hopefully it helps
October 26, 2025Oct 26 41 minutes ago, jcofer555 said:i released a new update with some more css changes, hopefully it helpsChef's kiss, looking good now.Also, awesome work incorporating jdupes. I haven't tried it yet, but looking forward to replacing the custom Docker container I built just to run that.Mind sharing the arguments you pass for that command?
October 26, 2025Oct 26 Author 4 minutes ago, foamy said:Chef's kiss, looking good now.Also, awesome work incorporating jdupes. I haven't tried it yet, but looking forward to replacing the custom Docker container I built just to run that.Mind sharing the arguments you pass for that command?nice, glad to hear it's betterif [[ "$ENABLE_JDUPES" == "yes" ]]; then if command -v jdupes >/dev/null 2>&1; then TEMP_LIST="/tmp/automover_jdupes_list.txt" HASH_DIR="$HASH_PATH" HASH_DB="${HASH_DIR}/jdupes_hash_database.db" # Ensure HASH_DIR if [[ ! -d "$HASH_DIR" ]]; then mkdir -p "$HASH_DIR" chmod 777 "$HASH_DIR" else echo "Using existing jdupes database: $HASH_DB" >> "$LAST_RUN_FILE" fi if [[ ! -f "$HASH_DB" ]]; then touch "$HASH_DB" chmod 666 "$HASH_DB" echo "Creating jdupes hash database at $HASH_DIR" >> "$LAST_RUN_FILE" fi # Extract destination file paths from Automover log grep -E -- ' -> ' "$AUTOMOVER_LOG" | awk -F'->' '{gsub(/^[ \t]+|[ \t]+$/, "", $2); print $2}' > "$TEMP_LIST" if [[ ! -s "$TEMP_LIST" ]]; then echo "No moved files found, skipping jdupes step" >> "$LAST_RUN_FILE" return fi # Determine affected shares from destination paths (e.g., /mnt/user0/movies) mapfile -t SHARES < <(awk -F'/' '$2=="mnt" && $3=="user0" && $4!="" {print $4}' "$TEMP_LIST" | sort -u) # Excluded shares EXCLUDES=("appdata" "system" "domains" "isos") for share in "${SHARES[@]}"; do # Skip excluded shares skip=false for ex in "${EXCLUDES[@]}"; do [[ "$share" == "$ex" ]] && skip=true && break done [[ "$skip" == true ]] && { echo "Skipping excluded share: $share" >> "$LAST_RUN_FILE" continue } SHARE_PATH="/mnt/user/${share}" [[ -d "$SHARE_PATH" ]] || { echo "Skipping missing path: $SHARE_PATH" >> "$LAST_RUN_FILE" continue } echo "Jdupes processing share $share" >> "$LAST_RUN_FILE" # Run jdupes on this share’s destination folder /usr/bin/jdupes -rLX onlyext:mp4,mkv,avi -y "$HASH_DB" "$SHARE_PATH" 2>&1 \ | grep -v -E \ -e "^Creating a new hash database " \ -e "^[[:space:]]*AT YOUR OWN RISK\. Report hashdb issues to jody@jodybruchon\.com" \ -e "^[[:space:]]*yet and basic .*" \ -e "^[[:space:]]*but there are LOTS OF QUIRKS.*" \ -e "^WARNING: THE HASH DATABASE FEATURE IS UNDER HEAVY DEVELOPMENT!.*" \ >> "$LAST_RUN_FILE" echo "Completed jdupes step for $share" >> "$LAST_RUN_FILE" done else echo "Jdupes not installed, skipping jdupes step" >> "$LAST_RUN_FILE" fi fi
October 26, 2025Oct 26 2 hours ago, jcofer555 said:nice, glad to hear it's betterif [[ "$ENABLE_JDUPES" == "yes" ]]; thenif command -v jdupes >/dev/null 2>&1; then TEMP_LIST="/tmp/automover_jdupes_list.txt" HASH_DIR="$HASH_PATH" HASH_DB="${HASH_DIR}/jdupes_hash_database.db" # Ensure HASH_DIRif [[ ! -d "$HASH_DIR" ]]; then mkdir -p "$HASH_DIR" chmod 777 "$HASH_DIR"else echo "Using existing jdupes database: $HASH_DB" >> "$LAST_RUN_FILE"fi if [[ ! -f "$HASH_DB" ]]; thentouch "$HASH_DB"chmod 666 "$HASH_DB"echo "Creating jdupes hash database at $HASH_DIR" >> "$LAST_RUN_FILE"fi # Extract destination file paths from Automover log grep -E -- ' -> ' "$AUTOMOVER_LOG" | awk -F'->' '{gsub(/^[ \t]+|[ \t]+$/, "", $2); print $2}' > "$TEMP_LIST" if [[ ! -s "$TEMP_LIST" ]]; then echo "No moved files found, skipping jdupes step" >> "$LAST_RUN_FILE" returnfi # Determine affected shares from destination paths (e.g., /mnt/user0/movies)mapfile -t SHARES < <(awk -F'/' '$2=="mnt" && $3=="user0" && $4!="" {print $4}' "$TEMP_LIST" | sort -u) # Excluded shares EXCLUDES=("appdata" "system" "domains" "isos") for share in "${SHARES[@]}"; do # Skip excluded shares skip=false for ex in "${EXCLUDES[@]}"; do [[ "$share" == "$ex" ]] && skip=true && break done [[ "$skip" == true ]] && { echo "Skipping excluded share: $share" >> "$LAST_RUN_FILE" continue } SHARE_PATH="/mnt/user/${share}" [[ -d "$SHARE_PATH" ]] || { echo "Skipping missing path: $SHARE_PATH" >> "$LAST_RUN_FILE" continue } echo "Jdupes processing share $share" >> "$LAST_RUN_FILE" # Run jdupes on this share’s destination folder /usr/bin/jdupes -rLX onlyext:mp4,mkv,avi -y "$HASH_DB" "$SHARE_PATH" 2>&1 \ | grep -v -E \ -e "^Creating a new hash database " \ -e "^[[:space:]]*AT YOUR OWN RISK\. Report hashdb issues to jody@jodybruchon\.com" \ -e "^[[:space:]]*yet and basic .*" \ -e "^[[:space:]]*but there are LOTS OF QUIRKS.*" \ -e "^WARNING: THE HASH DATABASE FEATURE IS UNDER HEAVY DEVELOPMENT!.*" \ >> "$LAST_RUN_FILE" echo "Completed jdupes step for $share" >> "$LAST_RUN_FILE"done elseecho "Jdupes not installed, skipping jdupes step" >> "$LAST_RUN_FILE"fifiWas there a driver behind hardcoding it for the video file extensions? I know it's a common use case, but it does limit it.
October 26, 2025Oct 26 Author 8 hours ago, foamy said:Was there a driver behind hardcoding it for the video file extensions? I know it's a common use case, but it does limit it.avoidance of linking config files and breaking one or both and performance so it doesn't have to scan the metadata of every file and instead only those extensions with those being the most common. i used the example from trash guides for the command
October 28, 2025Oct 28 Anyone else seeing where if you have an empty directory (including shares), it's deleting the folder/share? I have even tried adding it as an exclusion via /somepath and /somepath/ and the share is still deleted. I realize most use cases may never have an empty source directory but I will in mine.
October 28, 2025Oct 28 Author 1 hour ago, NetmaninTN said:Anyone else seeing where if you have an empty directory (including shares), it's deleting the folder/share? I have even tried adding it as an exclusion via /somepath and /somepath/ and the share is still deleted. I realize most use cases may never have an empty source directory but I will in mine.exclusions are just to exclude from moving, i have it set currently to delete empty folders/datasets after moving but i could make it a checkbox option if you'd like
October 28, 2025Oct 28 21 minutes ago, jcofer555 said:exclusions are just to exclude from moving, i have it set currently to delete empty folders/datasets after moving but i could make it a checkbox option if you'd likeThat would be perfect!
October 28, 2025Oct 28 Author 2 hours ago, NetmaninTN said:That would be perfect!sounds good, i'll have an update out soonish
October 28, 2025Oct 28 Author 6 hours ago, NetmaninTN said:That would be perfect!2025.10.82 is released with a fix for this
November 8, 2025Nov 8 I'm not sure if this is a bug, or just expected behavior.Reconstruct write should ideally only be enabled if there is content to move. I was scratching my head as to why my drives were spinning up unexpectedly, only to find the correlation in turbo write enabling being tied to the cron schedule of the plugin. I have a 3TB cache, and don't fill it quickly, so the unexpected spin-ups are just wasted electricity for me.Automover session finished - 2025-11-08 08:00:01 Duration: 0s Usage below threshold — nothing to do cache usage: 15% Threshold:50% Stop Threshold:0% Enabled reconstructive write mode (turbo write) Automover session started - 2025-11-08 08:00:01 EDIT: Adding some clarity. My observation is this:The plugin enables turbo write before checking if it's actually going to move anything. This should move to after the checkIt doesn't revert the turbo write setting back to whatever it previously was.In my case, My array is broken out into 3 user shares across 7 drives. I expect 3 of those 7 to be spun down nearly all the time. 1 of the 7 is specific to time machine backups, so it's spun up when backups are occurring/most of the time, and this is how I spotted that turbo writes were still going even when the automover plugin wasn't doing anything. Edited November 8, 2025Nov 8 by foamy
November 8, 2025Nov 8 Author 6 hours ago, foamy said:I'm not sure if this is a bug, or just expected behavior.Reconstruct write should ideally only be enabled if there is content to move. I was scratching my head as to why my drives were spinning up unexpectedly, only to find the correlation in turbo write enabling being tied to the cron schedule of the plugin. I have a 3TB cache, and don't fill it quickly, so the unexpected spin-ups are just wasted electricity for me.Automover session finished - 2025-11-08 08:00:01 Duration: 0s Usage below threshold — nothing to do cache usage: 15% Threshold:50% Stop Threshold:0% Enabled reconstructive write mode (turbo write) Automover session started - 2025-11-08 08:00:01 EDIT: Adding some clarity. My observation is this:The plugin enables turbo write before checking if it's actually going to move anything. This should move to after the checkIt doesn't revert the turbo write setting back to whatever it previously was.In my case, My array is broken out into 3 user shares across 7 drives. I expect 3 of those 7 to be spun down nearly all the time. 1 of the 7 is specific to time machine backups, so it's spun up when backups are occurring/most of the time, and this is how I spotted that turbo writes were still going even when the automover plugin wasn't doing anything.yea it's on my to-do list along with better reporting of the setting in the logs
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.