rclone Systemd startup mount script

rclone Systemd startup mount script

Get Social!
rclone

Rclone is a command line utility used for reading and writing to almost any type of cloud or remote storage. From Google Drive to Ceph, rclone supports almost any cloud-based remote storage platform you can think of. You can perform upload, download or synchronisation operations between local storage and remote cloud storage, or between remote storage directly.

In addition to this, rclone has an experimental mount feature that lets a user mount a remote cloud storage provider, such as s3 or Google Drive, as a local filesystem. You can then use the mounted filesystem as if it were a local device, albeit with some performance considerations.

Before we get going, make sure you have rclone installed on your system and configured with a remote. 

curl https://rclone.org/install.sh | sudo bash
rclone config 

Once you have a remote defined, it’s time to create the mountpoint and systemd script. I’ll be using Google Drive for this example, but the mount command works for any supported remote.

Create the mount point directory to use for the remote storage:

mkdir /mnt/google-drive

Next, create the below systemd script and edit it as required:

vi /etc/systemd/system/rclone.service
# /etc/systemd/system/rclone.service
[Unit]
Description=Google Drive (rclone)
AssertPathIsDirectory=/mnt/google-drive
After=plexdrive.service

[Service]
Type=simple
ExecStart=/usr/bin/rclone mount \
        --config=/root/.config/rclone/rclone.conf \
        --allow-other \
        --cache-tmp-upload-path=/tmp/rclone/upload \
        --cache-chunk-path=/tmp/rclone/chunks \
        --cache-workers=8 \
        --cache-writes \
        --cache-dir=/tmp/rclone/vfs \
        --cache-db-path=/tmp/rclone/db \
        --no-modtime \
        --drive-use-trash \
        --stats=0 \
        --checkers=16 \
        --bwlimit=40M \
        --dir-cache-time=60m \
        --cache-info-age=60m gdrive:/ /mnt/google-drive
ExecStop=/bin/fusermount -u /mnt/google-drive
Restart=always
RestartSec=10

[Install]
WantedBy=default.target

The important parts are detailed below, however, there are various other options are detailed on the rclone mount documentation page.

  • –config – the path to the config file created by rclone config. This is usually located in the users home directory.
  • gdrive:/ /mnt/google-drive – details two things; firstly the config name created in rclone config, and secondly the mount point on the local filesystem to use.

Once all this is in place you’ll need to start the service and enable the service at system startup (if required)

systemctl start rclone
systemctl enable rclone

Related posts:


4 Comments

Peter

13-Feb-2019 at 10:45 am

Thanks for your post. I still have issues with autostarting rclone on ubuntu 16. I will try your configuration and let you know if it fixed it!

Filippo

14-Mar-2019 at 6:39 am

Hi, thanks for the guide: it’s pretty straightforward. However i CAN’T mount my google drive.

I created a folder in my “data disk” /mnt/79f72362-129f-42e4-ae4a-98159748c9c6/Gdrive and my rclone config file is store in my home folder /home/mosco/.config/rclone/rclone.conf
Remote in rclone is called gdrive:
I can mount it manually via rclone mount gdrive: /mnt/79f72362-129f-42e4-ae4a-98159748c9c6/Gdrive

I edited the script you posted like this

# /etc/systemd/system/rclone.service
[Unit]
Description=Google Drive (rclone)
AssertPathIsDirectory=/mnt/79f72362-129f-42e4-ae4a-98159748c9c6/Gdrive
After=plexdrive.service

[Service]
Type=simple
ExecStart=/usr/bin/rclone mount \
–config=/home/mosco/.config/rclone.conf \
–allow-other \
–cache-tmp-upload-path=/tmp/rclone/upload \
–cache-chunk-path=/tmp/rclone/chunks \
–cache-workers=8 \
–cache-writes \
–cache-dir=/tmp/rclone/vfs \
–cache-db-path=/tmp/rclone/db \
–no-modtime \
–drive-use-trash \
–stats=0 \
–checkers=16 \
–bwlimit=40M \
–dir-cache-time=60m \
–cache-info-age=60m gdrive:/ /mnt/79f72362-129f-42e4-ae4a-98159748c9c6/Gdrive
ExecStop=/bin/fusermount -u /mnt/79f72362-129f-42e4-ae4a-98159748c9c6/Gdrive
Restart=always
RestartSec=10

[Install]
WantedBy=default.target

    Steve

    14-Apr-2019 at 1:44 pm

    Hi…
    I’m just about to fire up rclone and use its mount function so came looking for insights. I wondered whether you made any progress?

    Matt Penfold

    16-Jun-2019 at 11:56 am

    I don’t know if you solved this, but I have one question for you.

    Do you have Plex installed? If not, this service as written will never run as it will only run once the plexdrive.service has succesfully run.

Leave a Reply

Visit our advertisers

Search

Quick Poll

Do you use GlusterFS in your workplace?

Visit our advertisers