Sudo crontab -e 与 crontab -e 以 sudo 形式运行命令

Sudo crontab -e 与 crontab -e 以 sudo 形式运行命令

假设我需要每晚以 root 权限运行一个 php 脚本,是从 root crontab 运行它,还是从具有 sudo 权限的用户 crontab 运行它,在命令中使用“sudoing”,即

sudo crontab -e

0 0 * * * /bin/sh -c "/[my_path_to]/php /[my_path_to]/[my_script].php >> /[my_path_to]/cron_log.txt 2>&1"

或者

crontab -e

 0 0 * * * sudo su -s /bin/sh -c "/[my_path_to]/php /[my_path_to]/[my_script].php >> /[my_path_to]/cron_log.txt 2>&1"

或者说实际上没有区别?

答案1

当然,最好从root用户的crontab中运行需要以root身份运行的命令。

从技术上讲,在用户的 crontab 中运行命令sudo是可行的,但需要您实现一种方法来sudo为该命令提供密码:您将面临安全问题。

相关内容