如何在非特权用户的前台运行cron守护进程?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在非特权用户的前台运行cron守护进程?相关的知识,希望对你有一定的参考价值。

我使用Supervisor (supervisord)在基于CentOS的Docker容器中运行某些服务,该容器还安装了cronie,用于触发对该服务的某些定期操作。

Supervisor要求它管理的进程在前台运行(它自己守护它们)。这不是问题,因为crond-n旗帜。问题是它无法作为非root用户启动,即使您在前台运行它:

crond: can't open or create /var/run/crond.pid: Permission denied

有什么方法可以解决这个问题吗?或者可能有一些符合要求的替代(简单,轻量级)调度解决方案?

答案

我不这么认为,但你可以尝试另一种观点,并在自己的容器内部或外部使用一个useland调度程序来完成这项任务

这个将在存储在共享卷上的脚本上运行调度程序触发器来执行它必须访问的容器。

以上是关于如何在非特权用户的前台运行cron守护进程?的主要内容,如果未能解决你的问题,请参考以下文章

如何连续运行 inotifywait 并将其作为 cron 或守护进程运行?

Linux守护进程详解

向守护进程发送 SIGINT

Linux的进程管理

如何使用cron检查程序是否在后台运行,并在需要时启动它?

通过 docker 日志查看 cron 输出,无需使用额外文件