DataX+Crontab实现多任务顺序定时同步

前言
DataX 是一款支持在异构数据源之间离线同步数据的工具, DataX 通过输入一些命令执行 json 配置文件,这样使用起来并不是很方便, DataX 也不支持定时任务调度,它仅支持一次性同步任务。所以 DataX 的这些特点造成了它无法完成一些复杂的任务编排工作,如多个任务之间的依赖调用。
市面上对 DataX 扩展的开源项目很好的解决了这些问题:
DataX Web:是一个基于DataX构建的图形化数据同步平台。DataX本身是一个高效的数据同步工具,而DataX Web则提供了一个用户友好的界面,使得数据同步任务的配置、管理和监控变得更加直观和便捷。

Apache airflow:是一个开源平台,用于准备、监控和调度工作流。它允许你定义复杂的数据管道,并且可以轻松地管理这些管道的依赖关系。Airflow采用Python编写,使用DAG(有向无环图)来表示工作流,这使得它非常适合用于构建和管理数据工程中的各种任务。

本文介绍的一种 DataX 顺序编排任务调度的方式是采用是 Shell 脚本实现的,这种方式相对于以上两种开源项目来说更加轻量,虽然功能没有它们强大,但是在一些简单的业务场景中使用更具性价比。

DataX顺序调用
以下是一个顺序调用的 Shell 脚本,它的作用是调用此脚本的时候传入多个 DataX 的 json 配置文件路径,此脚本会调用 datax.py 的代码,并顺序执行 json 配置,如果中途有某个 json 配置执行失败,则返回失败提示。
Shell 脚本代码
#!/bin/bashsource /etc/profile# 定义一个函数来执行同步操作
execute_sync() 