Как заставить команду sudo запускаться при запуске с задержкой в ​​1 минуту?


8

Я хотел бы, чтобы sudoкоманда ( sudo service smbd restart) запускалась через 1 минуту после входа в систему. Как бы я поступил так?

PS Это система без монитора, мыши, клавиатуры или динамиков - это принтер и файловый сервер.


1
Что вы имеете в виду, войдя в систему? 1 минута после запуска компьютера или 1 минута после того, как пользователь вошел в систему?
Jhilmer


То, что сказал Фишер, также см. Stackoverflow.com/questions/3964254/…
Ричард

1
Если какой-либо ответ удовлетворяет ОП, отметьте его как ответ. См. Meta.askubuntu.com/questions/8333/…
Rmano

Ответы:


10

A) Если это при запуске системы , добавьте это в конец вашего /etc/rc.local(1): (перед exit 0, очевидно):

( sleep 60 && service smbd restart )& 

Замечания:

  1. внешние ()необходимы для того, чтобы сложная команда отсоединилась и перешла в фоновый режим, позволяя завершить процесс загрузки;
  2. sudoтам не нужен, /etc/rc.localвыполняется root;
  3. Вы действительно уверены, что это решение? Это условие гонки, требующее случиться ...

Б) если это при входе пользователя в систему , вам нужно два шага:

  1. настройте свой sudoтак, чтобы он не запрашивал пароль для service smbd restartкоманды (см. Как я могу запустить определенные команды sudo без пароля? );

  2. подготовьте скрипт со следующим содержимым и добавьте его в программу автозапуска / запуска (зависит от используемой среды рабочего стола).

Автор сценария:

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

Сноски

(1) проверить, /etc/rc.localявляется ли он исполняемым. В противном случае, сделайте это сsudo chmod +x /etc/rc.local


4

Попробуй man sleep:

sleep 60 && sudo service smbd restart

Поместите это в программы автозапуска или скрипты, выполняемые во время входа в систему.


Если вы не настроите sudoersфайл соответствующим образом , он не будет работать (перестанет запрашивать пароль). См. Askubuntu.com/questions/159007/…
Rmano

1
Согласовано. Ваш ответ, безусловно, более полный, чем мой. Здесь я просто пытался указать пользователю на решение.
Landroni
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.