• 0 Posts
  • 39 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…




  • We’re primarily a CentOS (6/7, kill me) and Rocky 8+ shop at work, with Debian handling our webservers. My Boss We like Rocky so much, it’s even our base image for all of our containers (ugh).

    My experience so far is that RHEL (and derivatives) are pretty solid, and not a bad choice. Though, I’d generally want to avoid the complexity that is SELinux in selfhost endeavors.