我使用一个程序来检查 raid 状态。命令是megaclisas-status
。
问题如下:
有用户/usr/sbin/megaclisas-status
返回:This script requires Administrator privs
=> OK
有根/usr/sbin/megaclisas-status
返回 : -- Controller information -- ....
=> OK
在 root crontab0 */12 * * * bash /root/scripts/script.sh > /root/log/script.log 2>&1
返回:This script requires Administrator privs
=> 为什么???
有人知道为什么我不能在 root crontab 中使用这个命令?
以下是 script.sh 的内容:
raid=$(/usr/sbin/megaclisas-status) /usr/bin/zabbix_sender -c /etc/zabbix/zabbix_agentd.conf -k system.raid.disk.status -o "$raid"
脚本的权限如下:
-rwx------ 1 root root 131 févr. 11 14:11 scriptsh
答案1
问题不是来自 cron,而是程序本身。
它是用 python 编写的,os.getenv("USER")
在 cron 中不返回任何内容,os.getenv("LOGNAME")
请修复该问题。