【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)


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM