Запуск отложенной команды с помощью sudo - PullRequest
7 голосов
/ 16 июня 2011

Хотите запустить скрипт bash от имени пользователя root, но с задержкой. Как этого добиться?

sudo "sleep 3600; command" , or
sudo (sleep 3600; command)

не работает.

Ответы [ 3 ]

21 голосов
/ 16 июня 2011

Вы можете использовать at:

sudo at next hour

А затем вы должны ввести команду и закрыть файл с помощью Ctrl + D . В качестве альтернативы вы можете указать команды для запуска в файле:

sudo at -f commands next hour
4 голосов
/ 16 июня 2011

Если вам действительно нужно избегать использования cron: sudo sh -c "(sleep 3600; команда) &"

0 голосов
/ 16 июня 2011

Как насчет:

sleep 3600; sudo <command>

В любом случае, я бы рассмотрел использование cron в вашем случае ...

...