Sorry, I didn’t mean to come across in a condescending way, if that’s how it read. I’ve only ever used rclone for Google Drive, and its been quite a while since I’ve personally set it up, as I no longer daily-drive linux (outside of WSL).
A “remote” presumably means a remote folder/share/whatever in the cloud, in this case on Proton Drive, yes?
Yes, following the documentation, you would run rclone config, then answer as follows:
Create/Edit/Quit: n
Name: proton
Storage: protondrive
User: username@protonmail.com
Password: y to enter your password; then enter your password twice as prompted
2FA: If you have 2FA configured, enter the 6-digit OTP; else press <Enter> to skip
Keep this “proton” remote?: y
This should create a proton-drive remote called “proton”, which you can reference in further rclone commands. For example:
# Check if out of sync
rclone check 'proton:' ~/proton 2>&1 | grep --quiet ' ERROR :'# Sync local/remote
rclone sync'proton:' ~/proton
If I want to set Rclone to automaticlly sync, say, my home folder to Proton Drive, Rclone has to run as a service on startup for this to work.
In the past, I wrote a script to handle the check/sync job, and scheduled it to run with crontab, as it was easier for me to work with. Here’s an example of the script to run rclone using the proton: remote defined above:
#!/usr/bin/env bash# Ensure connected to the internet
ping -c 1 8.8.8.8 |& grep --quiet --ignore-case "unreachable" && exit 0
# If in-sync, skip sync procedure
rclone check 'proton:'"${HOME}" |& grep --quiet ' ERROR :' || exit 0
# Run sync operation
rclone --quiet sync'proton:'"${HOME}"
If scheduling with crontab, running crontab -e will open your user’s schedule in the $VISUAL, $EDITOR or /usr/bin/editor text editor. Here, you could enter something like
0,30 * * * * /home/your_user_name/proton_sync.sh
Which would try to sync once every 30 minutes (crontab-guru).
you can use systemd to set up rclone as a system or user service
This is also an option, assuming your system is using systemd; which most distributions have moved to – you typically have to go out of your way to avoid it. I also don’t have much experience in writing my own service/timer files; but it looks like systemd-run may have you covered as well (source):
# Run every 30 minutes
systemd-run --user --on-calendar '*:0/30' /home/your_user_name/proton-sync.sh
While I know writing config files and working with the terminal can be intimidating (it was for me in the beginning, anyway); I’d really recommend against running random ‘scripts’ you find online unless you either 100% trust the source, or can read/understand what they are doing. I have personally been caught-out recently from a trusted source doing jank shit in their scripts, which I didn’t notice until reading through them…and Linux Admin/DevOps is my day job…
Sorry, I didn’t mean to come across in a condescending way, if that’s how it read. I’ve only ever used
rclone
for Google Drive, and its been quite a while since I’ve personally set it up, as I no longer daily-drive linux (outside of WSL).Yes, following the documentation, you would run
rclone config
, then answer as follows:n
proton
protondrive
username@protonmail.com
y
to enter your password; then enter your password twice as prompted<Enter>
to skipy
This should create a proton-drive remote called “proton”, which you can reference in further
rclone
commands. For example:# Check if out of sync rclone check 'proton:' ~/proton 2>&1 | grep --quiet ' ERROR :' # Sync local/remote rclone sync 'proton:' ~/proton
In the past, I wrote a script to handle the check/sync job, and scheduled it to run with
crontab
, as it was easier for me to work with. Here’s an example of the script to runrclone
using theproton:
remote defined above:#!/usr/bin/env bash # Ensure connected to the internet ping -c 1 8.8.8.8 |& grep --quiet --ignore-case "unreachable" && exit 0 # If in-sync, skip sync procedure rclone check 'proton:' "${HOME}" |& grep --quiet ' ERROR :' || exit 0 # Run sync operation rclone --quiet sync 'proton:' "${HOME}"
If scheduling with
crontab
, runningcrontab -e
will open your user’s schedule in the$VISUAL
,$EDITOR
or/usr/bin/editor
text editor. Here, you could enter something likeWhich would try to sync once every 30 minutes (crontab-guru).
This is also an option, assuming your system is using
systemd
; which most distributions have moved to – you typically have to go out of your way to avoid it. I also don’t have much experience in writing my own service/timer files; but it looks likesystemd-run
may have you covered as well (source):# Run every 30 minutes systemd-run --user --on-calendar '*:0/30' /home/your_user_name/proton-sync.sh
While I know writing config files and working with the terminal can be intimidating (it was for me in the beginning, anyway); I’d really recommend against running random ‘scripts’ you find online unless you either 100% trust the source, or can read/understand what they are doing. I have personally been caught-out recently from a trusted source doing jank shit in their scripts, which I didn’t notice until reading through them…and Linux Admin/DevOps is my day job…