MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    Question about backup script

    Scheduled Pinned Locked Moved General Discussion
    30 Posts 3 Posters 7.0k Views 3 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • N Offline
      nowayto
      last edited by

      Hello,
      I have a question about backup script.
      In these days I’m trying to learn how to configure MM with some modules, after all these tries, I will do a fresh installation with no errors on configuration.

      When I’ll arrive at that point, I’ll wanna backup MM entirely, so I see your script:

      bash -c “$(curl -sL https://raw.githubusercontent.com/sdetweil/MagicMirror-backup-restore/main/mm_backup.sh)” with any parms

      I don’t want a github private backup, I want just a local backup so does this script will backup every configuration on: $HOME/MM_backup ?
      I assume I’ll just have to copy that folder away and keep it secure?

      When I’ll need a restore I can start with an empty SD card, OS installation, MM installation script and then which of that 2 options?

      1- copy the MM_backup folder in $HOME, install modules I need and run your restore script
      (bash -c “$(curl -sL https://raw.githubusercontent.com/sdetweil/MagicMirror-backup-restore/main/mm_restore.sh)” with any parms)

      2- copy the MM_backup folder in $HOME and just run the restore script

      Thanks in advance

      S 1 Reply Last reply Reply Quote 1
      • S Offline
        sdetweil @nowayto
        last edited by sdetweil

        @nowayto restore, option 2 . restore will reinstall all the modules and copy any created files saved with them
        (What’s the point of having a restore tool if it doesn’t?)
        And restore will copy the GitHub repo down for you (part 1 of your option 2)

        now, on the github

        its the same as ‘copy the MM_backup folder someplace’

        backup also creates versions

        backup today and next week, and restore either one
        or one from last year

        github is free
        make a private repo

        Sam

        How to add modules

        learning how to use browser developers window for css changes

        N 1 Reply Last reply Reply Quote 2
        • N Offline
          nowayto @sdetweil
          last edited by

          Perfect.
          Your right but since I’m not a programmer so sometimes I have some stupid doubts.
          I started with a simple idea and now in my mind I wanna make more than one MM, with differents setup but for now I need to learn the basics configuration, so I’m testing testing and testing more :)
          Reinstall from 0 and test again :)

          For example I hope it will be not to difficult to config css, I like the personalization it will offer but I’m scared about difficulties. But I’ll try for sure!

          Thank you again

          S 2 Replies Last reply Reply Quote 1
          • S Offline
            sdetweil @nowayto
            last edited by

            @nowayto also see my MMM-Config, it provides module install and all config

            Sam

            How to add modules

            learning how to use browser developers window for css changes

            N 1 Reply Last reply Reply Quote 1
            • S Offline
              sdetweil @nowayto
              last edited by

              @nowayto css, learn the developers window.
              see the second link in my signature below

              Sam

              How to add modules

              learning how to use browser developers window for css changes

              R 1 Reply Last reply Reply Quote 0
              • R Offline
                rkorell Module Developer @sdetweil
                last edited by rkorell

                @sdetweil Dear Sam,
                seen backup/restore days ago and as the question arises here - I struggle with the commend line :-(

                bash -c  "$(curl -sL https://raw.githubusercontent.com/sdetweil/MagicMirror-backup-restore/main/mm_backup.sh)" -h
                

                works - I get some hints - same as on your github repo.

                bash -c  "$(curl -sL https://raw.githubusercontent.com/sdetweil/MagicMirror-backup-restore/main/mm_backup.sh)" -p
                

                doesn’t work?
                "illegal option '- ’ " is the error message.
                Where can I place the -p option?
                (inside the brackets I get an errormessage from curl …)

                This is also true if I add repo- and username and the token.
                There is my second question: how to pass the parameters?

                I’ve tried

                bash -c  "$(curl -sL https://raw.githubusercontent.com/sdetweil/MagicMirror-backup-restore/main/mm_backup.sh)" -p MagicMirror rkorell ghp_thisismyverylongandcryptictokenforgithub
                

                But with no luck.
                MagicMirror is a fresh created repo, rkorell is my username on GitHub - token is fresh created private token according your guidance in module description.

                Can you please help?

                Thanks a LOT -as always,
                Ralf

                R 1 Reply Last reply Reply Quote 0
                • R Offline
                  rkorell Module Developer @rkorell
                  last edited by rkorell

                  @sdetweil ,

                  last trial (after digging in your script I understand that -p is not that correct…)
                  So I’ve figured out that reponame and username have their own prefix.
                  A prefix for the token is not present, so I assume user:token could be feasible.
                  So I came to

                  bash -c "$(curl -sL https://raw.githubusercontent.com/sdetweil/MagicMirror-backup-restore/main/mm_backup.sh) -p -r MagicMirror -u rkorell:ghpthisismyverylongandcryptictokenforgithub"
                  

                  But this doesn’t work either…
                  So I’m desparately looking for the right place to put in the right parameters in the right manner.
                  Sorry for being this dumb…
                  Regards,
                  Ralf

                  S 1 Reply Last reply Reply Quote 0
                  • S Offline
                    sdetweil @rkorell
                    last edited by sdetweil

                    @rkorell hm… I did

                    bash -c  "$(curl -sL https://raw.githubusercontent.com/sdetweil/MagicMirror-backup-restore/main/mm_backup.sh)" -h
                    

                    and got

                    -h takes optional parameters
                    
                    	 -s MagicMirror_dir
                    		default /Users/sam/MagicMirror
                    
                    	 -b backup_dir 
                    		default /Users/sam/MM_backup
                    
                    	 -m backup message 
                    		 any message (in quotes) that you would like to attach to this change for later info
                    		default none
                    
                    	 -p auto push to github (will need repo name, username,  user password or token
                    		default false
                    
                    	 -r github repository name (reponame)
                    		typically https://github.com/username/reponame.git
                    		default output of git remote -v (if set)
                    		 -r overrides the git remote setting
                    
                    	 -u github username
                    		default none
                    

                    Sam

                    How to add modules

                    learning how to use browser developers window for css changes

                    S R 3 Replies Last reply Reply Quote 0
                    • S Offline
                      sdetweil @sdetweil
                      last edited by

                      @rkorell there was a typo in the help contents…

                      I NEVER ask for password/token… git will prompt if needed…
                      thus I cannot capture it in my script… a security confidence thing…

                      Sam

                      How to add modules

                      learning how to use browser developers window for css changes

                      1 Reply Last reply Reply Quote 0
                      • S Offline
                        sdetweil @sdetweil
                        last edited by sdetweil

                        @rkorell -p by itself gives an error, will fix

                        in both scripts

                        -s is the MagicMirror folder
                        -b is the backup folder
                        -u is the github userid
                        -r is the repo name, short xxxx or long https:…/repo
                        if you use the long url, i will get the userid from there

                        in backup
                        -p is push if not specified script will NOT push to github
                        in restore
                        -f requests fetch the github repo. if not specified, the local -b folder will be used to restore from. if not found the script will abort

                        Sam

                        How to add modules

                        learning how to use browser developers window for css changes

                        1 Reply Last reply Reply Quote 0
                        • N Offline
                          nowayto @sdetweil
                          last edited by

                          @sdetweil said in Question about backup script:

                          @nowayto also see my MMM-Config, it provides module install and all config

                          I give it a try some days ago, after your suggestion but I wanna learn the configuration first, rather than easier ways

                          I’ll read your CSS guide for sure

                          S 1 Reply Last reply Reply Quote 1
                          • S Offline
                            sdetweil @nowayto
                            last edited by

                            @nowayto yes, providing helpful tools hides the detail. a double edged sword

                            my objective is to help you get results.

                            Sam

                            How to add modules

                            learning how to use browser developers window for css changes

                            N 1 Reply Last reply Reply Quote 1
                            • N Offline
                              nowayto @sdetweil
                              last edited by

                              @sdetweil and I really thank you for that.
                              Thanks to you even more people will try MM and appreciate your work.
                              On my side I’m there to learn something new.
                              It’ more challenging but it’s also more interesting so I’d prefer manual ways.
                              Thanks a lot for your help, I’ll really appreciate that

                              1 Reply Last reply Reply Quote 0
                              • R Offline
                                rkorell Module Developer @sdetweil
                                last edited by

                                @sdetweil said in Question about backup script:

                                hm… I did

                                Dear Sam (@sdetweil),
                                yes - this worked for me as well :-)

                                Now figured out how it works:

                                Have issued

                                bash -c  "$(curl -sL https://raw.githubusercontent.com/sdetweil/MagicMirror-backup-restore/main/mm_backup.sh)" -r https://github.com/rkorell/MagicMirror -p 
                                

                                Then I was asked for username and password (twice) and git upload worked…
                                It seems git upload now contains a copy of local directory mm_backup.

                                If I check both, there are only a few directoris in Github as well as locally - much fewer than total number of installed modules…
                                What is the criterium for a module to “earn” a directory or not?

                                Thanks a lot!

                                Warmest regards,
                                Ralf

                                S 1 Reply Last reply Reply Quote 0
                                • S Offline
                                  sdetweil @rkorell
                                  last edited by sdetweil

                                  @rkorell the backup copies the url of the module source

                                  where you cloned from,
                                  see git remote -v in any module folder

                                  now some modules create files, token.json for example
                                  if i find extra files i need a place to store them, so the module name for a folder is created

                                  the module_list file contains the list of modules needed
                                  and their urls. they are reinstalled

                                  the readme says this

                                  this is not a binary backup

                                  you can use this to move to a new system or new sd card (changing processor architectures too, pc to pi, pi to pc… whatever)

                                  yes the folder MM_backup by default is a git source repository
                                  and git will track any changes (new backup differences)

                                  each time you back up, i create a marker to label this event, in git called a tag

                                  and you can restore any one of those and compare two tags to see the difference

                                  the private repo is because the files are saved in source form, and contain apikeys and maybe other credentials

                                  Sam

                                  How to add modules

                                  learning how to use browser developers window for css changes

                                  S R 2 Replies Last reply Reply Quote 1
                                  • S Offline
                                    sdetweil @sdetweil
                                    last edited by

                                    @rkorell you got prompted twice for username because git needs to know who you are and how to reach you if there are concerns about your “commit” to the repo. you csn see this in git log
                                    output in the backup folder
                                    this is username and email address

                                    then the push , github needs to know . this is the password prompt from git

                                    you could use git config to save those, and avoid the prompts

                                    Sam

                                    How to add modules

                                    learning how to use browser developers window for css changes

                                    R 1 Reply Last reply Reply Quote 0
                                    • R Offline
                                      rkorell Module Developer @sdetweil
                                      last edited by

                                      @sdetweil said :

                                      you could use git config to save those, and avoid the prompts

                                      Sounds cool.
                                      How can I do this?

                                      Thanks!
                                      Ralf

                                      S 1 Reply Last reply Reply Quote 0
                                      • S Offline
                                        sdetweil @rkorell
                                        last edited by

                                        @rkorell google is your friend

                                        how to use git config

                                        Sam

                                        How to add modules

                                        learning how to use browser developers window for css changes

                                        R 1 Reply Last reply Reply Quote 0
                                        • R Offline
                                          rkorell Module Developer @sdetweil
                                          last edited by

                                          @sdetweil said in Question about backup script:

                                          if i find extra files i need a place to store them, so the module name for a folder is created

                                          Thanks for this explanation - this is what I had assumed.

                                          Regards,
                                          Ralf

                                          1 Reply Last reply Reply Quote 0
                                          • R Offline
                                            rkorell Module Developer @sdetweil
                                            last edited by

                                            @sdetweil said in Question about backup script:

                                            how to use git config

                                            OK, thanks.
                                            I had understood that this is a config of your scripts, sorry.

                                            S 1 Reply Last reply Reply Quote 0

                                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                            With your input, this post could be even better 💗

                                            Register Login
                                            • 1
                                            • 2
                                            • 1 / 2
                                            • First post
                                              Last post
                                            Enjoying MagicMirror? Please consider a donation!
                                            MagicMirror created by Michael Teeuw.
                                            Forum managed by Sam, technical setup by Karsten.
                                            This forum is using NodeBB as its core | Contributors
                                            Contact | Privacy Policy