Eu queria executar um comando no nosso linux após a reinicialização, vi que isso pode ser feito usando o crontab. Eu queria executar este comando
sudo ifdown eth0 && sudo ifup -v eth0
no crontab posso fazer:
@reboot sudo ifdown eth0 && sudo ifup -v eth0
ou preciso armazenar isso em um script?
obrigado
Respostas:
Algumas notas aqui antes que isso funcionasse:
sudo
em um trabalho cron. Em vez disso, editeroot
o crontab em vez do seu, por exemplo,sudo crontab -e
e insira comandos semsudo
.cron
, e provavelmente seria melhor colocado/etc/rc.local
antes daexit 0
linha.@reboot
, também deve ser executado após um desligamento ou travamento difícil, mas existem implementações cron diferentes para o YMMV. Já vi comentários em lugares diferentes afirmando ambos.EDIT (17/02/2016): Removido a sinopse incorreta em caminhos absolutos; kudos @muru
EDIT (17/10/2016): Adicionada nota de desligamento
EDIT (2017/09/11): Nota de desligamento revisada. Não tenho muita certeza disso.
fonte
etc/rc.local
sem o sudo. então será apenas ifdown eth0 && sudo ifup -v eth0 exit 0cron
usa oPATH
dado em/etc/environment
, que possui/sbin
./etc/pam.d/cron
carregapam_env
, portanto,/etc/environment
deve ser lido e o padrãoPATH
definido em usado. Essa resposta foi postada pouco antes do dia 12.04.Você pode usar o crontab para isso, mas se você usar
sudo
, precisará de umaNOPASSWD
regrasudoers
para fazer isso. (Consulte Como executar um trabalho cron usando o comando sudo .)Seria mais simples editar
/etc/rc.local
e adicionar esses comandos antes daexit 0
linha.fonte