为CentOS网卡启动脚本增加PreUp、PostUp、PreDown和PostDown脚本
一直习惯RedHat的配置风格,由于工作需求,偶尔也接触一下Debian系统,发现Debian配置网络参数的时候可以定义Pre-up script和Post-up script,有的时候还真需要这样的脚本。通过查看CentOS的ifup、ifdown脚本,发现脚本已经预留了相应的接口,只要把相应的脚本补齐即可。以下是增加的几个脚本:
$ cat /sbin/ifup-pre-local
#!/bin/sh export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin if [ -z "$1" ]; then echo $"usage: $0 <ifcf-file>" exit 1 fi CFGFILE="/etc/sysconfig/network-scripts/$1" [ -f "$CFGFILE" ] && . $CFGFILE FILES="/etc/sysconfig/network-scripts/preup-$DEVICE" if [ -x "$FILES" ]; then /bin/sh $FILES fi
$ cat /sbin/ifup-local
#!/bin/sh export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin if [ -z "$1" ]; then echo $"usage: $0 <net-device>" exit 1 fi FILES="/etc/sysconfig/network-scripts/postup-$1" if [ -x "$FILES" ]; then /bin/sh $FILES fi
$ cat /sbin/ifdown-pre-local
#!/bin/sh export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin if [ -z "$1" ]; then echo $"usage: $0 <net-device>" exit 1 fi FILES="/etc/sysconfig/network-scripts/predown-$1" if [ -x "$FILES" ]; then /bin/sh $FILES fi
$ cat /sbin/ifdown-local
#!/bin/sh export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin if [ -z "$1" ]; then echo $"usage: $0 <net-device>" exit 1 fi FILES="/etc/sysconfig/network-scripts/postdown-$1" if [ -x "$FILES" ]; then /bin/sh $FILES fi
从以上脚本可以看出,如果你要在eth0网卡启动前先做一些预处理,那你可以在/etc/sysconfig/network-scripts/下创建preup-eth0文件,文件内容具体为需要执行的脚本内容,最后给脚本加上执行权限即可。同理,在postdown-eth0里的脚本内容,将会在停止eth0后执行。
这样执行ifup eth0;ifdown eth0,一些依赖eth0的应用就很容易处理了。
代码显示的效果好Cool~~~
插件的作者很厉害,哈哈