我有一个crontab
50 11 * * * root /home/user/web/domain.com/python/stepn/cron.sh >> /home/user/web/domain.com/python/stepn/cronlogs.log 2>&1
cron.sh的含量是
/home/user/web/domain.com/python/stepn/venv/bin/python /home/user/web/domain.com/python/stepn/get.py
sh文件通过命令行工作。每当cron运行时,日志文件都包含
/bin/bash: root: command not found
stepn文件夹上的-R权限是user:wheel
我将组更改为wheel,以便root拥有对文件夹的权限。我不知道我是否需要这样做。以前是user:user
我注意到python是/opt/rh/rh-python38/root/usr/bin/python的快捷方式
我不知道还能做什么,让cron工作。
根据您定义crontab条目的确切位置,用户列(在您的情况下设置为root
(是不期望的,也是不受支持的。
例如,使用crontab -e
命令编辑crontab时就是这种情况。在这里,应该运行该命令的用户被隐式地设置为您正在编辑其crontab的用户。
在您的情况下,cron在时间规范之后不需要用户名,因此假设它应该运行以下命令:
root /home/user/web/domain.com/python/stepn/cron.sh >> /home/user/web/domain.com/python/stepn/cronlogs.log 2>&1
由于您没有名为root
的可执行文件,因此此操作将失败。要解决此问题,请确保在正确的上下文中定义crontab条目,和/或在隐含用户的情况下取消那里的用户名规范。