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:
sudoen un trabajo cron. En su lugar, editerootel crontab en lugar del suyo, por ejemplo,sudo crontab -ey luego ingrese los comandos sinsudo.cron, y probablemente sería mejor colocarlo/etc/rc.localantes de laexit 0línea.@reboottambié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.localsin el sudo. entonces será solo ifdown eth0 && sudo ifup -v eth0 salida 0cronutiliza elPATHdado en/etc/environment, que tiene/sbin./etc/pam.d/croncargapam_env, por lo que/etc/environmentdebe leerse yPATHutilizarse 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á unaNOPASSWDreglasudoerspara hacerlo. (Consulte Cómo ejecutar un trabajo cron con el comando sudo ).Sería más sencillo editar
/etc/rc.localy agregar estos comandos antes de laexit 0línea.fuente