26 Star 72 Fork 29

staugur / IncetOps

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
BSD-3-Clause

IncetOps

基于Inception,一个审计、执行、回滚、统计sql的开源系统

Issue

Document

Environment

  1. Python Version: 2.7
  2. 框架: Flask
  3. 依赖包: requirements.txt
  4. 依赖服务: MySQL + Redis + Passport(认证)

Demo

演示站任务无法执行! IncetOps Demo

Features

  1. 支持多个Inception服务
  2. 支持多个数据库,数据库可设置推荐的Inception
  3. 任务支持立即和定时执行两种方式,且定时任务可取消,备份可选、警告可选等
  4. 任务支持OSC并且可以查看OSC详细进度,可取消OSC任务
  5. 任务支持查看回滚语句
  6. 统计数据
  7. 帮助

Usage

1. 安装依赖环境:
    1.0 git clone https://github.com/staugur/IncetOps && cd IncetOps
    1.1 yum install -y gcc gcc-c++ python-devel libffi-devel openssl-devel mysql-devel
    (或者Ubuntu下`apt-get install build-essential libmysqld-dev libssl-dev python-dev libffi-dev`)
    1.2 pip install -r requirements.txt
    1.3 需要安装 mysql && redis, mysql需要导入misc/incetops.sql
    1.4 认证需要安装`https://github.com/staugur/passport`,体验时可以将main.py中g.signin设置为True

2. 修改配置文件:
    可以直接修改配置文件,或者是添加环境变量, 环境变量的key均在config.py中定义, 必须参数主要有:
    > MYSQL段,设置incetops_mysql_url环境变量
    > REDIS段,设置incetops_redis_url环境变量
    > SSO段,设置incetops_sso_app_id、incetops_sso_app_secret、incetops_sso_server等环境变量
    > PLUGINS段,设置默认备份库地址incetops_defaultbackupdatabase环境变量,默认值是MYSQL段,即查看回滚语句时所在任务使用的inception服务对应的备份库地址,可能是不同的,此键只是默认,实际查看回滚时可以自定义输入。
    > SYSTEM段中的incetops_hmac_sha256_key、incetops_aes_cbc_key、incetops_jwt_secret_key一定要与passport中一致,否则无法使用passport统一登录。

3. 启动队列进程:
    sh online_rq.sh start|stop|restart #启动|停止|重启rq、rqscheduler队列服务,用以执行任务

4. 启动Web进程:
    4.1 python main.py #开发环境启动
    4.2 sh online_gunicorn.sh start|run|stop|restart #生产环境后台启动,run是前台启动

Nginx

server {
    listen       80;
    server_name  YourDomain;
    #不允许搜索引擎抓取信息
    if ($http_user_agent ~* "qihoobot|Baiduspider|Googlebot|Googlebot-Mobile|Googlebot-Image|Mediapartners-Google|Adsbot-Google|Feedfetcher-Google|Yahoo! Slurp|Yahoo! Slurp China|YoudaoBot|Sosospider|Sogou spider|Sogou web spider|Sogou+web+spider|bingbot|MSNBot|ia_archiver|Tomato Bot") {
        return 403;
    }
    #处理静态资源:
    location ~ ^\/static\/.*$ {
        root /xxxxx/IncetOps/src/;
    }
    location / {
       proxy_pass http://127.0.0.1:xxxxx;
       proxy_set_header Host $host;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-Proto $scheme;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

效果图

数据库 任务

BSD 3-Clause License Copyright (c) 2019, Mr.tao All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

简介

基于Inception,一个审计、执行、回滚、统计sql的开源系统 展开 收起
BSD-3-Clause
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Python
1
https://gitee.com/staugur/IncetOps.git
git@gitee.com:staugur/IncetOps.git
staugur
IncetOps
IncetOps
master

搜索帮助