Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    rfm - RepRapFirmware FileManager [duetbackup successor]

    Scheduled Pinned Locked Moved
    General Discussion
    24
    83
    10.3k
    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.
    • wilrikerundefined
      wilriker
      last edited by

      I have already mentioned it in the duetbackup thread that I am working on a largely extended version of it and here it is. I call it

      rfm - RepRapFirmware FileManager

      It can be used to perform all file and directory actions available via RepRapFirmware's HTTP interface.

      Usage

      $ ./rfm help
      rfm provides a command-line interface to perform file actions
      against the HTTP interface of a device running RepRapFirmware.
      
      Usage:
              rfm <command> [arguments]
      
      Each command will at least expect the argument -domain which
      specifies where on the network the device is located. This can
      either be a resolvable hostname or an IPv4 address.
      
      The commands are:
              backup     Backup a given directory on the device
              upload     Upload local files/directories to the device
              mkdir      Create a new directory on the device
              mv         Rename/move a file/directory on the device
              rm         Remove a file/directory on the device
              download   Download a single file from the device
              fileinfo   Get information on a file
              ls         Show the file tree of a given path
      
      Use "rfm <command> -help" for more information about a command's
      arguments.
      

      Notes

      • With the release of this tool duetbackup will be deprecated and discontinued
      • Watch this thread for announcements of new releases
      • Give any feedback here - whether bugs you found or possible changes

      Source

      As usual this is open source and (as usual for me) it is implemented in Go. Sources as well as releases can be found at GitHub and the Releases page respectively.

      Manuel
      Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
      with probably always latest firmware/DWC (incl. betas or self-compiled)
      My Tool Collection

      Dougal1957undefined 1 Reply Last reply Reply Quote 7
      • Danalundefined
        Danal
        last edited by

        Yay! Keep these things going...

        Delta / Kossel printer fanatic

        1 Reply Last reply Reply Quote 0
        • wilrikerundefined
          wilriker
          last edited by wilriker

          Release v1.0.0-RC1

          I have released v1.0.0-RC1 that implements all of the above commands but might still contain some (hopefully) minor issues.

          For those coming from duetbackup the sub-command rfm backup will do what duetbackup did before.

          Please let me know about all issues you find. These also might include where the output is confusing/insufficient.

          Manuel
          Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
          with probably always latest firmware/DWC (incl. betas or self-compiled)
          My Tool Collection

          1 Reply Last reply Reply Quote 0
          • Dougal1957undefined
            Dougal1957 @wilriker
            last edited by

            @wilriker is this release just for windows at the moment?

            wilrikerundefined 1 Reply Last reply Reply Quote 0
            • Nxt-1undefined
              Nxt-1
              last edited by

              I would like the express my interest in this awesome project. The RPi that accompanies my printer is perfect to make scheduled backups.

              Duet3D and delta printer enthousiast. Buildlog
              Looking for Duet3D configuration support, check out Nxt-3D

              wilrikerundefined 1 Reply Last reply Reply Quote 0
              • gtj0undefined
                gtj0
                last edited by

                I'm sorry but you don't have enough "R"s or "F"s in there. Should be "rrffm" 🙂

                wilrikerundefined 1 Reply Last reply Reply Quote 0
                • wilrikerundefined
                  wilriker @Dougal1957
                  last edited by

                  @dougal1957 No, it's for the same platforms asduetbackup was, i.e. Windows, Linux and Mac amd64 as well as Linux arm (e.g. Raspberry Pi) and arm64 (some other SBC boards).

                  Manuel
                  Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
                  with probably always latest firmware/DWC (incl. betas or self-compiled)
                  My Tool Collection

                  1 Reply Last reply Reply Quote 0
                  • wilrikerundefined
                    wilriker @gtj0
                    last edited by wilriker

                    @gtj0 Believe me, you don't want that. 😂 It was the working title while development. It's a PITA to type and typo guarantee. 😁

                    P.S.: a friend of mine asked if I can somehow get a "t" in there and some letter swapping to get rtfm. 😂

                    Manuel
                    Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
                    with probably always latest firmware/DWC (incl. betas or self-compiled)
                    My Tool Collection

                    gtj0undefined 1 Reply Last reply Reply Quote 0
                    • wilrikerundefined
                      wilriker @Nxt-1
                      last edited by

                      @nxt-1 I also use a RPi to perform the backups. In case you have Arch Linux running on your Pi: I plan to make an AUR package as well.

                      Manuel
                      Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
                      with probably always latest firmware/DWC (incl. betas or self-compiled)
                      My Tool Collection

                      1 Reply Last reply Reply Quote 1
                      • gtj0undefined
                        gtj0 @wilriker
                        last edited by

                        @wilriker said in rfm - RepRapFirmware FileManager [duetbackup successor]:

                        @gtj0 Believe me, you don't want that. 😂 It was the working title while development. It's a PITA to type and typo guarantee. 😁

                        P.S.: a friend of mine asked if I can someone get a "t" in there and some letter swapping to get rtfm. 😂

                        That was going to be my next suggestion.

                        wilrikerundefined 1 Reply Last reply Reply Quote 0
                        • wilrikerundefined
                          wilriker @gtj0
                          last edited by

                          @gtj0 said in rfm - RepRapFirmware FileManager [duetbackup successor]:

                          That was going to be my next suggestion.

                          Feel free to fork and rename it. 😂

                          Manuel
                          Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
                          with probably always latest firmware/DWC (incl. betas or self-compiled)
                          My Tool Collection

                          1 Reply Last reply Reply Quote 0
                          • mloidlundefined
                            mloidl
                            last edited by

                            Hi @wilriker,

                            Found a small "issue".
                            If rfm is called with no arguments (I know it should not called with no args), the program exit with panic because of an invalid array access (function args). Better would be to show a proper message.

                            Further tests are outstanding. I had not the time to test it yet.

                            Regards,
                            Martin

                            wilrikerundefined 1 Reply Last reply Reply Quote 0
                            • wilrikerundefined
                              wilriker @mloidl
                              last edited by

                              @mloidl Thanks! I fixed it in the source code and it will be in the next release.

                              Probably also in the next release will be a couple of changes

                              • Parameters relevant for connection (i.e. domain, port and password) can be put into a file in the user's home directory so they don't have to be provided on the command line everytime
                              • Some parameters that are currently given as -parametername value will be shortened to just value but then have to follow a strict ordering in case there is more than one (this resembles more common CLI tools)
                              • Adding help pages similar to the main help output for sub-commands

                              Manuel
                              Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
                              with probably always latest firmware/DWC (incl. betas or self-compiled)
                              My Tool Collection

                              1 Reply Last reply Reply Quote 0
                              • mloidlundefined
                                mloidl
                                last edited by

                                @wilriker thanks for the quick fix.

                                Regarding config file for connection parameter:
                                For users having multiple duet-based printers it would be cool to to store all these connections settings domain, port and password in a kind of connection group.
                                e.g.

                                [printer1]
                                domain=<printer1-ip>
                                port=<printer1-port>
                                password=<printer1-pw>
                                
                                [printer2]
                                ....
                                

                                Usage then could be rfm -device printer1 <cmd>

                                I did something similar in a python-based backup script for my daily backups and found this very useful.

                                What's your opinion about this?

                                wilrikerundefined 1 Reply Last reply Reply Quote 1
                                • wilrikerundefined
                                  wilriker @mloidl
                                  last edited by

                                  @mloidl I like that and will implement something like this. But even though I listed it first it's currently last in priority. 😉

                                  Manuel
                                  Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
                                  with probably always latest firmware/DWC (incl. betas or self-compiled)
                                  My Tool Collection

                                  1 Reply Last reply Reply Quote 0
                                  • T3P3Tonyundefined
                                    T3P3Tony administrators
                                    last edited by

                                    @wilriker My vote goes for RepRapFirmware Total File Manager

                                    www.duet3d.com

                                    wilrikerundefined 1 Reply Last reply Reply Quote 2
                                    • wilrikerundefined
                                      wilriker @T3P3Tony
                                      last edited by

                                      @t3p3tony said in rfm - RepRapFirmware FileManager [duetbackup successor]:

                                      @wilriker My vote goes for RepRapFirmware Total File Manager

                                      Yeah, that's what I thought of, too. 😂

                                      Also another good idea might be
                                      "[File-]Resource Manager for RepRapFirmware-based Filesystems" -> rm-rf 🤣
                                      (Windows user's probably won't get this one)

                                      Manuel
                                      Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
                                      with probably always latest firmware/DWC (incl. betas or self-compiled)
                                      My Tool Collection

                                      deckingmanundefined 1 Reply Last reply Reply Quote 5
                                      • OBELIKSundefined
                                        OBELIKS
                                        last edited by

                                        You are evil! I wonder if anyone would even dare to use the tool in Linux then.

                                        P3Steel Toolson mk2 - Duet 2 WiFi --> RatRig V-Core with Duet WiFi 1.03
                                        Original Prusa i3 MK3S

                                        wilrikerundefined 1 Reply Last reply Reply Quote 0
                                        • deckingmanundefined
                                          deckingman @wilriker
                                          last edited by

                                          @wilriker said in rfm - RepRapFirmware FileManager [duetbackup successor]:

                                          @t3p3tony said in rfm - RepRapFirmware FileManager [duetbackup successor]:

                                          @wilriker My vote goes for RepRapFirmware Total File Manager

                                          Yeah, that's what I thought of, too. 😂

                                          Also another good idea might be
                                          "[File-]Resource Manager for RepRapFirmware-based Filesystems" -> rm-rf 🤣
                                          (Windows user's probably won't get this one)

                                          I "googled" that and came up with "force deletion of everything in the root directory". That's the equivalent of a "nuke" button isn't it?

                                          Ian
                                          https://somei3deas.wordpress.com/
                                          https://www.youtube.com/@deckingman

                                          wilrikerundefined 1 Reply Last reply Reply Quote 1
                                          • wilrikerundefined
                                            wilriker @OBELIKS
                                            last edited by

                                            @obeliks said in rfm - RepRapFirmware FileManager [duetbackup successor]:

                                            You are evil! I wonder if anyone would even dare to use the tool in Linux then.

                                            I was trying hard to find any reason to also add a / at the end to make it even more evil. 😂 And top class would be to get sudo prepended. sudo-rm-rf/. Perfect name for any tool on Linux. 🤣

                                            Manuel
                                            Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
                                            with probably always latest firmware/DWC (incl. betas or self-compiled)
                                            My Tool Collection

                                            OBELIKSundefined 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA