[unRAID 6 beta14+] Unassigned Devices [former Auto Mount USB]


Recommended Posts

Hi,

 

is there an easy way to add nvme disks (pcie ssds) to the plugins list?

Since they are not yet supported as cache disks, this awesome plugin would be ne next best thing :)

 

Right now they dont show up, you are probably not looking into /dev/nvme* for disks?

Not nesseseraly all features, but at least auto-mount (for VMs) would be nice.

 

If you dont have access to a nvme drive, I could test it for you or provide console output to your device search pattern.

 

Dont mind if it's too much work, it'll probably work without the plugin.

 

Anyway, great plugins so far, keep it up :)

Link to comment

Hi,

 

is there an easy way to add nvme disks (pcie ssds) to the plugins list?

Since they are not yet supported as cache disks, this awesome plugin would be ne next best thing :)

 

Right now they dont show up, you are probably not looking into /dev/nvme* for disks?

Not nesseseraly all features, but at least auto-mount (for VMs) would be nice.

 

If you dont have access to a nvme drive, I could test it for you or provide console output to your device search pattern.

 

Dont mind if it's too much work, it'll probably work without the plugin.

 

Anyway, great plugins so far, keep it up :)

 

I'll try this soon.

Link to comment

Hi,

 

i got a small cosmetic problem with unassigned devices - see the attached screenshot. It seems the template for the table has an extra "-" entry for the automount switch. Also the free space on my 8tb drive is given in pb instead of tb - probably a overflow error. See the attached screenshot. Otherwise the plugin is working great!

 

regards,

 

Videodr0me

unassigned_devices.PNG.fb145e7748200cec8575e5b87f3248ab.PNG

Link to comment

was checking logs today and found this:

 

Mon Nov 16 18:20:48 MST 2015: PHP Warning: include(1): failed to open stream: No such file or directory in /usr/local/emhttp/plugins/dynamix/include/DefaultPageLayout.php(289) : eval()'d code on line 562                
Mon Nov 16 18:20:48 MST 2015: PHP Warning: include(): Failed opening '1' for inclusion (include_path='.:') in /usr/local/emhttp/plugins/dynamix/include/DefaultPageLayout.php(289) : eval()'d code on line 562             

 

Should I be concerned?

 

Myk

 

Link to comment

was checking logs today and found this:

 

Mon Nov 16 18:20:48 MST 2015: PHP Warning: include(1): failed to open stream: No such file or directory in /usr/local/emhttp/plugins/dynamix/include/DefaultPageLayout.php(289) : eval()'d code on line 562                
Mon Nov 16 18:20:48 MST 2015: PHP Warning: include(): Failed opening '1' for inclusion (include_path='.:') in /usr/local/emhttp/plugins/dynamix/include/DefaultPageLayout.php(289) : eval()'d code on line 562             

 

Should I be concerned?

 

Myk

 

Can you please send me the list of installed plugins?

Link to comment

I've just installed a new SSD and the 'Format' button is disabled. I opened a terminal, formatted as btrfs and mounted all manually, but the plugin then doesn't show the drive as mounted. Would prefer to format and mount via the plugin - any ideas?

Link to comment

I've just installed a new SSD and the 'Format' button is disabled. I opened a terminal, formatted as btrfs and mounted all manually, but the plugin then doesn't show the drive as mounted. Would prefer to format and mount via the plugin - any ideas?

 

Go to Settings, Unassigned Devices and change Destructive Mode: to Enabled

Link to comment

 

Need some help. Can you please let me know how can I mount a Mac OS Extended (Journaled) drive? I am trying to copy some large amount of data over to server that is on a mac formatted drive.

I mounted a mac drive connected directly via sata. It mounted ok, but I ran into trouble with errors by doing lots of renaming, deleting and changing permissions (newperms) on the drive. I'm not sure if the drive was corrupt to begin with or whether my extensive I/o on the drive caused the problems. I'll copy the data via smb in future!

 

Link to comment

I encountered a strange issue after upgrading to 6.1.4.  On my one unraid server, almost every morning the web UI would display, but the array page was blank and the dashboard didn't show any disks.  I rebooted yesterday and it cleared, but this morning it was doing the same.  I noticed in the /var/log/unassigned.device.log the following entries:

 

at Nov 21 10:31:14 EST 2015: PHP Warning: set_error_handler() expects the argument () to be a valid callback in /usr/local/emhttp/plugins/unassigned.devices/UnassignedDevices.php on line 428

Sat Nov 21 10:31:24 EST 2015: PHP Warning: set_error_handler() expects the argument () to be a valid callback in /usr/local/emhttp/plugins/dynamix/include/DefaultPageLayout.php(289) : eval()'d code on line 550

Sat Nov 21 10:31:25 EST 2015: PHP Warning: set_error_handler() expects the argument () to be a valid callback in /usr/local/emhttp/plugins/unassigned.devices/UnassignedDevices.php on line 428

Sat Nov 21 10:31:29 EST 2015: PHP Warning: set_error_handler() expects the argument () to be a valid callback in /usr/local/emhttp/plugins/dynamix/include/DefaultPageLayout.php(289) : eval()'d code on line 550

Sat Nov 21 10:31:30 EST 2015: PHP Warning: set_error_handler() expects the argument () to be a valid callback in /usr/local/emhttp/plugins/unassigned.devices/UnassignedDevices.php on line 428

 

I removed the Unassigned Devices plugin, and the UI began acting normally again. 

 

Update:

 

I tried reinstalling to see if it would happen again, and now I get an error message as in the attached screenshot...

Screen_Shot_2015-11-21_at_10_36.40_AM.png.8976ca537ddb68507028ce05cb5e0ad7.png

Link to comment

I am thinking now there is nothing wrong with the plugin.  I found my web UI was blank on the array page and I noticed on running commands from a shell I was getting "no space left on device" messages".  I didn't see any filesystems that were full and memory was not fully utilized, so not sure what the problem was.  I rebooted, and the plugin installed without any issues.  Must be something that occurs overnight...

 

Thanks,

Jeff

Link to comment

I am thinking now there is nothing wrong with the plugin.  I found my web UI was blank on the array page and I noticed on running commands from a shell I was getting "no space left on device" messages".  I didn't see any filesystems that were full and memory was not fully utilized, so not sure what the problem was.  I rebooted, and the plugin installed without any issues.  Must be something that occurs overnight...

 

Thanks,

Jeff

If it happens again, take a look on the Dashboard under System Status for the numbers labeled flash : log : docker. Possibly the "no space" device is the log.
Link to comment

I am seeing a similar problem with free space in / slowly reducing.    So far my investigations have suggested it is something in /var/cache/samba.

 

I suspect that stopping and starting samba resets the files so that the used space is temporarily reclaimed, which is possibly why uninstalling the plugin appeared to fix the problem.

 

[Note that the Dashboard does not display the free space of /]

 

Update: I now don't think it is /var/cache/samba but rather possibly something in /var/cron.  The strange thing is that 'df /' is showing a decrease of the free space at a rate of about 1% an hour, but 'du -x /' is not showing an equivalent change in the blocks used.

 

Update 2: removing the checksum plugin appears to have stopped the loss of free space on my system.    Jbhipps, do you have this plugin installed on your system?

Link to comment

In case anyone is interested, I expanded a bit on gfjardim's sample script and posted it here:

  https://gist.github.com/ljm42/02b54ce9cc36f992515b

 

Once it is configured, all you have to do is insert a memory card, wait for the beep, and remove the memory card.  The script will automatically move/copy files from the USB's DCIM subdirs onto the array, you just need to configure it so it knows what dirs your camera uses and where you want the files to go.

 

If you install jhead as described in the comments, it will also automatically rotate the images according to the exif data, which is my favorite part :)

 

Love this. I know nothing about scripting so I have a favor to ask. How can I go about making it add the date (current or when file was created. Doesn't matter what one) to the file name. My phantom always starts at DJI0001.mov and causes issues. So adding the date would help a lot.

Link to comment

ok, been working on this for a bit with a ton of googling

 

i have this script that does exactly what i want it to do

 

for r in ${DESTINATION}/*.MOV; do
mod_date=$(stat --format %y "$i"|awk '{print $1"_"$2}'|cut -f1 -d'.'|sed 's/[: -]//g')
cp "$i" "$mod_date$i"
done
fi

 

tested on some test files and works just great.

I tried 2 ways to use this

I tried to insert that script test into the script provided in the first page. but no matter where I place the code it breaks the whole script.

I also tried calling up the script at the end of the sample script using /bin/bash /mnt/blah/blah/rename.sh again with no luck. can anyone tell me how i can get this script to run either from within the demo script or to be called after the demo is done

 

here is the demo from page 1 that is working beautifully

 

#!/bin/bash
PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin

## Usage (after configuration):
## 1. Insert camera's memory card into USB card reader on unRAID system.
## 2. This script will automatically move (or copy) any images/videos from the memory card to the array.
##    If jhead was installed, it will automaticaly rotate images according to the exif data too.
## 3. Wait for the imperial theme to play, then remove the memory card.

## Preparation:
## 1. Install jhead (to automatically rotate photos) by downloading this file:
##      http://www.slackware.com/~alien/slackbuilds/jhead/pkg64/13.37/jhead-2.90-x86_64-1alien.tgz
##    and placing it in /boot/extra/ .  Then reboot or run:
##       installpkg jhead-2.90-x86_64-1alien.tgz
## 2. Install the "Auto Mount USB Mass Storage Devices" plugin for unRAID from:
##    http://lime-technology.com/forum/index.php?topic=38635.msg360355
## 3. Use that plugin to set this script to run when a memory card is inserted
## 4. Configure variables in this script as described below

## --- BEGIN CONFIGURATION ---

## SET THIS FOR YOUR CAMERAS: 
## array of directories under /DCIM/ that contain files you want to move (or copy)
## can contain regex
VALIDDIRS=("/DCIM/[0-9][0-9][0-9]___[0-9][0-9]" "/DCIM/[0-9][0-9][0-9]CANON" "/DCIM/[0-9][0-9][0-9]_FUJI" "/DCIM/100MEDIA")

## SET THIS FOR YOUR SYSTEM:
## location to move files to. use date command to ensure unique dir
DESTINATION="/mnt/user/Drone/Dump/"

## SET THIS FOR YOUR SYSTEM:
## change to "move" when you are confident everything is working
MOVE_OR_COPY="copy"

## set this to 1 and check the syslog for additional debugging info
DEBUG="1"

## --- END CONFIGURATION ---

## Available variables: 
# AVAIL      : available space
# USED       : used space
# SIZE       : partition size
# SERIAL     : disk serial number
# ACTION     : if mounting, ADD; if unmounting, REMOVE
# MOUNTPOINT : where the partition is mounted
# FSTYPE     : partition filesystem
# LABEL      : partition label
# DEVICE     : partition device, e.g /dev/sda1

beep_imperial() {
  for i in $(seq 1 ${1}); do
    beep -f 392 -l 450 -r 3 -D 150 -n -f 311.13 -l 400 -D 50 \
    -n -f 466.16 -l 100 -D 50 -n -f 392 -l 500 -D 100 \
    -n -f 311.13 -l 400 -D 50 -n -f 466.16 -l 100 -D 50 \
    -n -f 392 -l 600 -D 600 -n -f 587.33 -l 450 -r 3 -D 150 \
    -n -f 622.25 -l 400 -D 50 -n -f 466.16 -l 100 -D 50 \
    -n -f 369.99 -l 500 -D 100 -n -f 311.13 -l 400 -D 50 \
    -n -f 466.16 -l 100 -D 50 -n -f 392 -l 500 -D 100
    sleep 2
  done
}

case $ACTION in
  'ADD' )
  if [ ${DEBUG} ]; then logger "USB: beginning ADD action"; fi

  RSYNCFLAG=""
  MOVEMSG="copying"
  if [ ${MOVE_OR_COPY} == "move" ]; then
    RSYNCFLAG=" --remove-source-files "
    MOVEMSG="moving"
  fi

  # only operate on USB disks that contain a /DCIM directory, everything else will simply be mounted
  if [ -d "${MOUNTPOINT}/DCIM" ]; then
    if [ ${DEBUG} ]; then logger "USB: ${MOUNTPOINT}/DCIM exists"; fi

    # loop through all the subdirs in /DCIM looking for dirs defined in VALIDDIRS
    for DIR in ${MOUNTPOINT}/DCIM/*; do
      if [ -d "${DIR}" ]; then
        if [ ${DEBUG} ]; then logger "USB: checking ${DIR}"; fi
        for element in "${VALIDDIRS[@]}"; do
          if [[ ${DIR} =~ ${element} ]]; then
            # process this dir
            logger "USB: ${MOVEMSG} ${DIR} to ${DESTINATION}"
            rsync -a ${RSYNCFLAG} "${DIR}/" "${DESTINATION}"
            # remove empty directory from memory card
            if [ ${MOVE_OR_COPY} == "move" ]; then
              rmdir ${DIR}
            fi
          fi
        done
      fi
    done
    # files were moved (or copied).  unmount USB drive, fix permissions, and rotate images
    if [ -d "${DESTINATION}" ]; then

      if [ ${DEBUG} ]; then logger "USB: destination created"; fi
      /usr/local/sbin/usb_umount $DEVICE
      newperms "${DESTINATION}"
      if [ -e "/usr/bin/jhead" -a -e "/usr/bin/jpegtran" ]; then
        if [ ${DEBUG} ]; then logger "USB: about to run jhead"; fi
        jhead -autorot -ft "${DESTINATION}"/*.[jJ][pP][gG]
      fi
      beep_imperial 1 &
      # it is now safe to remove the USB drive and review the files that were moved (or copied)

    fi

  fi
  if [ ${DEBUG} ]; then logger "USB: completed ADD action"; fi

  ;;
  'REMOVE' )
    if [ ${DEBUG} ]; then logger "USB: beginning REMOVE action"; fi
  ;;
esac

 

Link to comment

some more testing. after putting just the rename script in the option. nogo. works just fine from putty. but not with the mount script  >:(

 

Check your script syntax. I think the "ii" might need to be "done", or is not supposed to be there.  There doesn't seem to be an "if".

Link to comment

some more testing. after putting just the rename script in the option. nogo. works just fine from putty. but not with the mount script  >:(

 

Check your script syntax. I think the "ii" might need to be "done", or is not supposed to be there.  There doesn't seem to be an "if".

 

#!/bin/bash
# Copy MP3 files in a directory to a new name based solely on creation date
# FROM: foo.mp3  Created on: 2012-04-18 18:51:44
# TO:    20120418_185144.mp3
for r in *.MOV
do
#  mod_date=$(stat -c "%y" "$r"|sed 's/\..*$//')
#  mod_date=$(stat -c "%y" "$r"|awk '{print $1"_"$2}'|sed 's/\..*$//')
mod_date=$(stat --format %y "$r"|awk '{print $1"_"$2}'|cut -f1 -d'.'|sed 's/[: -]//g')
mv "$r" "$mod_date$r"
done

 

the script i found as i found it. just changed for my needs. this is working when running "rename.sh"

i tried adding the dir to the path variable in the main script and adding the line ./rename.sh

also tried exec /mnt/user/Drone/Dump/rename.sh and

source rename.sh and

source /mnt/user/Drone/Dump/rename.sh

 

i changed the for i in to for r in because i was used in the original script

 

all without luck :-(

Link to comment

ok, been working on this for a bit with a ton of googling

 

i have this script that does exactly what i want it to do

 

for r in ${DESTINATION}/*.MOV; do
mod_date=$(stat --format %y "$i"|awk '{print $1"_"$2}'|cut -f1 -d'.'|sed 's/[: -]//g')
cp "$i" "$mod_date$i"
done
fi

 

It appears that you may have carriage returns in this script.  Linux does not like carriage returns.  Use an editor that is Linux compatible and uses line feeds to terminate lines.

 

The "fi" at the end does not have a corresponding "if".

 

 

Link to comment
  • Squid locked this topic
Guest
This topic is now closed to further replies.