Giter VIP home page Giter VIP logo

keenetic-backup's Introduction

Keenetic config backup

Modified version of the original script:

  • configuration via Docker env variables
  • ansible encryption removed
  • elk logs export removed

Requirements

  • Keenetic router (all models having ssh-server)
  • ssh-server installed on the router
  • ssh access to the router
  • docker

Running the image

docker run \
    -d \
    -e ROUTER_HOST="192.168.1.1" \
    -e USER_NAME="admin" \
    -e PASSWORD="admin" \
    -v /path/to/local/backup/folder:/opt \
    ghcr.io/denidoman/keenetic-backup:main

Environment variables list:

Name Default Description
ROUTER_HOST <required> Your Keenetic router IP address or a host name
USER_NAME <required> Router admin user name
PASSWORD <required> Router admin password
SSH_PORT 22 Router SSH port
NUMBER_OF_BACKUPS 30 Number of backups stored in the folder
CRON @daily Cron rule

Hint

Works best with offen / docker-volume-backup. Just use a named volume created externally instead of local folder and share this volume with the properly configured docker-volume-backup container. This allows you to backup settings in a cloud too in a very simple way.

Why?

A router often has many settings, network, users, accesses, routing rules, and more. If one unfortunate day the router dies, or it is accidentally (specially) reset to factory settings. You may be in a lot of pain. If you have a server ( nat/virtual machine/cloud/raspberry pi) you can run a backup script that will add once a day (cron expression) the script of your entire configuration to the folder you need. Additionally, it is possible to send logs to the elc stack, or you can add the necessary notifications to monitor the progress of backups. You can also configure the total number of backups in the configuration

License MIT

keenetic-backup's People

Contributors

denis-domanskii avatar weslyg avatar

Stargazers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.