在crontab上启动时运行命令

我想在完成重启后在我们的linux上运行命令,我看到它可以使用crontab完成。 我想运行这个命令

sudo ifdown eth0 && sudo ifup -v eth0 

在crontab上我可以这样做:

 @reboot sudo ifdown eth0 && sudo ifup -v eth0 

或者我需要将其存储在脚本中?

谢谢

在此之前的一些注意事项将起作用:

  1. 不要在cron工作中使用sudo 。 而是编辑root的crontab而不是你自己的,例如sudo crontab -e然后输入不带sudo
  2. 正如@mikewhatever所提到的,这对于cron是一个奇怪的用途,并且可能在exit 0行之前更好地放在/etc/rc.local
  3. 如果您确切地告诉我们您正在寻找什么,我们可能会将您引导至日志或配置选项(在启动时重新启动您的网络服务会感觉有点hackish)。
  4. 在大多数系统上@reboot也应该在硬关机或崩溃后运行,但是有不同的cron实现,所以YMMV。 我看到不同地方的评论断言两者。

编辑 (2016/02/17):删除绝对路径上的错误模糊; 荣誉@muru
编辑 (2016/10/17):添加了关机说明
编辑 (2017/09/11):修订关机说明。 那个不太确定。

你可以使用crontab,但如果你使用sudo ,那么你需要在sudoers使用NOPASSWD规则。 (请参阅如何使用sudo命令运行cron作业 。)

编辑/etc/rc.local并在exit 0行之前添加这些命令会更简单。