mirror of
https://github.com/rclone/rclone.git
synced 2024-11-25 01:44:41 +01:00
rclone fstab mount helper
commit
5bdc5d69ec
45
rclone-fstab-mount-helper-script.md
Normal file
45
rclone-fstab-mount-helper-script.md
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
To enable mounting a volume using rclone via an fstab entry, a following script can be used:
|
||||||
|
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
src=$1
|
||||||
|
dst=$2
|
||||||
|
|
||||||
|
shift 2
|
||||||
|
|
||||||
|
# Process -o parameters
|
||||||
|
while getopts :o: opts; do
|
||||||
|
case $opts in
|
||||||
|
o)
|
||||||
|
parms=`echo $OPTARG | sed -e 's/,/ /g'`
|
||||||
|
for parm in $parms; do
|
||||||
|
if [ $parm == "rw" ]; then continue; fi
|
||||||
|
if [ $parm == "dev" ]; then continue; fi
|
||||||
|
if [ $parm == "suid" ]; then continue; fi
|
||||||
|
if [ $parm == "exec" ]; then continue; fi
|
||||||
|
if [ $parm == "noexec" ]; then continue; fi
|
||||||
|
if [ $parm == "nosuid" ]; then continue; fi
|
||||||
|
if [ $parm == "nodev" ]; then continue; fi
|
||||||
|
trans="$trans --$parm"
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
\?)
|
||||||
|
echo "Invalid option: -$OPTARG"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
trans="$trans $src $dst"
|
||||||
|
|
||||||
|
PATH=$PATH rclone mount $trans &
|
||||||
|
sleep 5
|
||||||
|
|
||||||
|
|
||||||
|
Then in fstab you can add something like:
|
||||||
|
|
||||||
|
rclonefs#crypt:/path /mnt/tmp fuse config=/home/user/.rclone.conf,allow-other,default-permissions,read-only,max-read-ahead=16M 0 0
|
||||||
|
|
||||||
|
Obviously, change the path to your config appropriately, and the name of the remote (in the above case "crypt" and the paths.
|
||||||
|
|
||||||
|
Important:
|
||||||
|
rclonefs wrapper has to be in the PATH=/usr/local/bin:/usr/bin. mount is suid and doesn't ignores pre-set PATHs. Similarly, rclone invocation fails to find fusermount if not invoked with PATH=$PATH explicitly set.
|
Loading…
Reference in New Issue
Block a user