Linux定时任务执行docker命令
1、编写任务的脚本 execute.sh
脚本内容:
#!/bin/sh
docker exec container_name env LANG=C.UTF-8 /bin/bash -c 'cd /home/apps/bin && ./tash.sh'
注意:container_name是容器名称
env LANG=C.UTF-8是容器内环境的字符集,避免容器内中文乱码
cd /home/apps/bin && ./tash.sh 是进入到容器内脚本目录并执行tash.sh脚本
不要在docker命令里加 -it ,否则会出如下问题:在linux里手动启动execute.sh成功,但在定时任务中启动不了。
2、创建定时任务:
执行:crontab -e 会打开任务列表
编辑定时任务 10min执行一次:
*/10 * * * * /home/maple/execute.sh >> /home/maple/task.log