我注意到当我输入
这两者有区别吗?如果有的话,那我应该把我的cron命令放在sudo里还是在没有sudo的情况下?
谢谢!
sudo crontab -e
时,我的cron命令不会显示,但是当我只输入crontab -e
时,命令就出现了。这两者有区别吗?如果有的话,那我应该把我的cron命令放在sudo里还是在没有sudo的情况下?
谢谢!
sudo crontab -e
时,我的cron命令不会显示,但是当我只输入crontab -e
时,命令就出现了。这两种方法有什么区别吗?
是的,它们确实不同。
区别在于使用 sudo crontab -e
命令时,命令将以 root
用户的凭据进行调度,因此 sudo 的 Cron 表中的命令将作为 root 用户执行。
但是使用 crontab -e
命令时,命令将以正在登录的常规用户的身份进行调度。
我的 cron 命令应该放在哪里,应该使用 sudo 还是不使用 sudo?
好的,这取决于您想运行的命令类型。
如果命令需要 sudo
权限,则应使用 sudo crontab -e
。
否则,如果 cron 命令不需要任何特殊权限,则使用 crontab -e
。
例如:
如果要在特定时间禁用或启用以太网网络接口 eth0
,则应使用如下命令:
ifconfig eth0 up
或者 ifconfig eth0 down
由于上述命令需要特殊权限(sudo),因此这些命令应添加到 sudo
的 Cron 表中。
其他任何需要最少权限或无需权限的命令,例如从 tmp
目录中删除文件的命令如 $ rm /tmp/somefile
,请使用常规用户的 crontab。
sudo crontab -e
和crontab -e
的路径吗?因为我需要通过Bash脚本以编程方式添加corn表达式。 - Koder101sudo
用户的路径是/var/spool/cron/crontabs/
。 - Koder101问题的主要部分是要关注您想要完成任务的用户。否则,它将无法触发您的cron作业。并确保您将命令输出写入任何文件中。这将帮助您调试问题,这些问题很可能与您的相关路径有关。
这就是我所遇到的困难。您可以按照以下步骤继续:
谢谢!