We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[email protected]
运维部门需要把资产信息维护在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
The text was updated successfully, but these errors were encountered:
你好 备份出来的json怎么恢复
Sorry, something went wrong.
ivonGwy
No branches or pull requests
Contact Details
[email protected]
What is your question?
背景:
运维部门需要把资产信息维护在CMDB中,除此外还有研发的同学需要使用,为了保障CMDB的可用性,需要对CMDB进行备份。
备份方法:
使用Python API备份
导出的数据格式:
定时任务,定期备份
使用mysqldump全库备份
导出的数据格式:
定时任务,定期备份
Version
newest
The text was updated successfully, but these errors were encountered: