Guide: How To Use Rclone To Mount Cloud Drives And Play Files


DZMM

Recommended Posts

It's not easy to mount 2 different team shares. Maybe I'm doing something wrong.

I have created 2 rclone_mounts scripts for my 2 crypts (googleFi & googleSh). But no matter what I try I can only get 1 mount script connected depending on which one I start first.

I've tried with 2 x RcloneRemoteName entries in 1 mount script, but it only uses one, I've tried to create a separate and call mountcheck to mountcheck2 but still the same.

 

How do I do it, so I can have both connected?

 

Link to comment

@watchmeexplode5 here is the log:

Script Starting May 07, 2020 00:12.43

Full logs for this script are available at /tmp/user.scripts/tmpScripts/rclone_mount_sh/log.txt

07.05.2020 00:12:43 INFO: Creating local folders.
07.05.2020 00:12:43 INFO: *** Starting mount of remote googleSh_crypt
07.05.2020 00:12:43 INFO: Checking if this script is already running.
07.05.2020 00:12:43 INFO: Script not running - proceeding.
07.05.2020 00:12:43 INFO: Mount not running. Will now mount googleSh_crypt remote.
07.05.2020 00:12:43 INFO: Recreating mountcheck file for googleSh_crypt remote.
2020/05/07 00:12:43 DEBUG : rclone: Version "v1.51.0" starting with parameters ["rcloneorig" "--config" "/boot/config/plugins/rclone/.rclone.conf" "copy" "mountcheck" "googleSh_crypt:" "-vv" "--no-traverse"]
2020/05/07 00:12:43 DEBUG : Using config file from "/boot/config/plugins/rclone/.rclone.conf"
2020/05/07 00:12:45 DEBUG : mountcheck: Need to transfer - File not found at Destination
2020/05/07 00:12:47 INFO : mountcheck: Copied (new)
2020/05/07 00:12:47 INFO :
Transferred: 32 / 32 Bytes, 100%, 18 Bytes/s, ETA 0s
Transferred: 1 / 1, 100%
Elapsed time: 1.7s

2020/05/07 00:12:47 DEBUG : 11 go routines active
2020/05/07 00:12:47 DEBUG : rclone: Version "v1.51.0" finishing with parameters ["rcloneorig" "--config" "/boot/config/plugins/rclone/.rclone.conf" "copy" "mountcheck" "googleSh_crypt:" "-vv" "--no-traverse"]
07.05.2020 00:12:47 INFO: *** Creating mount for remote googleSh_crypt
07.05.2020 00:12:47 INFO: sleeping for 5 seconds
07.05.2020 00:12:52 INFO: continuing...
07.05.2020 00:12:52 INFO: Successful mount of googleSh_crypt mount.
07.05.2020 00:12:52 INFO: Mergerfs already installed, proceeding to create mergerfs mount
07.05.2020 00:12:52 INFO: Creating googleSh_crypt mergerfs mount.
07.05.2020 00:12:52 INFO: Checking if googleSh_crypt mergerfs mount created.
07.05.2020 00:12:52 INFO: Check successful, googleSh_crypt mergerfs mount created.
07.05.2020 00:12:52 INFO: Starting dockers.
Error response from daemon: No such container: nzbget
plex
sonarr
Error response from daemon: No such container: radarr
Error response from daemon: No such container: ombi
Error: failed to start containers: nzbget, radarr, ombi
07.05.2020 00:12:52 INFO: Script complete
Script Finished May 07, 2020 00:12.52

Full logs for this script are available at /tmp/user.scripts/tmpScripts/rclone_mount_sh/log.txt
PS: This is after the first mount script is initiated and working.

Edited by Bjur
Link to comment

@DZMM @testdasi

 

Saw the same performance you guys observed with high object count. I ran some r/w tests on a tdrive while filling it up with more objects. No performance loss till ~100K objects. After 100K, there started to begin a gradual performance loss. Initially very small but by 350K+ objects it was significant and numbers varied a lot. Performance bounced around a lot but I saw stuff like 40-70% decrease. Definitely was struggling dealing with the objects. 

 

Isolated everything to make sure mergerfs and rclone weren't causing the issue. Seems like it's googles end where the performance loss is. 

 

So anyway... best practice would be to shoot for <100K objects. Anything higher, it's probably best to seperate/gdrive it if you want to squeeze out every bit of speed. 

  • Thanks 1
Link to comment
1 hour ago, Bjur said:

It's not easy to mount 2 different team shares. Maybe I'm doing something wrong.

I have created 2 rclone_mounts scripts for my 2 crypts (googleFi & googleSh). But no matter what I try I can only get 1 mount script connected depending on which one I start first.

I've tried with 2 x RcloneRemoteName entries in 1 mount script, but it only uses one, I've tried to create a separate and call mountcheck to mountcheck2 but still the same.

 

How do I do it, so I can have both connected?

 

post your mount script settings for each remote.

Edited by DZMM
Link to comment

See below and not visible when I tried at clone.

Addon question: I'm about to move from /mnt/user/videos to /mnt/user/mergerfs. The problem is the mount wants to go on disk 3 and my videos are on disk 1&2 so it will take a long time. How do I force mergerfs mount to 1&2 initially and afterwards to 3?

I've tried in share but it's not a normal share and even when I include only disk 1&2 it still resides on disk 3.

 

Mount 1:

# REQUIRED SETTINGS
RcloneRemoteName="googleFi_crypt" # Name of rclone remote mount WITHOUT ':'. NOTE: Choose your encrypted remote for sensitive data
RcloneMountShare="/mnt/user/mount_rclone" # where your rclone remote will be located without trailing slash  e.g. /mnt/user/mount_rclone
MergerfsMountShare="/mnt/user/mount_mergerfs" # location without trailing slash  e.g. /mnt/user/mount_mergerfs. Enter 'ignore' to disable
DockerStart="sabnzbd plex sonarr radarr ombi" # list of dockers, separated by space, to start once mergerfs mount verified. Remember to disable AUTOSTART for dockers added in docker settings page
LocalFilesShare="/mnt/user/local" # location of the local files and MountFolders you want to upload without trailing slash to rclone e.g. /mnt/user/local. Enter 'ignore' to disable
MountFolders=\{"downloads/complete,downloads/incomplete,downloads/temp,media/movies,media/tv"\} # comma separated list of folders to create within the mount

# Note: Again - remember to NOT use ':' in your remote name above

# OPTIONAL SETTINGS

# Add extra paths to mergerfs mount in addition to LocalFilesShare
LocalFilesShare2="ignore" # without trailing slash e.g. /mnt/user/other__remote_mount/or_other_local_folder.  Enter 'ignore' to disable
LocalFilesShare3="ignore"
LocalFilesShare4="ignore"

# Add extra commands or filters
Command1="--rc"
Command2=""
Command3=""
Command4=""
Command5=""
Command6=""
Command7=""
Command8=""

CreateBindMount="N" # Y/N. Choose whether to bind traffic to a particular network adapter
RCloneMountIP="192.168.1.252" # My unraid IP is 172.30.12.2 so I create another similar IP address
NetworkAdapter="eth0" # choose your network adapter. eth0 recommended
VirtualIPNumber="2" # creates eth0:x e.g. eth0:1.  I create a unique virtual IP addresses for each mount & upload so I can monitor and traffic shape for each of them
 

 

Mount 2:

#!/bin/bash

######################
#### Mount Script ####
######################
### Version 0.96.6 ###
######################

####### EDIT ONLY THESE SETTINGS #######

# INSTRUCTIONS
# 1. Change the name of the rclone remote and shares to match your setup
# 2. NOTE: enter RcloneRemoteName WITHOUT ':'
# 3. Optional: include custom command and bind mount settings
# 4. Optional: include extra folders in mergerfs mount

# REQUIRED SETTINGS
RcloneRemoteName="googleSh_crypt" # Name of rclone remote mount WITHOUT ':'. NOTE: Choose your encrypted remote for sensitive data
RcloneMountShare="/mnt/user/mount_rclone" # where your rclone remote will be located without trailing slash  e.g. /mnt/user/mount_rclone
MergerfsMountShare="/mnt/user/mount_mergerfs" # location without trailing slash  e.g. /mnt/user/mount_mergerfs. Enter 'ignore' to disable
DockerStart="nzbget plex sonarr radarr ombi" # list of dockers, separated by space, to start once mergerfs mount verified. Remember to disable AUTOSTART for dockers added in docker settings page
LocalFilesShare="/mnt/user/local" # location of the local files and MountFolders you want to upload without trailing slash to rclone e.g. /mnt/user/local. Enter 'ignore' to disable
MountFolders=\{"downloads/complete,downloads/intermediate,downloads/seeds,movies,tv"\} # comma separated list of folders to create within the mount

# Note: Again - remember to NOT use ':' in your remote name above

# OPTIONAL SETTINGS

# Add extra paths to mergerfs mount in addition to LocalFilesShare
LocalFilesShare2="ignore" # without trailing slash e.g. /mnt/user/other__remote_mount/or_other_local_folder.  Enter 'ignore' to disable
LocalFilesShare3="ignore"
LocalFilesShare4="ignore"

# Add extra commands or filters
Command1="--rc"
Command2=""
Command3=""
Command4=""
Command5=""
Command6=""
Command7=""
Command8=""

CreateBindMount="N" # Y/N. Choose whether to bind traffic to a particular network adapter
RCloneMountIP="192.168.1.252" # My unraid IP is 172.30.12.2 so I create another similar IP address
NetworkAdapter="eth0" # choose your network adapter. eth0 recommended
VirtualIPNumber="2" # creates eth0:x e.g. eth0:1.  I create a unique virtual IP addresses for each mount & upload so I can monitor and traffic shape for each of them

####### END SETTINGS #######

 

 

Link to comment

@Bjur

Those settings look fine. The logs you posted look like "googleSh_crypt" is mounting and responding fine.

  • In your /mnt/user/mount_rclone/ do you find your two remote's folders (googleFi_crypt and googleSh_crypt)?

 


Do you need --rc? 

That's for starting rclone's remote control http server. Maybe it's trying to start both of your instances with rc on the same port.

 

If you don't use --rc then just remove those in both scripts. If you do, you may need to define the port for a second rclone instance ex: "--rc-addr=:5573"

(defualt rc being :5572)

 

---------------------------------------------
About the disk1/2/3 question: 

Doube check with @DZMM, but I'm fairly certain you could force it on a single disk by setting:
LocalFilesShare="/mnt/disk1/local" 


Then you can do disk2 and disk3 by modifying it.

Might add some overhead though for parity writes when moving to local as opposed to keeping local on the cache only. 

Edited by watchmeexplode5
Link to comment
21 hours ago, teh0wner said:

How safe would manually doing fusermount -uz (on array stop) be if mount_running and upload_running don't exist? (i.e. those 2 scripts aren't running)?

I am having similar issues as you. I cannot stop my array whatsoever because of rclone. I ssh'd into unraid then ran ps -ef | grep /mnt/user only to notice that rclone was still mounted...

 

Has anybody created a safe user script to unmount drives for a safe array stop/unraid reboot?

 

I would prefer not to run ps -ef | grep /mnt/user and then kill {pid} every time i stop the array....any help would be appreciated big time :)

Link to comment
1 hour ago, ritty said:

I am having similar issues as you. I cannot stop my array whatsoever because of rclone. I ssh'd into unraid then ran ps -ef | grep /mnt/user only to notice that rclone was still mounted...

 

Has anybody created a safe user script to unmount drives for a safe array stop/unraid reboot?

 

I would prefer not to run ps -ef | grep /mnt/user and then kill {pid} every time i stop the array....any help would be appreciated big time :)

also having this issue. i don't restart my array often so its not a huge problems, but fusermount -uz /path/to/mount alone isnt getting it done, I have to do the ps -ef | grep /mnt/user and kill the rclone pids.

Link to comment
7 hours ago, Bjur said:

See below and not visible when I tried at clone.

Addon question: I'm about to move from /mnt/user/videos to /mnt/user/mergerfs. The problem is the mount wants to go on disk 3 and my videos are on disk 1&2 so it will take a long time. How do I force mergerfs mount to 1&2 initially and afterwards to 3?

I've tried in share but it's not a normal share and even when I include only disk 1&2 it still resides on disk 3.

 

Mount 1:

# REQUIRED SETTINGS
RcloneRemoteName="googleFi_crypt" # Name of rclone remote mount WITHOUT ':'. NOTE: Choose your encrypted remote for sensitive data
RcloneMountShare="/mnt/user/mount_rclone" # where your rclone remote will be located without trailing slash  e.g. /mnt/user/mount_rclone
MergerfsMountShare="/mnt/user/mount_mergerfs" # location without trailing slash  e.g. /mnt/user/mount_mergerfs. Enter 'ignore' to disable
DockerStart="sabnzbd plex sonarr radarr ombi" # list of dockers, separated by space, to start once mergerfs mount verified. Remember to disable AUTOSTART for dockers added in docker settings page
LocalFilesShare="/mnt/user/local" # location of the local files and MountFolders you want to upload without trailing slash to rclone e.g. /mnt/user/local. Enter 'ignore' to disable
MountFolders=\{"downloads/complete,downloads/incomplete,downloads/temp,media/movies,media/tv"\} # comma separated list of folders to create within the mount

# Note: Again - remember to NOT use ':' in your remote name above

# OPTIONAL SETTINGS

# Add extra paths to mergerfs mount in addition to LocalFilesShare
LocalFilesShare2="ignore" # without trailing slash e.g. /mnt/user/other__remote_mount/or_other_local_folder.  Enter 'ignore' to disable
LocalFilesShare3="ignore"
LocalFilesShare4="ignore"

# Add extra commands or filters
Command1="--rc"
Command2=""
Command3=""
Command4=""
Command5=""
Command6=""
Command7=""
Command8=""

CreateBindMount="N" # Y/N. Choose whether to bind traffic to a particular network adapter
RCloneMountIP="192.168.1.252" # My unraid IP is 172.30.12.2 so I create another similar IP address
NetworkAdapter="eth0" # choose your network adapter. eth0 recommended
VirtualIPNumber="2" # creates eth0:x e.g. eth0:1.  I create a unique virtual IP addresses for each mount & upload so I can monitor and traffic shape for each of them
 

 

Mount 2:

#!/bin/bash

######################
#### Mount Script ####
######################
### Version 0.96.6 ###
######################

####### EDIT ONLY THESE SETTINGS #######

# INSTRUCTIONS
# 1. Change the name of the rclone remote and shares to match your setup
# 2. NOTE: enter RcloneRemoteName WITHOUT ':'
# 3. Optional: include custom command and bind mount settings
# 4. Optional: include extra folders in mergerfs mount

# REQUIRED SETTINGS
RcloneRemoteName="googleSh_crypt" # Name of rclone remote mount WITHOUT ':'. NOTE: Choose your encrypted remote for sensitive data
RcloneMountShare="/mnt/user/mount_rclone" # where your rclone remote will be located without trailing slash  e.g. /mnt/user/mount_rclone
MergerfsMountShare="/mnt/user/mount_mergerfs" # location without trailing slash  e.g. /mnt/user/mount_mergerfs. Enter 'ignore' to disable
DockerStart="nzbget plex sonarr radarr ombi" # list of dockers, separated by space, to start once mergerfs mount verified. Remember to disable AUTOSTART for dockers added in docker settings page
LocalFilesShare="/mnt/user/local" # location of the local files and MountFolders you want to upload without trailing slash to rclone e.g. /mnt/user/local. Enter 'ignore' to disable
MountFolders=\{"downloads/complete,downloads/intermediate,downloads/seeds,movies,tv"\} # comma separated list of folders to create within the mount

# Note: Again - remember to NOT use ':' in your remote name above

# OPTIONAL SETTINGS

# Add extra paths to mergerfs mount in addition to LocalFilesShare
LocalFilesShare2="ignore" # without trailing slash e.g. /mnt/user/other__remote_mount/or_other_local_folder.  Enter 'ignore' to disable
LocalFilesShare3="ignore"
LocalFilesShare4="ignore"

# Add extra commands or filters
Command1="--rc"
Command2=""
Command3=""
Command4=""
Command5=""
Command6=""
Command7=""
Command8=""

CreateBindMount="N" # Y/N. Choose whether to bind traffic to a particular network adapter
RCloneMountIP="192.168.1.252" # My unraid IP is 172.30.12.2 so I create another similar IP address
NetworkAdapter="eth0" # choose your network adapter. eth0 recommended
VirtualIPNumber="2" # creates eth0:x e.g. eth0:1.  I create a unique virtual IP addresses for each mount & upload so I can monitor and traffic shape for each of them

####### END SETTINGS #######

 

 

Remove --RC from one of the mounts - you can only do this once, which is why you can only mount whichever one runs first.

Link to comment
55 minutes ago, remedy said:

also having this issue. i don't restart my array often so its not a huge problems, but fusermount -uz /path/to/mount alone isnt getting it done, I have to do the ps -ef | grep /mnt/user and kill the rclone pids.

Like you I don't restart that often.  It seems to go through cycles where it stops ok, and others where it hangs.  It seems like we've eliminated upload jobs and stopping the mount - maybe it's mergerfs and we need to stop the docker (and probably the dockers trying to access the mount) first?

Link to comment
7 hours ago, Bjur said:

Addon question: I'm about to move from /mnt/user/videos to /mnt/user/mergerfs. The problem is the mount wants to go on disk 3 and my videos are on disk 1&2 so it will take a long time. How do I force mergerfs mount to 1&2 initially and afterwards to 3?

I've tried in share but it's not a normal share and even when I include only disk 1&2 it still resides on disk 3.

Nothing gets added to mergerfs - it's a virtual share. If it appears to be on disk 3 that because you've set it to disk 3 in your share settings, but nothing actually gets added there.

 

If what you're asking is for your local files to go on disk 1 or 2, then set /mnt/user/local to disk 1 and 2.

Link to comment

Thanks both.

/mnt/user/mount_rclone/ I find both my mounts in these, but only the connected one googleFi_crypt has a mountcheck in it. The other non working googleSh_crypt does not.

 

--rc removed from both scripts did not make any difference.

 

In regards to the mergerfs on disks, I didn't initially create a mountshare manually, but the script did create it and placed it on disk 3. When I go into share and set the 2 folder to only be on disk 1+2 it still is on disk 3. 

My local normal folders is what I want to upload to the cloud without it having to take long time to move to the folders which should be uploaded. Hope it makes sense.

 

Link to comment
5 hours ago, DZMM said:

Like you I don't restart that often.  It seems to go through cycles where it stops ok, and others where it hangs.  It seems like we've eliminated upload jobs and stopping the mount - maybe it's mergerfs and we need to stop the docker (and probably the dockers trying to access the mount) first?

I’ve tried stopping dockers before shutting down three times and it still hangs. I don’t use VMs so I know that’s not an issue. I guess I’ll just keep shutting down using the current method. If anybody does create an unmounting script that confirms uploads are complete and then proceeds with unmounting, it would be greatly appreciated if you shared with the group :) 

 

I’m still very appreciative of this awesome plugin. it definitely makes my life a lot easier :) thank you

Link to comment
10 hours ago, ritty said:

I am having similar issues as you. I cannot stop my array whatsoever because of rclone. I ssh'd into unraid then ran ps -ef | grep /mnt/user only to notice that rclone was still mounted...

 

Has anybody created a safe user script to unmount drives for a safe array stop/unraid reboot?

 

I would prefer not to run ps -ef | grep /mnt/user and then kill {pid} every time i stop the array....any help would be appreciated big time :)

 

1 hour ago, ritty said:

I’ve tried stopping dockers before shutting down three times and it still hangs. I don’t use VMs so I know that’s not an issue. I guess I’ll just keep shutting down using the current method. If anybody does create an unmounting script that confirms uploads are complete and then proceeds with unmounting, it would be greatly appreciated if you shared with the group :) 

 

I’m still very appreciative of this awesome plugin. it definitely makes my life a lot easier :) thank you

 

7 hours ago, DZMM said:

Like you I don't restart that often.  It seems to go through cycles where it stops ok, and others where it hangs.  It seems like we've eliminated upload jobs and stopping the mount - maybe it's mergerfs and we need to stop the docker (and probably the dockers trying to access the mount) first?

 

I've written a small user script that reliably stops the array 100%. I'm not quite sure how 'safe' it is though - I haven't noticed any issues since I've been using it though.

Here it is :

 

#!/bin/bash

##########################
### fusermount Script ####
##########################

RcloneRemoteName="google_drive_encrypted_vfs"
RcloneMountShare="/mnt/user/data/remote_storage"
MergerfsMountShare="/mnt/user/data/merged_storage"

echo "$(date "+%d.%m.%Y %T") INFO: *** Starting rclone_fusermount script ***"

while [[ -f "/mnt/user/appdata/other/rclone/remotes/$RcloneRemoteName/mount_running" ]]; do
echo "$(date "+%d.%m.%Y %T") INFO: mount is running, sleeping"
sleep 5
done

while [[ -f "/mnt/user/appdata/other/rclone/remotes/$RcloneUploadRemoteName/upload_running" ]]; do
echo "$(date "+%d.%m.%Y %T") INFO: upload is running, sleeping"
sleep 15
done

fusermount -uz "$MergerfsMountShare/$RcloneRemoteName"
fusermount -uz "$RcloneMountShare/$RcloneRemoteName"

echo "$(date "+%d.%m.%Y %T") INFO: ***rclone_fusermount script finished ***"

exit

 

Essentially what I'm doing, is checking whether mount is currently running and/or upload is currently running.

 

If either of them are, then the script (and stopping the array) is paused for a few seconds and tries again. Once mount and upload has finished, it will proceed to fusermount -uz (both rclone and mergefs), and then the array stops just fine.

 

I've been using this for the past week with no issues and the array stops always.

Let me know what you think if you get to use it

  • Like 2
Link to comment
35 minutes ago, teh0wner said:

 

 

 

I've written a small user script that reliably stops the array 100%. I'm not quite sure how 'safe' it is though - I haven't noticed any issues since I've been using it though.

Here it is :

 


#!/bin/bash

##########################
### fusermount Script ####
##########################

RcloneRemoteName="google_drive_encrypted_vfs"
RcloneMountShare="/mnt/user/data/remote_storage"
MergerfsMountShare="/mnt/user/data/merged_storage"

echo "$(date "+%d.%m.%Y %T") INFO: *** Starting rclone_fusermount script ***"

while [[ -f "/mnt/user/appdata/other/rclone/remotes/$RcloneRemoteName/mount_running" ]]; do
echo "$(date "+%d.%m.%Y %T") INFO: mount is running, sleeping"
sleep 5
done

while [[ -f "/mnt/user/appdata/other/rclone/remotes/$RcloneUploadRemoteName/upload_running" ]]; do
echo "$(date "+%d.%m.%Y %T") INFO: upload is running, sleeping"
sleep 15
done

fusermount -uz "$MergerfsMountShare/$RcloneRemoteName"
fusermount -uz "$RcloneMountShare/$RcloneRemoteName"

echo "$(date "+%d.%m.%Y %T") INFO: ***rclone_fusermount script finished ***"

exit

 

Essentially what I'm doing, is checking whether mount is currently running and/or upload is currently running.

 

If either of them are, then the script (and stopping the array) is paused for a few seconds and tries again. Once mount and upload has finished, it will proceed to fusermount -uz (both rclone and mergefs), and then the array stops just fine.

 

I've been using this for the past week with no issues and the array stops always.

Let me know what you think if you get to use it

That wouldn't work for me.  It can literally freeze and not shutdown and I need to do a hard shutdown.  It's the main reason why I don't reboot often - e.g. last month I got a disk error from a hard shutdown, which was painful to fix.

 

Sometimes it's seamless - I actually think there's something in 6.8.x that causes the problem.

Link to comment

I think I got it working now.

What I did was change virtualIP from 2 to 3, change bindingIP to 253 instead of 252, create an extra mergerfs_sh folder and change mountcheck to mountcheck2. The last to edits made it work.

So next step is to get my shares uploaded.

My question is now.

If I want to upload /mnt/user/videos to my Team Share drive.

Should I move it to /mnt/user/local/GCryptFi (name of remote)and upload it to Team Share drive or

Should I move it to /mnt/user/mergerfs/GCryptFi (name of remote) and upload it to Team Share drive

 

What would be the difference with how I upload it afterwards?

 

When doing test it's much more quick to move to local folder, but will it give the same in the end?

Link to comment
2 minutes ago, DZMM said:

Yes.

Okay, just before I move my precious data and understand.

So the best think for me would be to move all the data to local first and upload it from there.

Afterwards it will be moved completely locally from my drives but seen in mergerfs folder?

Link to comment
9 minutes ago, Bjur said:

Okay, just before I move my precious data and understand.

So the best think for me would be to move all the data to local first and upload it from there.

Afterwards it will be moved completely locally from my drives but seen in mergerfs folder?

Yes.  If you're worried, copy a couple of movies or episodes and watch the activity.

Link to comment

I tried it. I'm not that worried I just want to find the quickest way to get my data in the cloud. If I move it directly to mergerfs it moves it to another drive which takes some time instead of the same drive. I can't get the mergerfs to the same drive. How can I do that? I tried in share settings but it gets overruled. 

Link to comment
9 hours ago, teh0wner said:

 

 

 

I've written a small user script that reliably stops the array 100%. I'm not quite sure how 'safe' it is though - I haven't noticed any issues since I've been using it though.

Here it is :

 


#!/bin/bash

##########################
### fusermount Script ####
##########################

RcloneRemoteName="google_drive_encrypted_vfs"
RcloneMountShare="/mnt/user/data/remote_storage"
MergerfsMountShare="/mnt/user/data/merged_storage"

echo "$(date "+%d.%m.%Y %T") INFO: *** Starting rclone_fusermount script ***"

while [[ -f "/mnt/user/appdata/other/rclone/remotes/$RcloneRemoteName/mount_running" ]]; do
echo "$(date "+%d.%m.%Y %T") INFO: mount is running, sleeping"
sleep 5
done

while [[ -f "/mnt/user/appdata/other/rclone/remotes/$RcloneUploadRemoteName/upload_running" ]]; do
echo "$(date "+%d.%m.%Y %T") INFO: upload is running, sleeping"
sleep 15
done

fusermount -uz "$MergerfsMountShare/$RcloneRemoteName"
fusermount -uz "$RcloneMountShare/$RcloneRemoteName"

echo "$(date "+%d.%m.%Y %T") INFO: ***rclone_fusermount script finished ***"

exit

 

Essentially what I'm doing, is checking whether mount is currently running and/or upload is currently running.

 

If either of them are, then the script (and stopping the array) is paused for a few seconds and tries again. Once mount and upload has finished, it will proceed to fusermount -uz (both rclone and mergefs), and then the array stops just fine.

 

I've been using this for the past week with no issues and the array stops always.

Let me know what you think if you get to use it

You are MY HERO!!! I’ve been having to stop my array a lot lately due to config upgrades and it was becoming cumbersome. Thank you so much. You are much appreciated. I’m sure many others will find this helpful as well :)

Link to comment
6 hours ago, ritty said:

You are MY HERO!!! I’ve been having to stop my array a lot lately due to config upgrades and it was becoming cumbersome. Thank you so much. You are much appreciated. I’m sure many others will find this helpful as well :)

But

 

- the checker files are created and removed by a script. Just because they aren't there, doesn't mean rclone isn't running

- sleeping for a combined 20s isn't going to fix hangs

 

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.