Rclone Azure Blob
Rlcone
Set up Azure storage account with all defaults. Then follow the image to get the SAS key.
Install “rclone” - For unix-based systems run, curl https://rclone.org/install.sh | sudo bash
, in the terminal. - For Windows-based systems goto, https://rclone.org/downloads/
, to download the installation file.
Mounting in linux
Follow directions from the link; https://rclone.org/azureblob/. or reference this video 1. rclone config
2. Chose the following options; 1. n - for new remote 2. 30 - for Azure Blob 3. use defaults till you reach sas_url then copy the sas_url for your container. 1. note - you much create the sas_url from the container NOT the account, also make sure you give the right permissions. 2. Example sas_url: https://storeage.blob.core./cloud?sp=racwdlmeop&st=2023-07-03T12:41:58Z&se=2027-07-03T20:41:58Z&spr=keyofsomesort
4. use defaults to the end and quit the config. You see something like this below; ``bash Configuration complete. Options: - type: azureblob - account: storage - sas_url: “thesasurl” Keep this “sas” remote? y) Yes this is OK (default) e) Edit this remote d) Delete this remote y/e/d>
Current remotes:
Name Type
==== ====
sas azureblob
e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> q
</code>`<code>
- Next, you need to decide how you want to connect;
- Syncing sync a target directory at the moment. You will need to set a cron job to back and sync regularly. Here is the connection string;
rclone sync /home/drok/blob sas:cloud/test
rclone sync /target directory “remote name”:“container name”/“directory in container”. You must have it like this for it to work.
- Mounting is similar to sync, but the service stays connected. Here is the connection string; ‘rclone mount –allow-non-empty sas:teleportcloud/test /home/drok/blob/’. Running the command like this in the terminal will remain active. You will need to run this in the background as a service.
- To run on boot, create a system file. Start with a simple script,
nano rclone_blobmount.sh
;
<syntaxhighlight lang="bash">#!/bin/bash
rclone mount --allow-non-empty --daemon sas:teleportcloud/test /home/drok/blob/</syntaxhighlight>
Run </code>chmod +x rclone_blobmount.sh` to make it executable.
- Create a systemd file
sudo nano /etc/systemd/system/blobmount.service
;
<syntaxhighlight lang="bash">[Unit]
Description=rclone blobstorage mount
After=network.target
After=systemd-user-sessions.service
After=network-online.target
[Service]
User=drok
Type=forking
ExecStart=/home/drok/rclone_blobmount.sh
TimeoutSec=30
Restart=on-failure
RestartSec=30
StartLimitInterval=350
StartLimitBurst=10
[Install]
Alias=blobmount.service
WantedBy=multi-user.target</syntaxhighlight>
- Restart systemd daemon;
sudo systemctl daemon-reload
- Run the service;
sudo systemctl start blobmount.service
- Enable on boot;
sudo systemctl enable blobmount.service