您的位置:首页 > 运维架构

openSUSE下开机自动运行脚本命令的方法

2017-08-20 20:16 676 查看
在/etc/init.d/boot.local文件中添加命令。RedHat系统的对应文件是/etc/rc.d/rc.local。

对于Linux系统启动时自动运行的命令或程序,在rh-basedlinux系统,一般常见是放在/etc/rc.d/rc.local中。但SuSELinux没有这个文件,另外也不推荐使用者这样管理启动服务。推荐使用正规的方式来管理服务启动方式。

有人会说,在SuSE系统里,可以放在/etc/init.d/boot.local中,这要看实际情况。因为SuSE的/etc/init.d /boot.local文件是由/etc/init.d/boot这个script所启动的,而且是最后bootscript工作完成要准备进入 runlevel环境执行各项rcscript时所执行。而rh的/etc/rc.d/rc.local档案是runlevel环境执行各项 rcscript时最后一个阶段执行的,所以层面不一样。如果你要运行的程序适合于runlevel这项服务之前就执行的话,在SuSElinux中可以放在boot.local文件里。

但如果你的服务需要是在进入runlevel后才执行的话,SuSE下正规做法应该是自己写一个 rcscript放到/etc/init.d/目录下,然后使用chkconfigorinssev程序来管理配置能够于某个runlevel环境开机时是否要启用关闭该服务项目。该rcscript写法可以自己参考一下/etc/init.d/里面现成的script档案,应该很容易就写一个自己的版本

关于开机启动脚本配置文件SUSE与其它Linux设置不一样,网上查了半天记录如下那就是/etc/init.d 下的几个档案1. boot.local –> 这个开机启动档案会在 rc5.d前就有动作2. halt.local –> 这个关机启动档案会在最后有动作3. before.local –> 这个档案比较用不到所以不需多做解释4. after.local –> 这个档案会在 rc5.d 之后有动作,就是最重要的开机启动档,没有的话 新建一个上面第三及第四个档案预设是不存在的喔!!当你看过/etc/init.d/rc 这个档案就知道为什幺了所以当你要使用第三或第四个档案时请自己建立,就像妳写个 shell 一样很简单
openSUSE启动程序的设置比较特殊,以openSUSE 11和10 sp2为例。openSUSE的启动较分散,主要有/etc/rc.d/boot.local、/etc/rc.d/after.local、/etc/init.d/before.local三个文件。每个文件的意义如下:/etc/rc.d/after.local
此文件需要手动创建。它是在系统已完成运行级的启动后执行的脚本。与其它系统的rc.local相似。
/etc/rc.d/boot.local
此文件在系统启动后,进入运行级前就执行的用户脚本。注意这一文件执行时网络等设备都尚未就绪,使用时应小心。
/etc/rc.d/before.local
此文件貌似需要手动创建,在系统进入运行级前执行,但比boot.local晚,此时网络等设备也未就绪。
一般,对于多数启动程序来说,将其加到/etc/rc.d/after.local中较为合适。下面是我遇到的情况,我的问题是想将mac地址修改为其他的地址,但是不管在YaST中设置还是在/etc/sysconfig/network/ifcfg-eth0文件中修改就是不能修改为指定的mac地址,于是用一下办法解决:vi/etc/rc.d/after.local #写下一下内容/sbin/ifconfigeth0 down
/sbin/ifconfig eth0 hw ether 00:0C:jj:kk:45:ee/sbin/ifconfigeth0 up#reboot--试试效果
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  开机 open SUSE