CentOS7 的/etc/rc.local不会开机执行解决方案

  最近发现centos7 的/etc/rc.local不会开机执行,于是认真看了下/etc/rc.local文件内容的就发现了问题的原因了

#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In constrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.

翻译:

#这个文件是为了兼容性的问题而添加的。
#
#强烈建议创建自己的systemd服务或udev规则来在开机时运行脚本而不是使用这个文件。
#
#与以前的版本引导时并行执行相比较,这个脚本将不会在其他所有的服务后执行。
#
#请记住,你必须执行“chmod +x /etc/rc.d/rc.local”来确保确保这个脚本在引导时执行。

于是我有确认了下/etc/rc.local的权限

[root@localhost ~]# ll /etc/rc.local
lrwxrwxrwx. 1 root root 13 8月  12 06:09 /etc/rc.local -> rc.d/rc.local
[root@localhost ~]# ll /etc/rc.d/rc.local
-rw-r--r--. 1 root root 477 6月  10 13:35 /etc/rc.d/rc.local

/etc/rc.d/rc.local没有执行权限,于是按说明的内容执行

chmod +x /etc/rc.d/rc.local

重启后发现/etc/rc.local能够执行了。

看样子是版本的变迁,/etc/rc.local /etc/rc.d/rc.local正弃用的路上。

时间: 2024-09-30 06:38:35

CentOS7 的/etc/rc.local不会开机执行解决方案的相关文章

rc local-在 rc.local 中添加shell脚本开机启动后,如果需要用到数据库,会报错,怎么解决

问题描述 在 rc.local 中添加shell脚本开机启动后,如果需要用到数据库,会报错,怎么解决 会出现这样的报错,感觉是数据库还没启动完. OperationalError: (2006, 'MySQL server has gone away') 但是已经加了非常长的延时,还是不行,开机后自己手动启动的话就不会出现在这个问题,怎么解决 解决方案 你需要放在数据库启动之后.不然你的脚本启动的时候,数据库还没有启动 解决方案二: 你明白出错的原因啊,放在数据库启动完了之后在执行这个脚本就OK

rc.local自启动学习(转)

linux有自己一套完整的启动体系,抓住了linux启动的脉络,linux的启动过程将不再神秘. 本文中假设inittab中设置的init tree为: /etc/rc.d/rc0.d/etc/rc.d/rc1.d/etc/rc.d/rc2.d/etc/rc.d/rc3.d/etc/rc.d/rc4.d/etc/rc.d/rc5.d/etc/rc.d/rc6.d/etc/rc.d/init.d 目录 1. 关于linux的启动2. 关于rc.d3. 启动脚本示例4. 关于rc.local5. 关

linux自定义脚本添加到rc.local脚本无法正常运行的问题

为了能科学地上网,你懂的.其中需要将服务端做成开机启动.然而脚本在secure crt下能正常运行,添加到/etc/rc.local下却无法正常启动服务.用ps查找了下,脚本是运行了,但服务没起来.于是折腾了一通,怀疑是不是路径找不到的原因.然而export了一下PATH,妥妥的. 原脚本 #! /bin/sh #进程名字可修改 PRO_NAME=ssserver PORT=不告诉你 PASS=不告诉你 while true ; do #用ps获取$PRO_NAME进程数量 NUM=`ps au

配置 Oracle 11gR2 在 CentOS6 上开机自启动

修改配置 要达到oracle随开机自启动,一般使用11g自带的dbstart脚本:$ORACLE_HOME/bin/dbstart,但要先修改/etc/oratab的内容,将N改成Y,表示允许实例自启动,假如有2个实例要启动,再写一行: $ vi /etc/oratab EXCRMPROD:/db/oracle/product/11.2.0/db_1:Y 然后在oracle用户下执行$ORACLE_HOME/bin/dbstart即可启动,日志被记录在$ORACLE_HOME/startup.l

Linux开机启动分析与系统配置

在业务运维中,经常需要做系统环境配置,环境配置要在当前运行环境中生效,也要持久化依然重启生效. 通常,大家都会想到在/etc/rc.local中去添加业务自定义代码,但是也会发现,有些配置重启无法生产生效. 而且rc.local中会出现大量的复杂的业务逻辑代码.修改系统配置.启动业务进程等逻辑都会存在这个文件中,调用关系复杂,维护很痛苦. 一些case : 1. 开启iptables之后, 偶尔会遇到 `nf_conntrack: table full, dropping packet` 的信息

Debian vps设置软件开机自启动步骤

debian启动过程 1.init运行级别 在linux的启动过程一文中,我介绍了linux启动需要哪些过程.其中,在第五步时会在加载init程序,配置文件为/etc/inittab,这个文件会指定init执行/etc/init.d/rcS脚本,该脚本又通过子进程执行/etc/rcS.d/目录下的脚本,如检测挂载文件系统,转载内核模块,启动网络服务,设置时钟还有其他初始化工作.接着,为了兼容性,会执行/etc/rc.boot/目录下,所有文件名不含"."的文件. 启动过程之后,init

linux设置tomcat开机自动启动

1.修改/etc/rc.d/rc.local,使用vi /etc/rc.d/rc.local 命令2.在/etc/rc.d/rc.local文件最后添加下面两行脚本 export JAVA_HOME=/usr/local/jdk1.7.0_03 /usr/local/apache-tomcat-7.0.32/bin/startup.sh start 注意事项:当时两台服务器,其中一行只添加了第二行的脚本,就好使,另外一台机器只添加第二行就不好使,所以建议大家两行都添加.其中:/usr/local

Centos6.5搭建java开发环境配置详解_Linux

一.安装jdk 1.查看Linux自带的JDK是否已安装 java –version 如果出现openjdk,最好还是先卸载掉openjdk,在安装sun公司的jdk. 2.查看jdk信息 rpm -qa|grep java 3.卸载OpenJDK,执行以下操作: rpm -e --nodeps tzdata-java-2012c-1.el6.noarch rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-1.45.1.11.1.el6.x86_64 4.新

YUM源、磁盘基础知识 CDN概念

第1章 YUM源 1.1 什么是yum源 Yellowdog Updater, Modified 一个基于RPM包管理的字符前端软件包管理器.能够从指定的服务器自动下载RPM包并且安装,可以处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载.安装. 简单来说就是软件仓库--yum源/仓库,类似于电脑管家之类. 1.2 查看系统中有什么yum源 yum repolist 目录可以列出服务器中使用的什么yum源. [root@znix ~]# yum repolist Loaded