请问LINUX下开机自启动里rc.local里-c参数啥

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问LINUX下开机自启动里rc.local里-c参数啥相关的知识,希望对你有一定的参考价值。

例如这个su - oracle -c "/u01/app/oracle/product/10.2.0/db_1/bin/lsnrctl start"
前面的-c是什么,必须要加吗?如果我只用root用户开机执行某脚本是不是就直接写
sh 脚本路径??

-c 是 su 的参数,su 到特定用户执行参数后面的COMMAND,然后返回

如果用root用户执行,就不必用 su了,直接执行脚本就行,不过得在脚本中添加所需的环境变量
su - username -c command 是带着用户的环境参数的
参考技术A -C后面是加一条命令“command” 参考技术B su 参数使用详解:
http://www.bdkyr.com/view.php?id=68

linux下设置tomcat开机自启动

linux下/etc/init.d和/etc/rc.d/rc.local的区别说明:

/etc/init.d是个目录,这个目录里面用于放置shell脚本,注意是脚本,这些脚本是启动脚本,用于Linux中服务的启动、停止、重启,比如各种Linux中的服务都会有启动脚本放在这里,像是ssh服务的文件sshd就在这里面。而/etc/rc.d/rc.local是一个文件,这个文件用于用户自定义开机启动程序,也就是说用户可以把需要开机启动的程序、命令写入这个文件,这样就可以在系统启动时自动执行这个命令,比如把一个shell脚本的完整路径写入这个文件,那这个shell脚本就会在开机后自动执行。

开机自启动Tomcat:

每次开机都要启动tomcat,用shell脚本来实现tomcat开机自启动或者直接修改系统文件来实现。

一、改脚本文件rc.local:vim /etc/rc.d/rc.local

  这个脚本是使用者自定的开机启动程序,可以在里面添加想在系统启动之后执行的脚本或者脚本执行命令
1、如下内容:

  export JAVA_HOME=/opt/jdk1.8.0_65
  /opt/tomcat包名/bin/startup.sh start

2、esc 退出编辑,:wq 保存修改
3、将rc.local修改为可执行
  chmod +x /etc/rc.d/rc.local

二、在/etc/init.d目录下创建启动shell脚本文件

1、/etc/init.d里增加一个开机 运行脚本tomcatstart

vi /etc/init.d/tomcatstart 
#!/bin/bash
#chkconfig:  2345 08 92
#description: Start

echo "Starting Tomcat Service ..."
/opt/tomcat8/bin/startup.sh

2、给些启动脚本加上执行
chmod +x /etc/init.d/tomcatstart

三、shell脚本说明

#!/bin/bash
#chkconfig:  2345 08 92
#description: Start

第一行,告诉系统使用的shell,所有的shell脚本都是这样。
第二行,chkconfig后面有三个参数2345,08和92告诉chkconfig程序,需要在/etc/rc.d/rc2.d~rc5.d目录下,创建名字为 S08tomcatstart的文件连接,连接到/etc/rc.d/init.d目录下的的tomcatstart脚本。第一个字符是S,系统在启动的时候,运行脚本tomcatstart,就会添加一个start参数,告诉脚本,现在是启动模式。
同时在/etc/rc.d/rc0.d和/etc/rc.d/rc6.d目录下,创建名字为K92tomcatstart的 文件连接,第一个字符为K,在关闭系统的时候,会运行tomcatstart,添加一个stop参数,告诉脚本,现在是关闭模式。
注意上面的三行中:第二、第三行是必须的,否则在运行chkconfig --add tomcatstart时,会报错。

以上是关于请问LINUX下开机自启动里rc.local里-c参数啥的主要内容,如果未能解决你的问题,请参考以下文章

centos 开机启动执行某个脚本(rc.local)

如何查看 linux开机启动脚本

用rc.local工具开机自启动

Linux开机启动文件rc.local无法执行怎么办

Ubuntu 解决 /etc/rc.local 开机启动问题

给Debian9 没有rc.local的添加开机自动启动