linux -- ubuntu 脚本开机自启动

有一个脚本想在ubuntu 虚拟机开机时,自动运行。

创建脚本文件

在“/opt/lampp/”下新建一个脚本文件:lampp_start.sh

#!/bin/bash
/opt/lampp/lampp start

编辑启动文件

在/etc/init.d/rc.local文件的do_start()函数第一行内添加自启动脚本目录,格式为      路径 &> /dev/null &

注:

  1、确保是root用户

  2、确保脚本文件的访问权限即是否为可执行文件

这样开机你的脚本就可以自动启动了, 并且可以自动进行重启(手动Kill掉程序主进程,而不是主进程报错后退出)

涉及的知识点

1.关于 &> /dev/null

首先说一下:在Linux/Unix中,一般在屏幕上面看到的信息是从stdout (standard output) 或者 stderr (standard error output) 来的。许多人会问,output 就是 output,送到屏幕上不就得了,为什么还要分成stdout 和 stderr 呢?那是因为通常在 server 的工作环境下,几乎所有的程序都是 run 在 background 的,所以呢,为了方便 debug,一般在设计程序时,就把 stdout 存到一个文档,把错误的信息 stderr 存到不同的而文件。
·哪些是正常的output呢,例如程序开始运行的时间,现在正在上线人数等等。
·哪些是错误的output呢,例如无法找到使用者想要去的URL,或者信用卡认证失败等等。
有了上面这些认知后,回头来讲什么是 > /dev/null
  > /dev/null。是把 stdout 送到 /dev/null 里面,/dev/null 是 Unix/Linux 里的【无底洞】任何的 output 送去了【无底洞】就再也没了。相信我,真的没了!
一般呢,要是你不想看到 output 或者output 太多太大了,有可能把硬盘给挤爆了的时候,程序的设计就会考虑把 output 送到 /dev/null 了。当然,我相信你更期待把一些程序的输出重定向到指定的文件里用来当做日志文件。重定向的时候 >符号用来把输出重定向到指定文件中,覆盖原有内容(原有内容消失了);>>符号会把符号左侧的输出插入到右侧内容的末尾是不是很贴心?

2.为什么要选择rc.local文件?

这是使用者自定义开机启动程序,把需要开机自动运行的程序写在这个脚本里,在linux启动的最后阶段,系统会执行存于rc.local中的命令。和windows里面的“启动”菜单有点像,但是设置麻烦些,功能更强大

时间: 2024-09-27 19:27:50

linux -- ubuntu 脚本开机自启动的相关文章

Oracle在linux下的开机自启动(详细)转

linux下系统开机oracle自启动(方法一) ---加载为服务自启动.停止一.dbstart   及   dbstop 1. 修改Oracle系统配置文件:/etc/oratab,只有这样,Oracle 自带的dbstart和dbshut才能够发挥作用. # vi /etc/orataborcl:/opt/oracle/102:Y # Entries are of the form:#   $ORACLE_SID:$ORACLE_HOME:<N|Y>: Oracle   数据库的自动启动及

Ubuntu Nginx 开机自启动

update-rc.d命令,是用来自动的升级System V类型初始化脚本,简单的讲就是,哪些东西是你想要系统在引导初始化的时候运行的,哪些是希望在关机或重启时停止的,可以用它来帮你设置. 首先 我们需要在 /etc/init.d/目录下创建一个nginx的脚本文件,命令 vi nginx 输入以下内容 #! /bin/sh # Author: rui ding # Modified: Geoffrey Grosenbach http://www.linuxidc.com # Modified:

Linux下设置开机自启动Tomcat

方法一: linux 下tomcat开机自启动修改Tomcat/bin/startup.sh 为: export JAVA_HOME=/usr/java/j2sdk1.4.2_08 export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:. export PATH=$PATH:$JAVA_HOME/bin export CATALINA_HOME=/usr/local/tomcat /usr/local

mac设置shell脚本开机自启动

最近需要做分布式架构的网站,目前一直在调试阶段,每次开机的时候都要启动一大堆工具,比如zookeeper.activemq.redis.nginx等等,不厌其烦. 在网上搜了下mac如何设置shell脚本开机自启动,记录一下,方便自己也方便大家. 1.首先写一个sh脚本,比如: 1 cd ~/Documents 2 mkdir haha 代码很简单,进入Documents文件夹,建立haha目录,保存为run.sh 2.修改run.sh权限 sudo chmod 777 run.sh 3.右键点

在linux上添加开机自启动脚本的简单方法

我的电脑是联想B460,现在长期跑debian系统,但是触摸板实在是个令人抓狂的存在,每次开机都要手动FN+F6关闭,这实在太繁琐了,于是上网收到相关的信息: 终端输入如下命令可关闭触摸板: sudo modprobe -r psmouse 终端输入如下命令可打开触摸板: sudo modprobe psmouse 于是想到把这个命令写成一个小脚本,开机时自启动就可以了 由于要sudo,所以要输入密码,如果脚本自动输入密码就好了,于是搜索得到: echo "your passwd"|s

Linux下oracle开机自启动设置

今天在虚拟机安装完oracle数据库重启系统后想进入数据库却发现如下错误: 出现ORA-01034和ORA-27101的原因是多方面的:主要是oracle当前的服务不可用,shared memory realm does not exist,是因为oracle没有启动或没有正常启动.那么如何在Linux启动时自动启动Oracle监听和实例呢? 首先尝试使用oracle启动数据库的命令dbstart,可是发现又报错如下错误: ORACLE_HOME_LISTNER is not SET, unab

安卓设置脚本开机自启动

手机想要开机自启一个脚本,百度之 Android默认的启动脚本有init.rc init.xxx.rc init.xxx.sh 因为init.rc是属于内存文件系统中的文件,每次开机从ram中释放加载进内存,意味着修改替换重启后还是之前的那个,所以无法通过直接修改来init.rc来启动此.sh脚本. 而将x.sh脚本放在/system/etc/init.d下,重启后发现没有自动运行.然后想到将脚本语句写在init.xxx.sh中,因为太长所以在我选择在install-recovery.sh末加入

Linux学习 哪些开机自启动服务是必备的?

和Windows系统一样,Linux服务器运行过程中也会一些没用的软件服务默认运行,这些占用了很多系统资源,也会有安全隐患,所以一般是建议关闭的.那么,工作中Linux主机到底需要有哪些开机自启动服务呢? 新装Linux系统之后,有必要保留的开机自启动服务有5个: ? sshd:远程连接Linux服务器时要用到,所以必须开启,不然就无法提供远程连接服务了. ? rsyslog:日志相关软件,这是操作系统提供的一种机制,系统的守护程序通常会使用rsyslog程序将各种信息写到各个系统日志文件中.

oracle11g在linux系统下开机自启动设置

oracle服务器一般来说最好是手动启动,这样碰到问题的话,可以现场解决,但是也担心有时候机器故障,自动重启后,为了快速恢复应用,需要自动开机启动oracle,而且发现在不同的os下,启动的设置都不太一样 1,centos操作系统下,可以这样设置 直接在rc.local里面添加 [[email protected] ~]# vim /etc/rc.local touch /var/lock/subsys/local su - oracle < lsnrctl start sqlplus / as