容器计划任务大坑:在alpine容器里,想用非root帐号执行crontab任务

本文记录了作者在Alpine Linux容器环境下,尝试让非root用户执行Cron任务所遇到的问题及解决方案。经过多次尝试后,最终采用第三方工具supercronic成功实现了目标。文中还附带介绍了su-exec和gosu两个实用工具。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我只能说抱歉,我前前后后测试了七天,

将自己预想的配置错误,一个一个去验证。

非root帐号在alpine容器里执行crontab任务,还是失败,

输出依旧是一片空白~

stackoverflow里,这个问题的帖子不多,定位准确的是url:

https://stackoverflow.com/questions/44934762/why-is-crond-failing-to-run-a-non-root-crontab-on-alpine-linux

不得已,按上贴中的高手意见,

完全弃用系统自带的crontab功能,

使用了第三方的supercronic才算搞定。

它的crontab文件和linux原生的格式兼容,

一次性的使用方法,就是./supercronic ./crontab-file。

在容器中,非root帐号也可以执行的。

这里,再介绍两个可能在容器中运行需要的小工具,

它们能让root以指定的用户执行某一程序的。

supercronic
https://github.com/aptible/supercronic


su-exec
https://github.com/ncopa/su-exec
gosu
https://github.com/tianon/gosu

************************

***为什么要非root执行docker?

安全!安全!!还是安全!!!

************************

 其中解决的一个问题:

crond -f -l 0 -d 0
bash-4.4$ crond -f -l 0 -d 0
crond: crond (busybox 1.27.2) started, log level 0
crond: xxx: Permission denied

就算是解决于这个权限问题,依旧于事无补~~~是为记。

转载于:https://www.cnblogs.com/aguncn/p/9674384.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值