Quería ejecutar un comando en nuestro linux después de que se haya reiniciado, vi que se puede hacer usando crontab. Quería ejecutar este comando
sudo ifdown eth0 && sudo ifup -v eth0
en el crontab puedo hacer:
@reboot sudo ifdown eth0 && sudo ifup -v eth0
¿o necesito almacenar eso en un script?
gracias
Respuestas:
Algunas notas aquí antes de que esto funcione:
sudo
en un trabajo cron. En su lugar, editeroot
el crontab en lugar del suyo, por ejemplo,sudo crontab -e
y luego ingrese los comandos sinsudo
.cron
, y probablemente sería mejor colocarlo/etc/rc.local
antes de laexit 0
línea.@reboot
también se debe ejecutar después de un apagado o bloqueo, pero hay diferentes implementaciones de cron así que YMMV. He visto comentarios en diferentes lugares afirmando ambos.EDITAR (17/02/2016): se eliminó la publicidad incorrecta en las rutas absolutas; kudos @muru
EDIT (2016/10/17): Nota de cierre agregada
EDIT (2017/09/11): Nota de cierre revisada. No estoy realmente seguro de eso.
fuente
etc/rc.local
sin el sudo. entonces será solo ifdown eth0 && sudo ifup -v eth0 salida 0cron
utiliza elPATH
dado en/etc/environment
, que tiene/sbin
./etc/pam.d/cron
cargapam_env
, por lo que/etc/environment
debe leerse yPATH
utilizarse el conjunto predeterminado . Esa respuesta fue publicada justo antes de que saliera el 12.04.Puede usar crontab para esto, pero si lo usa
sudo
, necesitará unaNOPASSWD
reglasudoers
para hacerlo. (Consulte Cómo ejecutar un trabajo cron con el comando sudo ).Sería más sencillo editar
/etc/rc.local
y agregar estos comandos antes de laexit 0
línea.fuente