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.
    • 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 Do not disturb
          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 Do not disturb
            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 Do not disturb
              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 Do not disturb
                  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 Do not disturb
                        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 Do not disturb
                          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 Do not disturb
                              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
                                  • S Do not disturb
                                    sdetweil @rkorell
                                    last edited by

                                    @rkorell no… you can store config settings for git (the source code repository tool MagicMirror uses and most modules use (…git clone))
                                    and the way to make the repository that the backup uses

                                    Sam

                                    How to add modules

                                    learning how to use browser developers window for css changes

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

                                      @sdetweil as far as google told me it seems, I need to install Git CLI - which is not easy available for Raspi.

                                      Any hint?

                                      Sorry!
                                      Ralf

                                      R S 2 Replies Last reply Reply Quote 0
                                      • R Offline
                                        rkorell Module Developer @rkorell
                                        last edited by rkorell

                                        O.K,. Google is not my friend today…
                                        It seems that a “.gitconfig” file will do the trick …
                                        Will double check.

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

                                          Nope.
                                          Doesnt’t work.
                                          Have created a “.gitconfig” file with

                                          git config --global --edit
                                          

                                          Entered user, email and password - but your script asks again for “user” …

                                          ???

                                          Thanks
                                          Ralf

                                          S 1 Reply Last reply Reply Quote 0
                                          • S Do not disturb
                                            sdetweil @rkorell
                                            last edited by

                                            @rkorell the SCRIPT does not prompt

                                            I use these git config parms

                                            if [ "$user_name." == "." ]; then
                                            	# prompt for users name
                                            	git config --local user.name $user_name
                                            else	
                                            	git config --local user.name $user_name
                                            fi
                                            if [ "$email." == "." ]; then
                                            	# prompt for email address
                                            	git config --local user.email $email
                                            else
                                            	git config --local user.email $email
                                            fi
                                            

                                            git will prompt

                                            Sam

                                            How to add modules

                                            learning how to use browser developers window for css changes

                                            R 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
                                            • 2 / 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