我正在使用 Debian 发行版。我在目录中有一个 cron 作业/etc/cron.d/
,它的名字叫testuoju.sh
.看起来像:
34 * * * * bash /var/www/html/script/testuoju.sh
testuoju.sh
文件/var/www/html/script
看起来像:
#!/bin/sh
omxplayer -b -o local /var/www/html/uploads/testuoju.mp4
当然,我每次尝试时都会修改分钟数......但它没有运行。
答案1
您的工作存在一些问题cron
。
首先,我怀疑你的第六条条目应该是bash
;它应该是运行作业的用户(大概是您的用户)。
其次,cron
不太适合运行图形程序,例如omxplayer
.它可以工作,但您至少需要进行DISPLAY
适当的设置(以便它与运行桌面环境时所拥有的任何内容相匹配)。
另外,Debian 的cron
联机帮助页提到了这一点
一般来说,系统管理员不应该使用
/etc/cron.d/
,而是使用标准系统的crontab/etc/crontab
。
这里有几件事需要注意:使用/etc/crontab
通常比将文件放入 中更好/etc/cron.d
,所有这些都是为系统管理员准备的。对于用户作业,您应该真正使用用户的crontab
,通过
crontab -e
(作为用户)。关于图形程序的警告仍然适用......
答案2
尝试使用可执行文件的绝对路径omxplayer
,例如
/usr/sbin/omxplayer -b -o local /var/www/html/uploads/testuoju.mp4
或任何可能放置的地方。