bash - Docker 和 cron 环境
问题描述
我在 docker 映像中遇到环境变量问题。我创建了文件:/cron.sh
#!/bin/bash
whoami
export
当我在控制台中运行手册时:sh /cron.sh 可以(root,完整环境)但是当我将命令添加到 cron 时,我得到:root,基本环境(没有我的变量)。
crontab -e:
* * * * * /bin/bash /cron.sh > /proc/$(cat /var/run/crond.pid)/fd/1 2>&1
为什么会有差异?
解决方案
我有解决方案..
在入口点运行“exec crond -n”之前,我将环境保存到文件中。
export > /.env
接下来在cron中添加:
* * * * * source /.env; /bin/bash /cron.sh > /proc/$(cat /var/run/crond.pid)/fd/1 2>&1
我希望我有所帮助:-)
推荐阅读
- python - 如何在 Python 中将 (680,) 奇异元组转换为 (680,1) 对元组?
- c# - 使用 Entity Framework Core ExecuteSqlRawAsync 存储 Jsonstring
- javascript - 调整大小的 img 标签中的奇怪边距
- spring-boot - 为什么我的 spring 安全配置不起作用?
- javascript - 用php显示选项数据并隐藏类似
- mongodb - 根据第一个的 id 过滤第二个集合后组合 2 个集合
- xamarin.android - 更改微调器文本字体的颜色
- reactjs - 如何从检查按钮获取数据到 React Native 中的列表?
- python - 获取 Twitter 帐户的关注者,然后获取该 API tweepy 的关注者
- python - 数据框中的多行具有相同的索引,垂直显示