以root用户身份运行crontab ?,尝试以root用户访问权限运行cmd帮助

问题描述

| 我有一个cpp程序,可以在命令行中以ok身份运行(以root身份运行),但不能从crontab中正常运行。我认为可能是因为crontab不是以root身份运行。 我试过了:
1. crontab -eu root
* * * * * /usr/bin/convertPremium.o
2. crontab -eu root
* * * * * root /usr/bin/convertPremium.o
3. crontab -e
* * * * * root /usr/bin/convertPremium.o
4. crontab -e
* * * * * /usr/bin/convertPremium.o
5. crontab -e
* * * * * sudo /usr/bin/convertPremium.o
但是对我没有任何作用。 第2,3和5节甚至根本没有运行该程序。 1和4运行该程序,但没有生成某些cmd,我认为因为它不是root运行它 使用UNIX。希望能有所帮助。     

解决方法

Premium.o似乎是一个目标文件。您无法执行目标文件。 假设1是错误的做法,而是改用了奇怪的命名约定, 您必须在crontab条目的一行中指定root用户环境中设置的所有内容: 。 / etc / profile && /path/to/Premium.o 这只是您需要指定的猜测。 另外,您是否确实知道cron条目(当它起作用时)每天都会运行?您可以使用更友好的at命令,并使其在指定时间运行一次。否则您需要阅读     ,不,我通过将crontab执行输出到日志文件来解决问题。 通过这种方式,我看到在运行ffmpeg -i ...行时,由于路径的缘故,该ffmpeg是未知的。