【Datax】批量执行Datax任务脚本

【Datax】批量执行Datax任务脚本

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os,datetime,logging

#定义日志模块-开始
datestr         = (datetime.datetime.now()).strftime('%Y-%m')
logger_path     = '/home/datax/dataxlog'
if not os.path.exists(logger_path):
    os.makedirs(logger_path)

logger          = logging.getLogger('DataxLog')
logger.setLevel(level = logging.INFO)
handler         = logging.FileHandler(logger_path+'/'+datestr+'-datax.log')
formatter       = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)
logger.addHandler(handler)
#定义日志模块-结束

# Datax命令路径
datax_cmd       = 'python /usr/local/datax/bin/datax.py -p '
# Datax参数
datax_arg       = ' "-Dyear=%s" '
# Datax配置文件路径
datax_cfg_path  = '/usr/local/datax-config/'
# Datax运行文件名称
datax_cfg_list  = ['mysql2es1.json',  'mysql2mysql2.json']
      # Datax拼接后的命令集
datax_exec_list = []
if __name__ == '__main__':
    year  = (datetime.datetime.now()).strftime('%Y')
    arg   = datax_arg % (year)
    for cfg_name in datax_cfg_list :
        cmd = datax_cmd + arg + datax_cfg_path + cfg_name
        datax_exec_list.append(cmd)
    for cmd in datax_exec_list:
        logger.info('start:'+cmd)
        try:
            os.system(cmd)
            logger.info('end:'+cmd)
        except Exception as e:
            logger.error('fail execute ='+cmd)
            logger.error('Error:',e)

posted @   二月无雨  阅读(1235)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示