datax定时同步在doker中自动化部署

本文介绍了如何在Docker环境下通过Dockerfile配置定时任务,使用cron和Dockerfile来实现DataX的定时数据同步。内容包括Dockerfile的编写,crontabfile设定,run.sh脚本的创建,以及一个DataX的JSON配置文件示例。最后,讲述了如何构建和运行Docker镜像以实现持续的数据同步。
摘要由CSDN通过智能技术生成

、Dockerfile文件编写
(1)这是一个Dockerfile的例子,我在这里用的是ubuntu 16:

#基础镜像

FROM ubuntu:16.04

#安装必要的安装包,我这里用的是datax解压的版本,不需要maven,这里依赖环境python、jdk8、cron、rsyslog、tzdata 

#cron这里是使用crontab,进行定时任务
RUN apt-get update && apt-get install -y python && apt-get install -y openjdk-8-jre && apt-get install -y cron && apt-get -y install rsyslog
RUN apt-get install -y tzdata 

#设置时区,为上海
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN dpkg-reconfigure --frontend noninteractive tzdata

#将准备好的文件复制到镜像中,并作为工作空间
COPY . /app
WORKDIR /app
ONBUILD ADD . /app

#运行定时任务
RUN crontab /app/crontabfile
RUN cp /app/crontabfile /etc/crontab
RUN touch /var/log/cron.log
RUN chmod +x /app/run.sh
WORKDIR /app
CMD ["bash","/app/run.sh"]

(2)crontabfile文件:

#每五分钟进行一次数据同步,并且将日志到log文件

*/5 * * * * bash /app/syntask227.sh cron >> /var/log/cron.log 2>&1
*/5 * * * * bash /app/syntask147.sh cron >> /var/log/cron1.log 2>&1
*/5 * * * * bash /app/syntask149.sh cron >> /var/log/cron2.log 2>&1

(3)run.sh

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值