Open fxkjnj opened 3 weeks ago
974907350@qq.com
运维部门需要把资产信息维护在CMDB中,除此外还有研发的同学需要使用,为了保障CMDB的可用性,需要对CMDB进行备份。
官网参考示例: https://veops.cn/docs/docs/cmdb/cmdb_api#python%E8%B0%83%E7%94%A8%E6%A0%B7%E4%BE%8B
[root@localhost coscli]# vim get-cl.py import hashlib import requests from urllib.parse import urlparse # API 的基础 URL URL = "https://cmdb.srebro.cn/api/v0.1/ci/s" # 认证的 KEY 和 SECRET KEY = "xxxxx" SECRET = "XXXXXXX" # 根据路径和参数构建 API Key 的函数 def build_api_key(path, params): # 排序并连接参数值 values = "".join([str(params[k]) for k in sorted(params.keys()) if params[k] is not None and not k.startswith('_')]) if params else "" # 加密前的原始字符串 _secret = "".join([path, SECRET, values]).encode("utf-8") # 使用 sha1 加密生成 _secret 参数 params["_secret"] = hashlib.sha1(_secret).hexdigest() # 添加 API KEY params["_key"] = KEY return params # 获取配置项信息的函数 def get_ci(payload): # 构建 API key,准备请求参数 payload = build_api_key(urlparse(URL).path, payload) # 发起 GET 请求并获取结果 response = requests.get(URL, params=payload) # 将结果解析为 JSON return response.json() # 特定查询参数 payload = { "q": "_type:45,-_type:44,-_type:54,-_type:52,-_type:50,-_type:49,-_type:47,-_type:43,-_type:41,-_type:40,-_type:33,-_type:32", "count": "1000000000000" } # 调用 get_ci 函数,传入查询参数 result = get_ci(payload) # 打印获得的 JSON 数据 print(result)
#每天夜里1点备份CMDB json数据 0 1 * * * /usr/local/bin/python3.8 /home/application/coscli/get-cl.py > /home/application/coscli/bak-json/$(date +%Y%m%d).json
[root@sre full_bak]# vim back-cmdb_full.sh #备份数据,加上存储过程 /home/application/mysql/app/bin/mysqldump --defaults-extra-file=/home/.my.cnf --routines --set-gtid-purged=OFF --databases cmdb > /home/mysql-bak/full_bak/bak-sql/full_`date +"%F"`.sql 2>&1 #删除60天之前的备份 /usr/bin/find /home/mysql-bak/full_bak/bak-sql/ -name "full_*" -ctime +60 | xargs rm -rf
#cmdb-bak 0 2 * * * /home/mysql-bak/full_bak/back-cmdb_full.sh
newest
你好 备份出来的json怎么恢复
Contact Details
974907350@qq.com
What is your question?
背景:
运维部门需要把资产信息维护在CMDB中,除此外还有研发的同学需要使用,为了保障CMDB的可用性,需要对CMDB进行备份。
备份方法:
使用Python API备份
导出的数据格式:
定时任务,定期备份
使用mysqldump全库备份
导出的数据格式:
定时任务,定期备份
Version
newest