crontab 以提升的权限重复计划

crontab 以提升的权限重复计划

我需要每 15 分钟执行一次以下命令:

    sudo chmod -R 777 /directory

我正在使用 Ubuntu 服务器。该指令必须以提升的权限(root)执行。

我正在考虑使用 /etc/cron.xxx 目录。

有人可以指导我如何实现这一目标吗?

谢谢

答案1

如果你想以 root 身份每 15 分钟执行一次命令,请将命令添加到 root 自己的 crontab 中:

sudo crontab -e

然后,在 crontab 中添加

*/15 * * * * chmod -R 777 /directory

保存并退出编辑器。

由于 cron 作业以拥有该作业的用户身份运行,因此在本例中 rootsudo将不会在 crontab 中使用。

答案2

您需要从 root 的 crontab 执行此操作,而不是您用户的 crontab。事实上,你可能可以从您的 执行此操作crontab,但您需要制定身份验证机制(即启用 sudo 的用户 ID 和密码)。您可以通过环境变量来做到这一点,但是......

sudo crontab -e

将打开 root 的 crontab 进行编辑。您不需要在命令前加上sudo- 前缀,只需输入它即可su root;例如:

* * * * * date >> /etc/mydatalog.txt

保存并关闭编辑器。

要验证此操作是否有效,请从您的用户帐户执行以下操作:

sudo tail -f /etc/mydatalog.txt

在您的情况下,sudo根目录的 crontab 不需要 ,所以这应该可以工作:

chmod -R 777 /directory

相关内容