我有Linux 5.3 redhat我想添加脚本add_dhcp.ksh到我的Linux机器,以便在重新启动后自动更新ifcfg-eth1(此脚本启用dhcp和启动eth1)
我的问题:请在Linux重新启动后请build议所需的步骤以便自动激活add_dhcp.ksh脚本,
add_dhcp.ksh script #!/bin/ksh perl -i -pe "s/none/dhcp/" /etc/sysconfig/network-scripts/ifcfg-eth1 perl -i -pe "s/no/yes/" /etc/sysconfig/network-scripts/ifcfg-eth1 ifdown eth1 ifup eth1
通过将其添加到/etc/rc.local文件来运行此脚本。 不pipe是在rc.local文件中,它在每次启动时都由linux运行。顺序没有问题,只要你可以使用“服务networking重启”而不是ifup ifdown。 。 另外,每次重新启动时需要手动执行此操作? 为什么不能在这个接口上一次性地启用DHCP?
您可以使用cron和/ etc / crontab中的@reboot'time'来实现这个function
@reboot root /path/to/add_dhcp.ksh
这将在启动时运行一次你的命令。
编辑:
如果你不想编辑任何现有的系统文件,那么你可以在/etc/cron.d中创build一个文件。 这个目录像/ etc / crontab文件的扩展名,文件使用相同的格式。 请注意,此目录中的文件应该只能由root写入。
创build文件(例如/etc/cron.d/rebootfixup )并添加一行
@reboot root /path/to/add_dhcp.ksh
现在,当您的系统启动时,文件将被添加到cron作业列表中并进行相应的操作。
我认为通常的做法是把它放到rc.local中,但是如果你不想改变文件并且想要一个纯粹的目录方法,你可以把脚本放到/etc/init.d目录下。 将其configuration为接受“开始”或“停止”的参数(stop arg可能与此特定用例无关)。 然后在/etc/rc3.d/中添加一个符号链接,指向名称为S99adddhcp的脚本。
这些'rc'目录是作为启动过程的一部分读取的,如果您因为某种原因而喜欢rc.local的这种方法,您可以在这里修改启动行为。
以下是这种typesconfiguration的很多很多参考资料 – 非常值得一读:
http://www.notesbit.com/index.php/scripts-unix/customizing-system-startup-in-redhat-linux/ http://www.ghacks.net/2009/04/04/get-to-知道Linux的最etcinitd目录/
–Matt