Linux下设置默认开机启动
- 格式:doc
- 大小:260.00 KB
- 文档页数:4
Linux—添加开机启动(服务脚本)系统启动时需要加载的配置⽂件/etc/profile、/root/.bash_profile/etc/bashrc、/root/.bashrc/etc/profile.d/*.sh、/etc/profile.d/lang.sh/etc/sysconfig/i18n、/etc/rc.local(/etc/rc.d/rc.local)⼀、修改开机启动⽂件:/etc/rc.local(或者/etc/rc.d/rc.local)# 1.编辑rc.local⽂件[root@localhost ~]# vi /etc/rc.local# 2.修改rc.local⽂件,在 exit 0前⾯加⼊以下命令。
保存并退出。
/etc/init.d/mysqld start # mysql开机启动/etc/init.d/nginx start # nginx开机启动supervisord -c /etc/supervisor/supervisord.conf # supervisord开机启动/bin/bash /server/scripts/test.sh >/dev/null2>/dev/null# 3.最后修改rc.local⽂件的执⾏权限[root@localhost ~]# chmod +x /etc/rc.local[root@localhost ~]# chmod755 /etc/rc.local⼆、⾃⼰写⼀个shell脚本将写好的脚本(.sh⽂件)放到⽬录 /etc/profile.d/ 下,系统启动后就会⾃动执⾏该⽬录下的所有shell脚本。
三、通过chkconfig命令设置# 1.将(脚本)启动⽂件移动到 /etc/init.d/或者/etc/rc.d/init.d/⽬录下。
(前者是后者的软连接)mv /www/wwwroot/test.sh /etc/rc.d/init.d# 2.启动⽂件前⾯务必添加如下三⾏代码,否侧会提⽰chkconfig不⽀持。
Linux下安装zookeeper、配置zookeeper开机⾃启动本⽂主要介绍如何在Centos7下安装zookeeper以及如何使⽤。
安装JDK下载安装zookeeper启动zookeeper设置zookeeper开机⾃动启动⼀、安装JDK使⽤zookeeper前,必须先安装JDK,如何安装JDK,可以查看:⼆、下载安装zookeeper2.1 通过官⽹下载:。
本⽂中使⽤3.7.0版本。
// 进⼊下载⽬录并下载cd /usr/local/mkdir zookeepercd zookeeperwget https:///apache/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz注意:没有bin的是zk的源码包,可以看到也是maven项⽬,是需要编译打包才能使⽤如果下载的不是bin包,执⾏启动命令 zkServer.sh startzkServer启动失败,查看zk的⽇志⽂件,报如下错误:Error:Could not find or Load main class org.apache.zookeeper.server.quorum.QuorumPeerMain因此,需要下载bin包⽅可启动成功。
2.2 解压// 解压tar -zxvf apache-zookeeper-3.7.0-bin.tar.gz2.3 修改配置⽂件// 1.进⼊配置⽂件⽬录cd apache-zookeeper-3.7.0-bin/conf// 2.将zoo_sample.cfg这个⽂件复制为zoo.cfg (注意:⽂件名⼀定要是zoo.cfg)cp zoo_sample.cfg zoo.cfg// 3.修改配置⽂件vim zoo.cfg修改zoo.cfg,修改前:修改后:注意:数据存放⽬录data由⾃⼰决定,但是启动服务前⼀定要确保对应的⽬录存在,不然启动会失败2.4 创建data⽂件夹// 创建data⽬录[root@localhost conf]# cd ../[root@localhost apache-zookeeper-3.7.0-bin]# pwd/usr/local/zookeeper/apache-zookeeper-3.7.0-bin[root@localhost apache-zookeeper-3.7.0-bin]# mkdir data[root@localhost apache-zookeeper-3.7.0-bin]# ll总⽤量44drwxr-xr-x. 2100010004096 3⽉172021 bindrwxr-xr-x. 2100010004096 12⽉2818:09 confdrwxr-xr-x. 2 root root 4096 12⽉2818:09 datadrwxr-xr-x. 5100010004096 3⽉172021 docsdrwxr-xr-x. 2 root root 4096 12⽉2818:04 lib-rw-r--r--. 11000100011358 3⽉172021 LICENSE.txt-rw-r--r--. 110001000432 3⽉172021 NOTICE.txt-rw-r--r--. 1100010002214 3⽉172021 README.md-rw-r--r--. 1100010003570 3⽉172021 README_packaging.md[root@localhost apache-zookeeper-3.7.0-bin]#三、启动zookeeper3.1 进⼊zookeeper下的bin⽬录cd /usr/local/zookeeper/apache-zookeeper-3.7.0-bin/bin3.2 执⾏启动命令./zkServer.sh start启动成功后如下:除了开启,再备注⼏个其他命令:// 停⽌./zkServer.sh stop// 重启./zkServer.sh restart// 查看状态./zkServer.sh status虽然这样可以正常启动,但是每次都要进⼊到zookeeper的bin⽬录下,为了避免⿇烦,可以将zookeeper设置开机启动四、设置zookeeper开机⾃动启动centos74.1 切换到/lib/systemd/system/⽬录,创建⾃启动⽂件cd /lib/systemd/system/vim zookeeper.service⽂件内容如下:[Unit]Description=zookeeperserviceAfter=network.target[Service]WorkingDirectory=/usr/local/zookeeper/apache-zookeeper-3.7.0-bin #zookeeper路径ExecStart=/usr/local/zookeeper/apache-zookeeper-3.7.0-bin/bin/zkServer.sh start #zookeeper执⾏⽂件User=rootGroup=rootRestart=alwaysRestartSec=10[Install]WantedBy=multi-user.target注意:zookeeper的路径需要修改成⾃⼰的!重新加载配置信息:systemctl daemon-reload4.2 设置⾃启动systemctl enable zookeeper.service4.3 启动服务systemctl start zookeeper.service4.4 查看启动状态systemctl status zookeeper.service4.5 ⾃启动相关命令重新加载配置信息:systemctl daemon-reload启动zookeeper:systemctl start zookeeper.service关掉zookeeper:systemctl stop zookeeper.service查看进程状态及⽇志:systemctl status zookeeper.service开机⾃启动:systemctl enable zookeeper.service关闭⾃启动:systemctl disable zookeeper.servicecentos6第⼀种:修改vim /etc/rc.local⽂件vim /etc/rc.local加⼊:export JAVA_HOME=/usr/local/jdk/jdk1.8.0_281 -- jdk安装路径/usr/local/zookeeper/apache-zookeeper-3.7.0-bin/bin/zkServer.sh start -- zookeeper安装路径重启后⽣效。
linux内核启用参数Linux内核启用参数是指在Linux系统启动时,可以通过设置参数来改变内核的行为和配置。
这些参数可以通过修改启动脚本或者在引导时通过命令行参数传递给内核。
我们来介绍一些常用的Linux内核启用参数。
1. root:指定根文件系统所在的设备或分区。
在启动时,内核会将根文件系统挂载到这个设备上,成为系统的根目录。
可以使用设备名称(如/dev/sda1)或者UUID(Universally Unique Identifier)来指定。
2. init:指定系统初始化进程的路径。
这个进程是系统启动后的第一个用户空间进程,负责初始化系统环境、启动其他进程等。
一般情况下,它的路径是/bin/init。
3. quiet:禁用内核启动时的冗长输出信息。
默认情况下,内核会将启动过程中的详细信息输出到控制台上,使用quiet参数可以减少这些输出,使启动过程更加简洁。
4. vga:指定启动时的图形模式。
可以通过设置不同的参数值来改变显示分辨率和颜色深度。
例如,vga=791表示使用1024x768分辨率,颜色深度为16位。
5. acpi:启用或禁用ACPI(Advanced Configuration and PowerInterface)功能。
ACPI是一种能够管理电源、温度、风扇等硬件的标准,通过设置acpi参数,可以控制是否启用ACPI功能。
6. noapic:禁用APIC(Advanced Programmable Interrupt Controller)功能。
APIC是用于处理系统中断的硬件设备,通过设置noapic参数,可以禁用APIC功能,解决一些不兼容的硬件问题。
7. nomodeset:禁用内核对图形模式的自动设置。
有些显卡驱动在启动时可能会导致系统冻结或无法启动,通过设置nomodeset参数,可以强制内核使用基本的VGA模式运行。
8. mem:指定系统可用的物理内存大小。
AIX/etc/inittab init守护进程运行,init会打开/etc/inittab,并且执行里面的内容。
(文件部分内容)/etc/rc.d 是inittab里的一组脚本指向开机自动运行方法:1)直接修改inittab文件,使系统在开机重启时运行我们的命令。
2)通过rc.local启动rc.local是inittab里的一个脚本指向,果inittab文件里没有关于rc.local的信息,可以通过此命令创建脚本mkitab -i rcnfs "rc.local:2:once:/etc/rc.local > /dev/console 2>&1"touch /etc/rc.local #新建rc.local文件chmod 700 /etc/rc.local #设置执行权限执行脚本放到/etc/rc.local里之后,AIX系统在重新启动时,就会运行/etc/rc.local里的脚本了。
3)通过/etc/rc.d脚本启动(需要编写start\stop脚本)Linux/etc/inittab 这个文件设定了init进程怎样把系统引导成某种运行级别(不含服务启动脚本内容)(文件部分内容)Xinetd extended internet daemon 新一代网络守护进程服务,又叫超级internet服务器增强了一些网络访问控制功能。
/etc/init.d –> /etc/rc.d/init.d (软连接) 目录下为系统各服务启动脚本包括xinetd/etc/rc.d/rcn.d (n就是运行级0-6) /etc/rc.d/init.d下脚本用ln 命令连接到/etc/rc.d/rcn.d 目录redhat的启动方式和执行次序:1)加载内核2)执行init程序3)/etc/rc.d/rc.sysinit # 由init执行的第一个脚本4)/etc/rc.d/rc $RUNLEVEL # $RUNLEVEL为缺省的运行模式5)/etc/rc.d/rc.local #相应级别服务启动之后、在执行该文件6)/sbin/mingetty # 等待用户登录开机自动运行方法:1)在上面第4步中创建服务,在/etc/rc.d/init.d目录创建服务启动脚本。
Linux默认启动后进入XWindow,但可以修改参数直接进入命令行界面。
到底是进入XWindow还是进入命令行界面,是在系统初始化进行的。
对于大部分linux系统,初始化使用init进程,/etc/inittab 为其配置文件。
例如# The default runlevelid:2:initdefault# Boot-time system configuration/initialization scriptsi::sysinit:/etc/init.d/rcS# Runlevelsl0:0:wait:/etc/init.d/rc 0l1:1:wait:/etc/init.d/rc 1l2:2:wait:/etc/init.d/rc 2l3:3:wait:/etc/init.d/rc 3l4:4:wait:/etc/init.d/rc 4l5:5:wait:/etc/init.d/rc 5l6:6:wait:/etc/init.d/rc 6z6:6:respawn:/sbin/sulogin# How to react to ctrl-alt-delca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now这些内容的通用格式为id:runlevels:action:process。
id 是惟一标识该项的字符序列。
runlevels 定义了操作所使用的运行级别。
action 指定了要执行的特定操作。
process 定义了要执行的进程。
# 对各个运行级的详细解释:0 为停机,机器关闭。
1 为单用户模式,就像Win9x下的安全模式类似。
2 为多用户模式,但是没有NFS支持。
3 为完整的多用户模式,是标准的运行级。
4 一般不用,在一些特殊情况下可以用它来做一些事情。
例如在笔记本电脑的电池用尽时,可以切换到这个模式来做一些设置。
5 就是X11,进到X Window系统了。
Linux设置程序开机⾃启动注意:作者测试时,Linux版本为RedHat6,同时应⽤在CentOS6应该也可以(作者未实测,但有同事在CentOS6上使⽤可⾏),系统版本的不同,可能造成操作上的差异(CentOS7就与CentOS6有较⼤的不同),但具体的思路可借鉴。
以下操作均在root权限下Linux下配置某个服务的开机⾃启动,分为两种情况:⼀种是已经挂载的,另⼀种是未挂载的。
已经挂载的程序可以使⽤ chkconfig命令查到运⾏等级,如httpd服务执⾏命令:#chkconfig --list |grep httpd打印信息:httpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off未挂载的程序,不会打印任何信息,如Tomcat执⾏chkconfig --list |grep tomcat,没有打印任何信息⼀,已挂载程序开机⾃启动以httpd服务举例。
在root⽤户下打开⼀个终端。
执⾏命令:chkconfig --list |grep httpd可以看到0~6都是off。
执⾏命令:# chkcongfig httpd on执⾏命令:chkconfig --list |grep httpd执⾏完chkcongfig httpd on后,2~5对应的值变成了on.此时我们通过service httpd status 查看http服务状态,是stopped状态,没有开机⾃启动,此时我们重启Linux电脑,再来查看httpd服务是否开机启动重启Linux,查看httpd服务状态:service httpd status,可以看到httpd服务已经启动知识扩展:执⾏chkcongfig httpd on 可以加--level参数,指定将0~6哪些级别开启,命令格式如下:# chkcongfig --level 345 httpd on345就是需要开启(由off变成on)的数字,⽽不加—level参数时,默认打开的是2~50~6对应的运⾏级别如下:Linux系统有7个运⾏级别(runlevel)运⾏级别0:系统停机状态,系统默认运⾏级别不能设为0,否则不能正常启动运⾏级别1:单⽤户⼯作状态,root权限,⽤于系统维护,禁⽌远程登陆运⾏级别2:多⽤户状态(没有NFS)运⾏级别3:完全的多⽤户状态(有NFS),登陆后进⼊控制台命令⾏模式运⾏级别4:系统未使⽤,保留运⾏级别5:X11控制台,登陆后进⼊图形GUI模式运⾏级别6:系统正常关闭并重启,默认运⾏级别不能设为6,否则不能正常启动⼆、未挂载程序开机⾃启动未挂载的程序开机⾃启动实现⽅式是编写程序启动的.sh脚本,再将此脚本挂载到Linux系统上,让它开机执⾏,启动程序。
在Windows 下,我们有很多方法可以设置开机启动,但在Linux 系统下我们需要如何操作呢?Linux 下同样可以设置开机启动,但可能需要我们敲一些命令(可能也有 UI 界面的设置方法,但我不熟,我更多是玩命令)。
下面我们就介绍三种简单但可行的开机启动设置方法。
方法一:修改/etc/rc.d/rc.local 文件/etc/rc.d/rc.local文件会在 Linux 系统各项服务都启动完毕之后再被运行。
所以你想要自己的脚本在开机后被运行的话,可以将自己脚本路径加到该文件里。
但是,首先需要确认你有运行这个文件的权限。
$ chmod +x /etc/rc.d/rc.local为了演示,我们创建了一个脚本,当它被执行之后,将在家目录下写入有特定信息的文件。
$ vim auto_run_script.sh#!/bin/bashdate >> /home/alvin/output.txthostname >> /home/alvin/output.txt保存退出后,再给它赋予可执行权限:$ chmod +x auto_run_script.sh然后,我们再将脚本添加到/etc/rc.d/rc.local文件最后一行:$ vim /etc/rc.d/rc.local/home/alvin/auto_run_script.sh接下来,我们就可以试试效果了。
直接重启系统就可以了:$ sudo reboot重启之后,就会在家目录下看到脚本执行的结果了。
方法二:使用crontab大家知道,crontab 是 Linux 下的计划任务,当时间达到我们设定的时间时,可以自动触发某些脚本的运行。
我们可以自己设置计划任务时间,然后编写对应的脚本。
但是,有个特殊的任务,叫作@reboot,我们其实也可以直接从它的字面意义看出来,这个任务就是在系统重启之后自动运行某个脚本。
那它将运行的是什么脚本呢?我们如何去设置这个脚本呢?我们可以通过crontab -e来设置。
Linux中设置tomcat服务开机启动1、添加用户执行命令:(顺序执行就可以)#添加用户useradd tomcat#添加组groupadd tomcat#把tomcat加入tomcat组usermod -G tomcat tomcat#设置用户tomcat对tomcat目录的权限:目录换成自己的tomcat目录chown -R tomcat /opt/apache-tomcat-5.5.332、建立tomcat启动文件进入目录 /etc/init.d在该目录下建立一个文件,直接使用vi命令就会建立,名字叫作“tomcatd”,名字可以随便命名。
vi tomcatd里面的内容如下,根据自己的情况修改下对应的tomcat目录和JDK的目录:内容开始:#chkconfig: 345 99 10#description: Auto-starts tomcat# /etc/init.d/tomcatd# Tomcat auto-start# Source function library.. /etc/init.d/functions# source networking configuration.. /etc/sysconfig/networkRETVAL=0# CATALINA_HOME="/opt/apache-tomcat-5.5.33"export JAVA_HOME=/opt/jdk1.6.0_22export CATALINA_HOME=/opt/apache-tomcat-5.5.33export CATALINA_BASE=/opt/apache-tomcat-5.5.33TOMCATUSER=tomcatstart(){if [ -f $CATALINA_HOME/bin/startup.sh ];thenecho $"Starting Tomcat"/bin/su $TOMCATUSER -c $CATALINA_HOME/bin/startup.shRETVAL=$?echo " OK"return $RETVALfi}stop(){if [ -f $CATALINA_HOME/bin/shutdown.sh ];thenecho $"Stopping Tomcat"/bin/su $TOMCATUSER -c $CATALINA_HOME/bin/shutdown.shRETVAL=$?sleep 1ps -fwwu tomcat | grep apache-tomcat|grep -v grep | grep -v PID | awk '{print $2}'|xargs kill -9echo " OK"# [ $RETVAL -eq 0 ] && rm -f /var/lock/...return $RETVALfi}case "$1" instart)start;;stop)stop;;restart)echo $"Restaring Tomcat"$0 stopsleep 1$0 start;;*)echo $"Usage: $0 {start|stop|restart}"exit 1;;esacexit $RETVAL内容结束注:tomcatd中的内容需要根据自己情况修改的是下面部分,其中“tomcat”是一个用户名# CATALINA_HOME="/opt/apache-tomcat-5.5.33"export JAVA_HOME=/opt/jdk1.6.0_22export CATALINA_HOME=/opt/apache-tomcat-5.5.33export CATALINA_BASE=/opt/apache-tomcat-5.5.33TOMCATUSER=tomcattomcatd文件保存完之后就可以测试下是否能够启动tomcat服务,能够启动说明tomcatd这个文件脚本是正确的。
linux程序开机自启动的方法详解~程序自动启动~Myself.1.开机启动时自动运行程序Linux加载后, 它将初始化硬件和设备驱动, 然后运行第一个进程init。
init根据配置文件继续引导过程,启动其它进程。
通常情况下,修改放置在 /etc/rc或/etc/rc.d 或 /etc/rc?.d 目录下的脚本文件,可以使init自动启动其它程序。
例如:编辑/etc/rc.d/rc.local 文件,在文件最末加上一行"xinit"或"startx",可以在开机启动后直接进入X-Window。
2.登录时自动运行程序用户登录时,bash首先自动执行系统管理员建立的全局登录script :/etc/profile。
然后bash在用户起始目录下按顺序查找三个特殊文件中的一个:/.bash_profile、/.bash_login、/.profile,但只执行最先找到的一个。
因此,只需根据实际需要在上述文件中加入命令就可以实现用户登录时自动运行某些程序(类似于DOS下的Autoexec.bat)。
3.退出登录时自动运行程序退出登录时,bash自动执行个人的退出登录脚本/.bash_logout。
例如,在/.bash_logout中加入命令"tar -cvzf c.source.tgz *.c",则在每次退出登录时自动执行 "tar" 命令备份*.c 文件。
4.定期自动运行程序Linux有一个称为crond的守护程序,主要功能是周期性地检查/var/spool/cron目录下的一组命令文件的内容,并在设定的时间执行这些文件中的命令。
用户可以通过crontab 命令来建立、修改、删除这些命令文件。
例如,建立文件crondFile,内容为"00 9 23 Jan *HappyBirthday",运行"crontab cronFile"命令后,每当元月23日上午9:00系统自动执行"HappyBirthday"的程序("*"表示不管当天是星期几)。