Skip to content

Instantly share code, notes, and snippets.

@MorningZ
Created June 13, 2020 21:52
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save MorningZ/c3cef64a38b27e289dab0c8c0603dcc9 to your computer and use it in GitHub Desktop.
Save MorningZ/c3cef64a38b27e289dab0c8c0603dcc9 to your computer and use it in GitHub Desktop.
Node-RED: Backup flows and settings on restsrt
[{"id":"e0be58b2.7ddf98","type":"file in","z":"e9d24fcf.7516d","name":"Flows","filename":"/config/node-red/flows.json","format":"utf8","x":355,"y":100,"wires":[["a2f5e367.c78e3"]],"l":false},{"id":"959b7810.2ab598","type":"file","z":"e9d24fcf.7516d","name":"Flows","filename":"","appendNewline":false,"createDir":true,"overwriteFile":"true","x":510,"y":100,"wires":[["5b4ffafb.686684"]]},{"id":"84dbd1e4.78bc","type":"inject","z":"e9d24fcf.7516d","name":"Create Backups","topic":"","payload":"restarted","payloadType":"str","repeat":"","crontab":"","once":true,"onceDelay":"300","x":420,"y":58,"wires":[["e0be58b2.7ddf98"]]},{"id":"a2f5e367.c78e3","type":"function","z":"e9d24fcf.7516d","name":"Set filename","func":"\n// Add file name from ISO date: 2020-04-25T23:13:54.138Z\nlet hit = (new Date()).toISOString().match(/^(\\d{4})[-](\\d{1,2})[-](\\d{2})[T](\\d{2})[:](\\d{2})/);\n\nmsg.filename = \"/config/node-red/backups/\" + hit[1] + \"-\" + hit[2] + \"/\" + hit[3] + hit[4] + hit[5] + \"_flows.json\";\n\nreturn msg;","outputs":1,"noerr":0,"x":415,"y":100,"wires":[["959b7810.2ab598"]],"l":false},{"id":"5b4ffafb.686684","type":"file in","z":"e9d24fcf.7516d","name":"Credentials","filename":"/config/node-red/flows_cred.json","format":"utf8","x":355,"y":151,"wires":[["f853a265.9502a"]],"l":false},{"id":"91da96d1.300c68","type":"file","z":"e9d24fcf.7516d","name":"Creds","filename":"","appendNewline":false,"createDir":false,"overwriteFile":"true","x":510,"y":151,"wires":[["e0ad5c84.4527a"]]},{"id":"f853a265.9502a","type":"function","z":"e9d24fcf.7516d","name":"Set filename","func":"\n// Add file name from ISO date: 2020-04-25T23:13:54.138Z\nlet hit = (new Date()).toISOString().match(/^(\\d{4})[-](\\d{1,2})[-](\\d{2})[T](\\d{2})[:](\\d{2})/);\n\nmsg.filename = \"/config/node-red/backups/\" + hit[1] + \"-\" + hit[2] + \"/\" + hit[3] + hit[4] + hit[5] + \"_creds.json\";\n\nreturn msg;","outputs":1,"noerr":0,"x":415,"y":151,"wires":[["91da96d1.300c68"]],"l":false},{"id":"e0ad5c84.4527a","type":"file in","z":"e9d24fcf.7516d","name":"Settings","filename":"/config/node-red/settings.js","format":"utf8","x":355,"y":200,"wires":[["bdedd058.1810c"]],"l":false},{"id":"76aa3882.1cfe38","type":"file","z":"e9d24fcf.7516d","name":"Settings","filename":"","appendNewline":false,"createDir":false,"overwriteFile":"true","x":520,"y":200,"wires":[[]]},{"id":"bdedd058.1810c","type":"function","z":"e9d24fcf.7516d","name":"Set filename","func":"\n// Add file name from ISO date: 2020-04-25T23:13:54.138Z\nlet hit = (new Date()).toISOString().match(/^(\\d{4})[-](\\d{1,2})[-](\\d{2})[T](\\d{2})[:](\\d{2})/);\n\nmsg.filename = \"/config/node-red/backups/\" + hit[1] + \"-\" + hit[2] + \"/\" + hit[3] + hit[4] + hit[5] + \"_settings.js\";\n\nreturn msg;","outputs":1,"noerr":0,"x":415,"y":200,"wires":[["76aa3882.1cfe38"]],"l":false}]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment