Como eu faço um comando sudo iniciar na inicialização com um atraso de 1 minuto?

8

Gostaria de executar um comando sudo ( sudo service smbd restart ) após 1 minuto de logon. Como eu faria isso?

P.S. Este é um sistema sem monitor, mouse, teclado ou alto-falantes conectados - é uma impressora e um servidor de arquivos.

    
por user2235532 10.02.2014 / 22:59

2 respostas

9

A) Se estiver no sistema start-up, adicione isso ao final do seu /etc/rc.local (1): (antes do exit 0 , obviamente):

( sleep 60 && service smbd restart )& 

Nota:

  1. o () externo é necessário para que o comando complexo se separe e vá para o segundo plano, permitindo que o processo de inicialização seja concluído;
  2. sudo não é necessário, /etc/rc.local é executado por root ;
  3. Você tem certeza de que isso é uma solução? É uma condição de corrida pedindo para acontecer ...

B) se estiver em login de usuário , você precisa de duas etapas:

  1. configure seu sudo para que ele não solicite uma senha para o comando service smbd restart (consulte Como executo comandos sudo específicos sem uma senha? );

  2. prepare um script com o seguinte conteúdo e adicione-o ao seu programa de execução / inicialização (varia de acordo com o ambiente de área de trabalho que você está usando).

Script:

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

Notas de rodapé

(1) verifique se /etc/rc.local é executável. Caso contrário, faça isso com sudo chmod +x /etc/rc.local

    
por Rmano 10.02.2014 / 23:50
4

Experimente man sleep :

sleep 60 && sudo service smbd restart

Coloque isso nos programas de execução automática ou scripts executados no momento do login.

    
por landroni 10.02.2014 / 23:08