CentOS 7 开机运行脚本
2016-07-26 by dongnan
问题描述
某台服务器操作系统为 CentOS 7.2
在 /etc/rc.local
添加一个开机启动防火墙shell
脚本,但是重启系统后这个脚本并没有执行。
# 执行命令
tail -n1 /etc/rc.local
/root/sh/iptables.sh
问题原因
使用 google
大法,得知 CentOS 7
更新了 rc.local
文件使用策略:
- 这个文件是为了兼容性的问题而添加的。
- 强烈建议创建自己的
systemd
服务或udev
规则来在开机时运行脚本而不是使用这个文件。 - 与以前的版本引导时的并行执行相比较,这个脚本将不会在其他所有的服务后执行。
- 请记住必须执行
chmod +x /etc/rc.d/rc.local
来确保确保这个脚本有执行权限。
检查权限果然没有可执行权限
ll /etc/rc.d/rc.local
-rw-r--r-- 1 root root 505 Jun 17 01:01 /etc/rc.d/rc.local
解决方法
按照提示赋予 rc.local
可执行权限:
chmod +x /etc/rc.d/rc.local
小结
如上所述,rc.local
这个文件属于过度性质,未来可能会删除,推荐使用自定义 systemd
服务。