Relevance
Hey HN! We wanted to introduce you to our nxs-backup and share the new version of it with you!
The reason behind the idea of creating our own tool when there’s already multiple backup software is simple - at some points none of them were able to do things that our projects required.Previously, we started developing our tool in Python. As the number of projects in which we use the tool increased, the demands for its functionality increased too. So last year we completely rewrote our project in Golang and made many changes to meet the new requirements. The main requests for nxs-backup were:- Backup data from the most frequently used software (files, MySQL, PostgreSQL, MongoDB, Redis); and store backups in remote storages (S3, FTP, SSH, SMB, NFS, WebDAV);
- To have a single configuration file that will allow you to manage backups centrally;
- Possibility to expand functionality through custom scripts;And now, a year later, our tool is able to:- Implement the corresponding interfaces of all storage facilities and all types of backups. Jobs and storages are initialized at the start, and not while the work is running;
- Work with remote storages via API. For this we use various libraries;
- Use environment variables in configs, thanks to the go-nxs-appctx mini-application framework that we use in our projects;
- Send log events via hooks. You can configure different levels and receive only errors or events of the desired level;
- Specify not only the period of time for backup, but also a specific number of backups;You can check the other features of nxs-backup on GitHub: https://github.com/nixys/nxs-backupWe’re really looking forward to improving our tool so we’d love to see any feedback, contributions or report any issues you encounter!
What other opportunities for development do you see? What features would you add? Please join our chat in telegram: https://t.me/nxs_backup And you can discuss something about this repo or ask any questions in the chat: https://t.me/nxs_backup_chat