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

use*_*532 8 command-line boot sudo

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

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

Rma*_*ano 10

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

( sleep 60 && service smbd restart )& 
Run Code Online (Sandbox Code Playgroud)

笔记:

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

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

  1. 配置您的命令sudo,使其不会要求输入密码service smbd restart(请参阅如何在没有密码的情况下运行特定的 sudo 命令?);

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

脚本:

#!/bin/bash
( sleep 60 && service smbd restart )& 
Run Code Online (Sandbox Code Playgroud)

脚注

(1) 检查是否/etc/rc.local可执行。否则,让它如此sudo chmod +x /etc/rc.local


lan*_*oni 4

尝试man sleep

sleep 60 && sudo service smbd restart
Run Code Online (Sandbox Code Playgroud)

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