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 小时前
程序员效率神器:一文掌握 tmux(服务器开发必备工具)
运维·后端·程序员
NineData17 小时前
数据库管理工具NineData,一年进化成为数万+开发者的首选数据库工具?
运维·数据结构·数据库
用户135739992566020 小时前
Windows 从 0 搭建 WSL2 原生 AI 开发环境:Codex + Docker + VSCode
docker
vi_h21 小时前
在 macOS 上通过 Docker 安装并运行 Ollama(详细可执行教程)
macos·docker·ollama
黑心老魔21 小时前
通过 Docker 创建开发环境
docker·开发环境
冬奇Lab1 天前
一天一个开源项目(第41篇):Workout.cool - 现代化开源健身教练平台,训练计划与进度追踪
docker·开源·资讯
梦想很大很大2 天前
拒绝“盲猜式”调优:在 Go Gin 项目中落地 OpenTelemetry 链路追踪
运维·后端·go
Sinclair2 天前
内网服务器离线安装 Nginx+PHP+MySQL 的方法
运维
叶落阁主2 天前
Tailscale 完全指南:从入门到私有 DERP 部署
运维·安全·远程工作
天朝八阿哥2 天前
使用Docker+vscode搭建离线的go开发调试环境
后端·docker·visual studio code