57 lines
1.6 KiB
Python
57 lines
1.6 KiB
Python
from config import cfg
|
|
import logging as log
|
|
from backup import (
|
|
read_device_list,
|
|
save_mikrotik_bcp,
|
|
save_snr_bcp,
|
|
save_cisco_sb_bcp,
|
|
save_cisco_bcp,
|
|
)
|
|
from repo import check_bcp_repo, push_to_remote
|
|
import schedule
|
|
import time
|
|
|
|
|
|
def main():
|
|
check_bcp_repo()
|
|
device_dict = read_device_list()
|
|
for device in device_dict:
|
|
current_device = device_dict[device]
|
|
if current_device["vendor"].lower() == "mikrotik":
|
|
save_mikrotik_bcp(host=current_device["ip"], name=current_device["name"])
|
|
elif current_device["vendor"].lower() == "snr":
|
|
save_snr_bcp(host=current_device["ip"], name=current_device["name"])
|
|
elif current_device["vendor"].lower() == "cisco":
|
|
if current_device["model"].lower() in [
|
|
"sg350-28mp",
|
|
"sg350-10mp",
|
|
"cbs350-8fp-2g",
|
|
"sg300-28p",
|
|
"sf302-08mp",
|
|
"sg300-10mpp",
|
|
"cbs250-48p-4g",
|
|
"cbs250-24p-4g",
|
|
"sg350-28sfp",
|
|
]:
|
|
save_cisco_sb_bcp(
|
|
host=current_device["ip"], name=current_device["name"]
|
|
)
|
|
else:
|
|
save_cisco_bcp(host=current_device["ip"], name=current_device["name"])
|
|
if cfg.git.push:
|
|
push_to_remote()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
log.info("Starting app")
|
|
schedule.every().day.at(cfg.bcp.start_at).do(main)
|
|
|
|
try:
|
|
main()
|
|
while True:
|
|
schedule.run_pending()
|
|
time.sleep(120)
|
|
except KeyboardInterrupt:
|
|
log.info("Manual app stopped")
|
|
log.info("App stopped")
|