Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
以非root用户身份运行python cron脚本_Python_Cron_Cron Task - Fatal编程技术网

以非root用户身份运行python cron脚本

以非root用户身份运行python cron脚本,python,cron,cron-task,Python,Cron,Cron Task,在我的CentOS 6设备中,我有一个小问题,就是将python脚本作为特定用户帐户运行 我的cron.d/cron文件如下所示: 517***报告/usr/local/bin/report.py>/var/log/report.log 2>&1 帐户报告已存在,并且该脚本将访问的所有文件都是chowned和chgrped到报告。python脚本是chmoda+r。python脚本以#开头/usr/bin/env python 但这不是问题所在。问题是我在日志文件中什么也看不到。python脚本

在我的CentOS 6设备中,我有一个小问题,就是将python脚本作为特定用户帐户运行

我的cron.d/cron文件如下所示:

517***报告/usr/local/bin/report.py>/var/log/report.log 2>&1

帐户
报告
已存在,并且该脚本将访问的所有文件都是
chowned
chgrped
报告
。python脚本是
chmoda+r
。python脚本以
#开头/usr/bin/env python

但这不是问题所在。问题是我在日志文件中什么也看不到。python脚本甚至还没有开始运行!你知道为什么会这样吗

如果我在cronfile中将用户改为
root
,而不是
reports
,则运行正常。但是,我无法在生产服务器中以
root
身份运行它

如果您有任何问题,请询问:)

/e:
如果我使用
sudo-u reports python report.py
它工作得很好。

Cron作业是在设置Cron作业的用户的权限下运行的。 即,
报告
用户的cron表中的任何内容都将作为
报告
用户运行

如果您必须如此
sudo
才能让脚本在以
reports
身份登录时运行,那么脚本可能也不会作为cron作业运行。当以
报告
身份登录时,您是否可以在不使用
sudo
的情况下运行此脚本?如果不是,那么cron作业也不能。有道理吗

检查日志-您是否收到权限错误

脚本需要某些priv的原因有很多,但解决这一问题的简单方法是将cron作业设置在
根目录下,而不是
报告下。更长远的方法是查看到底是什么需要提升权限,并修复它。是文件权限吗?受保护的命令?也许将
报告
添加到某些组将允许您在
报告
下运行它,而不是在
根目录下运行


*如果/当您将cron作业设置为root

时,无论何时尝试
su-reports
我都会收到“reports account is not current available”(报告帐户当前不可用)或类似的消息,请务必格外小心。我明天将在工作中检查并再次发布:)我现在可以做
su-reports
,并且可以很好地运行脚本。所以问题不在于权限。我仍然没有看到日志文件的输出。