在crontab上启动时运行命令
我想在完成重启后在我们的linux上运行命令,我看到它可以使用crontab完成。 我想运行这个命令
sudo ifdown eth0 && sudo ifup -v eth0
在crontab上我可以这样做:
@reboot sudo ifdown eth0 && sudo ifup -v eth0
或者我需要将其存储在脚本中?
谢谢
在此之前的一些注意事项将起作用:
- 不要在cron工作中使用
sudo
。 而是编辑root
的crontab而不是你自己的,例如sudo crontab -e
然后输入不带sudo
。 - 正如@mikewhatever所提到的,这对于
cron
是一个奇怪的用途,并且可能在exit 0
行之前更好地放在/etc/rc.local
。 - 如果您确切地告诉我们您正在寻找什么,我们可能会将您引导至日志或配置选项(在启动时重新启动您的网络服务会感觉有点hackish)。
- 在大多数系统上
@reboot
也应该在硬关机或崩溃后运行,但是有不同的cron实现,所以YMMV。 我看到不同地方的评论断言两者。
编辑 (2016/02/17):删除绝对路径上的错误模糊; 荣誉@muru
编辑 (2016/10/17):添加了关机说明
编辑 (2017/09/11):修订关机说明。 那个不太确定。
你可以使用crontab,但如果你使用sudo
,那么你需要在sudoers
使用NOPASSWD
规则。 (请参阅如何使用sudo命令运行cron作业 。)
编辑/etc/rc.local
并在exit 0
行之前添加这些命令会更简单。