docker 容器中安装cron,却无法启动定时任务

问题描述:

当我是在Dockerfile配置安装cron

RUN apt-get update && apt-get install -y cron

或者进入容器中安装cron

apt-get install -y cron

都会有个问题就是cron服务正常启动,但是加入到/etc/con.d下的任务,或者crontab -e 添加的定时任务都没有运行。

问题原因:

大概是因为没有添加上环境变量。

解决问题:

写个sh 脚本用来添加定时任务,顺便在重启cron时添加环境变量。

需要给sh 脚本加上运行权限

chmod +x xxx.sh

bash 复制代码
#!/bin/bash
# crontab
cp /home/cronfile /etc/cron.d/cronfile
chmod 0644 /etc/cron.d/cronfile
crontab /etc/cron.d/cronfile
service cron restart
printenv | grep -v "no_proxy" >> /etc/environment

cronfile中定义自己的任务

bash 复制代码
*/1 * * * * date >> /var/log/time.log 2>&1
相关推荐
做个文艺程序员14 小时前
用 Codex 写运维脚本(二)—— Prompt 工程:如何精准描述你的脚本需求
运维·prompt
jy419321714 小时前
跨国链路丢包总查不出来?一篇讲透 Traceroute / MTR 的实战指南(含 7 个真实场景)
运维
The_cute_cat14 小时前
CentOS Stream 10虚拟机固定ip总结
linux·运维·centos
Elastic 中国社区官方博客14 小时前
使用 Elastic Observability 和 MCP 的 Agentic 驱动 Kubernetes 调查
数据库·elasticsearch·搜索引擎·云原生·容器·kubernetes·全文检索
阿正的梦工坊14 小时前
DOCKER_DATABASE_URL 逐段解析:部署时候的信息解析
数据库·docker·容器
一只积极向上的小咸鱼14 小时前
Vscode打开多个窗口
linux·运维·服务器·vscode
IMPYLH14 小时前
Linux 的 shred 命令
linux·运维·服务器·bash
咖喱o14 小时前
ARP代理(ARP Proxy)
运维·服务器·网络
郝开14 小时前
Docker Compose 本地环境搭建:nacos
运维·docker·容器
终端行者14 小时前
Jenkins Pipeline在不同阶段指定不同的 agent 或 Docker 容器进行执行任务和固定一个节点分段执行任务,一文带你搞定
java·docker·jenkins·cicd