• 0 Posts
  • 11 Comments
Joined 1 year ago
cake
Cake day: June 21st, 2023

help-circle

  • Yeah, I know, “RTFM.”

    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…