-
-
Save bonelifer/bf33ecd757ebc7514ebe3c2474cdcc8e to your computer and use it in GitHub Desktop.
How to automatically mount/unmount an external USB hard drive
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# File: /etc/udev/rules.d/85-external-drive-rule.rules | |
# Rules for auto-mounting/unmounting USB drives | |
ACTION=="add", ENV{ID_MODEL}=="USB_to_ATA_ATAPI_bridge", ENV{ID_VENDOR_ID}=="152d", ENV{ID_MODEL_ID}=="2338", RUN+="/usr/local/bin/automount.sh" | |
ACTION=="remove", ENV{ID_MODEL}=="USB_to_ATA_ATAPI_bridge", ENV{ID_VENDOR_ID}=="152d", ENV{ID_MODEL_ID}=="2338", RUN+="/usr/local/bin/unmount.sh" | |
# Notes: | |
# To detect your own drive's ID_MODEL, ID_MODEL_ID, and ID_VENDOR_ID, run "udevadm monitor --environment --udev" before plugging/unplugging the drive | |
# To force udev to reload these rules (without reboot), run "udevadm control --reload-rules" and "udevadm trigger" | |
# To change udev's logging level (written to /var/log/syslog), you can run "udevadm control --log-priority=info" (or debug), or configure it via /etc/udev/udev.conf |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# File: /usr/local/bin/automount.sh | |
# Wait a few seconds for the drive to spin up after connecting | |
sleep 5 | |
# Use the rules in /etc/fstab to automatically mount the drive | |
/bin/mount -a | |
# Tell the drive to spin down after 10 minutes | |
if [ -e /dev/sda ]; then | |
/sbin/hdparm -K1 -S120 /dev/sda | |
fi | |
if [ -e /dev/sdb ]; then | |
/sbin/hdparm -K1 -S120 /dev/sdb | |
fi |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# File: /etc/fstab | |
# OS partitions (don't mess with 'em): | |
proc /proc proc defaults 0 0 | |
/dev/mmcblk0p1 /boot vfat defaults 0 2 | |
/dev/mmcblk0p2 / ext4 defaults,noatime 0 1 | |
# At boot-time, automatically mount your external HDD, if detected | |
# To find the UUID, run "blkid" | |
UUID=<partition-uuid> /mnt/<path> ntfs-3g defaults,auto,noatime,nodiratime,noexec 0 0 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# File: /usr/local/bin/unmount.sh | |
# The path you use could be the partition in /dev or could be the mount-point (something under /mnt, /media) | |
/bin/umount /mnt/<path> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
A 3TB internal SATA drive is connected to my Raspberry Pi 2 Model B via a USB-to-SATA adapter. | |
I am using the RPi to run kodi; all the movies, videos, and TV shows are contained in the hard-drive. | |
My goals for drive-management are: | |
* To automatically detect and mount the drive at boot-time (if detected) => use /etc/fstab | |
* To automatically detect and mount the drive after boot-time (whenever hot-plugged) => write custom /etc/udev/rules.d/*.rules | |
* To automatically unmount the drive when it is unplugged/powered-off => write custom /etc/udev/rules.d/*.rules | |
* To spin down the hard-drive after a period of inactivity => piggy-back off the udev rules |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment