Every now and then while attempting to access my mounted Amazon Cloud Drive I would receive the error message “Bad Address”. To fix this issue I copied a script I had found on Reddit called remount.sh. This script is set to run every minute in crontab, it attempts to list the mounted folder and if it fails, it will attempt to remount the Amazon Cloud Drive.
I’m currently using this setup as a READ ONLY drive.
I adjusted the code to work with my encfs, plex and acd_cli setup.
#!/bin/sh echo "Remount Initiated $(date)" appname=$(basename $0) # Change this to the location of your Amazon Cloud Mountpoint acdmount="/home/plex/cloud" if [ $(ls -l $acdmount | grep -v '^total' | wc -l) -gt 0 ]; then echo Everything Looks ok exit fi if [ $(ps -Al | grep $appname | wc -l) -gt 2 ]; then echo "Already Running! Count $(ps -Al | grep $appname | wc -l)" exit fi echo "Remounting $(date)" # umount -f "$acdmount" echo "Unmounting" /usr/local/bin/acd_cli umount /home/plex/e /usr/local/bin/acd_cli umount /home/plex/cloud echo "Deleting" rm -rf /home/plex/cloud rm -rf /home/plex/e echo "Making" mkdir /home/plex/cloud mkdir /home/plex/e syncresult=$(/usr/local/bin/acdcli sync 2>&1) if [ $(echo $syncresult | grep -i error | wc -l) -gt 0 ]; then echo Error with the DB rm ~/.cache/acd_cli/nodes.db /usr/local/bin/acdcli sync sleep 10 fi echo $syncresult /usr/local/bin/acd_cli mount /home/plex/e ENCFS6_CONFIG='/home/plex/encfs.xml' encfs --extpass="ENCFS PASS" /home/plex/e/ /home/plex/cloud/ echo "Remount Done $(date)" exit
*/1 * * * * /path/fixmount.sh > /path/fixmount.log 2>&1
The only thing missing is a function to check if fixmount.sh is running too long.