Script to locate which disk a file is on


Recommended Posts

Here's a quick script I use to return the true path of a file:

 

#!/bin/bash
for d in /mnt/disk[1-9]*; do
   if [[ -e "$d$(printf "$1" | sed 's/\/mnt\/user//')" ]]; then
      echo "$d$(printf "$1" | sed 's/\/mnt\/user//')" && break
   fi
done

 

Or as a function:

 

shfs_locate() {
   for d in /mnt/disk[1-9]*; do
      if [[ -e "$d$(printf "$1" | sed 's/\/mnt\/user//')" ]]; then
         echo "$d$(printf "$1" | sed 's/\/mnt\/user//')" && break
      fi
   done
}

 

Run it like "shfs_locate.sh /mnt/user/myshare/myfile" or as a function: "shfs_locate /mnt/user/myshare/myfile"

 

Interested if anyone knows how to implement this natively with shfs commands exposed by unRAID to prevent any disk spin-up.

Link to comment

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...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.