Skip to content

CRUSTDE-ContainerizedRustDevEnv/github_dropbox_external_drive

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

github_dropbox_external_drive

File Workflow for backups for CRUSTDE
version: 2024.326.1347 date: 2024-03-26 author: bestia.dev repository: GitHub

tutorial github_dropbox_external_drive

logo github_dropbox_external_drive is a member of the CRUSTDE-ContainerizedRustDevEnv project.

Lines in md

Hashtags: #rustlang #tutorial #buildtool #developmenttool
My projects on GitHub are more like a tutorial than a finished product: bestia-dev tutorials.

CRUSTDE - Containerized Rust Development Environment

These days I mostly program with Rust on Linux.
My primary desktop is Win10. Inside it I have WSL2, which is a Linux Virtual Machine. There I installed Debian 12 Bookworm. And now I can use a Linux container with Podman.

I use CRUSTDE - Containerized Rust Development Environment described here https://github.com/CRUSTDE-ContainerizedRustDevEnv/crustde_cnt_img_pod.
This CRUSTDE container is ephemeral and can be destroyed at any time. The important files inside it must be pushed to GitHub, or else they will be destroyed with the CRUSTDE container.

plantuml code:
@startuml
GitHub -> CRUSTDE: clone, pull
CRUSTDE -> GitHub: push
@enduml

svg_github_container

GitHub backup

GitHub is great, but...
They can cancel all my files in a second without warning. It happened to Iranian programmers when the USA imposed sanctions. It can happen to anybody anytime for any reason. GitHub is owned by Microsoft, the service is free and they don't have any obligation to the programmer whatsoever. If the service is free, you are not the customer with customer rights, you are the product with no rights whatsoever.
I want to be sure that GitHub is not the only place where my code is stored. I will prepare a folder on my computer to have backups of all my GitHub projects. I will call the folder github_backup.
Today I manually cloned all my GitHub projects. Later I can git pull them and have it as a backup on my notebook disk. This folder is a backup, I will not develop inside this folder.
I prepared a utility that automates this process: https://github.com/bestia-dev/github_readme_copy

plantuml code:
@startuml
GitHub -> github_backup: clone, pull
@enduml

svg_github_backup

Dropbox

I have a 2TB storage on Dropbox for 12€/month. It is not cheap, but I had bad experiences with GoogleDrive and OneDrive in the early days. Maybe they are better now, but I don't want to retry everything. I am a paying customer, so I expect some responsibility from Dropbox. Maybe I am just delusional. They can go bankrupt in a matter of hours with modern financial games.

External drives

I cannot put all my eggs in the basket of Dropbox.
Eventually, I make backups of all these files. I make backups on 2 external hard drives and I keep them in separate locations. Just for fun.
I use my app dropbox_backup_to_external_disk to make backups of Dropbox, because Dropbox does not have an app for that. Shame on them.

plantuml code:
@startuml
github_backup -> Dropbox: automatic sync
Dropbox -> ext.hd_backup: backup
@enduml 

svg_dropbox

Android Studio

When I want to make an app for Android I have to use Android Studio in Win10. All the files are pushed to GitHub. From there they are automatically synced with github_backup. The complete diagram:

plantuml code:
@startuml
android_studio -> GitHub: push
GitHub -> github_backup: pull
github_backup -> Dropbox: automatic sync
Dropbox -> ext.hd_backup: backup    
@enduml

svg_android_studio

These are usually small files and having them go up and down the internet 4 times is not a tragedy. Sure, I could save some time, by copying them from one folder to the other locally. Then the sync will just index the files and not send them over the internet.

Open-source and free as a beer

My open-source projects are free as a beer (MIT license).
I just love programming.
But I need also to drink. If you find my projects and tutorials helpful, please buy me a beer by donating to my PayPal.
You know the price of a beer in your local bar ;-)
So I can drink a free beer for your health :-)
Na zdravje! Alla salute! Prost! Nazdravlje! 🍻

//bestia.dev
//github.com/bestia-dev
//bestiadev.substack.com
//youtube.com/@bestia-dev-tutorials

About

File Workflow for backups for CRUSTDE

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages