如何让 sudo 命令在启动时延迟 1 分钟启动?

如何让 sudo 命令在启动时延迟 1 分钟启动?

我想让sudo命令 ( sudo service smbd restart) 在登录 1 分钟后运行。我该怎么做?

PS 这是一个没有连接显示器、鼠标、键盘或扬声器的系统 - 它是一个打印机和文件服务器。

答案1

A)如果在系统启动时,将其添加到/etc/rc.local(1) 的末尾(显然在 之前exit 0):

( sleep 60 && service smbd restart )& 

笔记:

  1. 需要外部命令 (),以便复杂命令脱离自身并进入后台,从而完成启动过程;
  2. sudo那里不需要, /etc/rc.local由执行root
  3. 您真的确定这是一个解决方案吗?这是一个要求发生的竞争条件...

B)如果在用户登录,你需要两个步骤:

  1. 配置你的sudo,以便它不会要求输入命令密码service smbd restart(请参阅如何在没有密码的情况下运行特定的 sudo 命令?(英文):

  2. 准备一个包含以下内容的脚本并将其添加到您的自动运行/启动程序(根据您使用的桌面环境而变化)。

脚本:

#!/bin/bash
( sleep 60 && service smbd restart )& 

脚注

(1)检查是否/etc/rc.local可以执行。否则,使用以下命令使其可执行sudo chmod +x /etc/rc.local

答案2

尝试man sleep

sleep 60 && sudo service smbd restart

将其放入登录时执行的自动运行程序或脚本中。

相关内容