我试图让某个用户执行以下 cron。
U=`/usr/bin/w | grep -w :0 | awk '{ print $1 }'`
*/1 * * * * $U /opt/script.sh
看来守护进程不知道如何解释这个命令;我得到:
/usr/sbin/cron[18698]: (CRON) 错误的用户名 (/etc/cron.d/script)
有什么办法可以做到这一点吗?
答案1
不,crontab 文件不是 shell 脚本,您不能只引入任意命令或变量。如果您想执行此操作,请以 root 身份运行脚本并更改脚本中的用户。
要确定会话,请查看您可以通过以下consolekit
方式获取系统上所有活动会话的信息:dbus
ck-list-sessions