解决centos系统自定义在rc.local中的脚本不能执行问题小记

时间:2015.8.27

困扰了一下午的问题,晚上终于搞定,把他记录在这里

出现centos中rc.local不能自行启动的问题,大概有这么几种情况:

  1. rc.local文件没有可执行权限:添加可执行权限  (备注:/etc/rc.d/rc.local为源文件,/etc/rc.local /etc/rc3.d/S99lcoal等均为软连接文件)
  2. 缺少环境变量,因为系统启动后最后执行rc.local,但是一些系统或者用户的环境变量没有加载:解决办法:(1)在执行脚本之前添加sleep 10延迟10秒执行,但是我这边没有试验成功

    (2)在执行脚本之前添加source /etc/profile命令加载环境变量。今天下午执行node程序脚本不成功就是因为node变量的问题

  3. 还有一种情况就是报错:我遇到的是启动rabbitmq时报:erlexec:home must be set  解决方法:在执行脚本里添加export HOME=/usr/local/erlang
  4. #!bin/bash
    ######################################################################
    #Date:2015-08-13                                                     #
    #Author:qingbo.song                                                  #
    #E-mail:[email protected]                                     #
    #Comment:rabbitmq_start.sh                                           #
    #Path:/home/apicloud/Shell2E                                         #
    #Vesion:v1.0                                                         #
    ######################################################################
    #设置erlang家目录,否则rabbitmq不能开机自启动
    export HOME=/usr/local/erlang
    #rabbitmq start
    /usr/local/rabbitmq/sbin/rabbitmq-server
  5. rc.local
  6. #!/bin/sh
    #
    # This script will be executed *after* all the other init scripts.
    # You can put your own initialization stuff in here if you don‘t
    # want to do the full Sys V style init stuff.
    touch /var/lock/subsys/local
    source /etc/profile
    sh /home/shell/rabbitmq_start.sh
    #set push_start.sh
    sh /home/shell/push_start.sh
    echo never > /sys/kernel/mm/transparent_hugepage/enabled
时间: 2024-10-12 16:15:52

解决centos系统自定义在rc.local中的脚本不能执行问题小记的相关文章

CentOS7中rc.local中的指令不能生效问题。

问题:在系统中/etc/rc.local设置自启动命令的时候,重启计算机,文件中的指令无法生效. 我这里编译安装了一个mongodb数据库的服务,然后修改了环境变量.写入到了.bash_profile 文件中,在shell中可以直接执行命令. 查看文件,文件的命令也是正确的重启后指令无法生效 一.在总结问题之前,先要搞明白几个文件的作用. rc.local 路径/etc/rc.d/rc.local或/etc/rc.local(软连接文件)作用:用来开机自启动一些指定指令. ./.bash_pro

rc.local中的memcached命令不执行

碰到了个问题, rc.local 中启动memcached 的命令没有执行, 手动输入却可以. memcached 改成绝对路径之后就好了. 究其原因在于: rc.local 在PATH环境变量指示的路径中寻找 memcached. 在rc.local 执行时, PATH 中还不包括 /usr/local/bin. 手动输入可以, 是因为PATH 中已经包含 /usr/local/bin/ 了. 请写绝对路径. rc.local中的memcached命令不执行,布布扣,bubuko.com

centos shell编程6一些工作中实践脚本 第四十节课

centos   shell编程6一些工作中实践脚本    第四十节课 上半节课 下半节课 f

解决CentOS系统mini安装后的虚拟机工具(VMware Tools)安装问题

准备工作,先安装必要的组件. yum -y groupinstall "Perl Support" yum -y install gcc gcc-c++ automake make kernel-devel 然后在vCenter里找到这台服务器,并挂接VMWARE的升级工具(图形操作的略掉). mkdir /mnt/cdrommount -o loop /dev/cdrom /mnt/cdromcd /mnt/cdrom cp VMwareTools*.* /home --------

VB虚拟机下 解决centos系统无法上网的问题

首先,在VirtualBox中设置网卡连接方式:点“设置”,在弹出的界面中点“网络”,最后选择“连接方式”为“桥接网卡”或者网都可以络地址转换  这两种我试了试都可以 接下来修改一个文件就行: 1.打开终端 2.输入命令:ifconfig -a,查看网络配置文件的名字   我的是enp0s3  (我现在已经修改过了 网络已经联通了  所以才会出现紫色框中的内容) 有了配置文件的名字  那么我们使用vi编辑器打开它  输入命令:vi /etc/sysconfig/network-scripts/i

解决CentOS系统Yum出现"Cannot find a valid baseurl for repo"问题

更换下DNS 一.修改配置文件 vi /etc/resolv.conf 二.按格式修改 nameserver 8.8.4.4 nameserver 8.8.8.8

解决win7系统不支持16位实模式汇编程序DOS执行的问题

这学期学习了汇编,在自己电脑上发现,win7的dos不支持16位实模式. 对编程来说,不能执行程序是致命的. 在经过网上搜集资料后,得到一种解决的方法--使用dosbox软件执行 dosbox简单说,就是一个dos模拟程序,支持16位实模式. 1.首先下载一个dosbox安装程序并安装,以下给出地址 http://sourceforge.net/projects/dosbox/files/dosbox/0.73/DOSBox0.73-win32-installer.exe/download 2.

如何解决jenkins中shell脚本明明执行失败却不自行退出,且构建结果仍然显示success的问题??

首先,需要明确shell命令执行结果$?为0或者非0仅能代表此执行语句是否顺利执行了,例如: 执行语句:adb connect 192.168.XX.XX 执行结果:unable to connect to 192.168.XX.XX:5555: Connection timed out 此时echo $? 为0 所以需要手动在关键语句处对执行结果做逻辑判断 var=$(adb connect 192.168.XX.XX) if [[ $var =~ "connected" ]]; t

ASP.NET MVC如何在Action中返回脚本并执行

我们都知道在aspx页面的cs文件中只要用Respos.Write("<script></scritp>")就可以在前台执行脚本 但是在MVC中就不一样了,返回脚本要给定脚本类型返回.如果是使用js或者jq的ajax去请求可以直接使用毁掉函数来执行返回脚本,但如果给一个button或者一个a标签添加点击事件时并且要求后台可以返回并执行脚本,可以有一下几种情况. 第一,return Conten(("<script>alert('666')&