如何使用特定用户运行 cron 作业?

如何使用特定用户运行 cron 作业?

我的 cron 和脚本编写技能非常差,但我需要由用户“cpc”每 5 分钟运行一次作业。所以我创建了一个脚本并将其保留在/root 中。

我的 crontab -e 关于它的条目是:

0-59/5 * * * * /root/bi-kettle.sh

这个脚本(bi-kettle.sh)是:

#!/bin/bash
su cpc
cd /home/cpc/data-integration 
/bin/bash kitchen.sh -rep="01" -job="MainLoad" -user="admin" -pass="admin" -level="Basic"`

但它不会在任何时候被调用或运行。我在这里缺少什么?

提前致谢!

答案1

su就是它失败的原因,即启动交互式 shell。为什么不将其添加到 cpc 用户的 crontab 中呢?crontab -e -u cpc

答案2

脚本的权限是什么样的?即,如果您运行ls -l /root/bi-kettle.sh,脚本是否设置为可由 root 执行?如果没有,您的修复可能很简单chmod +x /root/bi-kettle.sh

相关内容