【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)
好学若饥,谦卑若愚
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通