rfm - RepRapFirmware FileManager [duetbackup successor]
-
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 itrfm
- RepRapFirmware FileManagerIt 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.
- With the release of this tool
-
Yay! Keep these things going...
-
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-commandrfm backup
will do whatduetbackup
did before.Please let me know about all issues you find. These also might include where the output is confusing/insufficient.
-
@wilriker is this release just for windows at the moment?
-
I would like the express my interest in this awesome project. The RPi that accompanies my printer is perfect to make scheduled backups.
-
I'm sorry but you don't have enough "R"s or "F"s in there. Should be "rrffm"
-
@dougal1957 No, it's for the same platforms as
duetbackup
was, i.e. Windows, Linux and Macamd64
as well as Linuxarm
(e.g. Raspberry Pi) andarm64
(some other SBC boards). -
@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
. -
@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.
-
@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.
-
@gtj0 said in rfm - RepRapFirmware FileManager [duetbackup successor]:
That was going to be my next suggestion.
Feel free to fork and rename it.
-
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 -
@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
andpassword
) 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 justvalue
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 mainhelp
output for sub-commands
- Parameters relevant for connection (i.e.
-
@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 settingsdomain
,port
andpassword
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?
-
@mloidl I like that and will implement something like this. But even though I listed it first it's currently last in priority.
-
@wilriker My vote goes for RepRapFirmware Total File Manager
-
@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) -
You are evil! I wonder if anyone would even dare to use the tool in Linux then.
-
@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?
-
@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 getsudo
prepended.sudo-rm-rf/
. Perfect name for any tool on Linux.