首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用sudo命令运行cron作业

如何使用sudo命令运行cron作业
EN

Ask Ubuntu用户
提问于 2012-08-09 17:51:54
回答 5查看 384.5K关注 0票数 194

是否可以运行需要cron命令的数独作业?

比如:

代码语言:javascript
运行
复制
 sudo rm somefile
EN

回答 5

Ask Ubuntu用户

回答已采纳

发布于 2012-08-09 18:03:40

我不会说这是个坏主意;简单地说,在crontab中运行sudo需要将密码存储在明文的某个地方。

,这是个坏主意,

下面是通过cron运行管理任务的首选方法。因为您实际上不需要在crontab中编写sudo,所以如果您正在修改root的crontab。

使用根的crontab

运行以下命令:

代码语言:javascript
运行
复制
sudo crontab -e

这就打开了root的S crontab。在这个上下文中运行命令并不需要sudo,因为它无论如何都会作为root被调用。

因此,您只需将以下内容附加到root的crontab中。

代码语言:javascript
运行
复制
@hourly rm somefile

现在,如果您绝对希望使用密码不安全并冒风险,下面的命令将从您自己的crontab中运行,并在sudo提示下自动输入您的密码。

同样,这是不建议的。

在您自己的crontab中,编写如下命令:

代码语言:javascript
运行
复制
@hourly echo "password" | sudo -S rm somefile

这里明显的缺点是,如果有人访问您的crontab,您的密码将是可读的明文。

,你不应该这样做。

票数 353
EN

Ask Ubuntu用户

发布于 2012-08-09 18:02:45

如果您将脚本从一个cron目录(/etc/cron.*)中放置,那么您不需要使用sudo,因为它正在作为root运行。

如果使用crontab,则需要使用root的crontab。这将运行它作为根,也不需要sudo。

代码语言:javascript
运行
复制
sudo crontab -e
票数 49
EN

Ask Ubuntu用户

发布于 2012-08-09 18:07:07

在终端中运行以下命令

代码语言:javascript
运行
复制
sudo visudo

在文件末尾添加了以下行:

代码语言:javascript
运行
复制
vidyadhar  ALL= NOPASSWD: /bin/rm

在上面的示例中,vidyadhar是用户名,如果您通过vidyadhar运行rm命令,它不会询问密码。

票数 5
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/173924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档