转载自Web开发笔记 | Ubuntu14.04设置开机启动脚本
什么是rc.local脚本
rc.local脚本是一个ubuntu开机后会自动执行的脚本,我们可以在该脚本内添加命令行指令。该脚本位于/etc/路径下,需要root权限才能修改。该脚本具体格式如下:
|  
       
        1 
        
      
        2 
        
      
        3 
        
      
        4 
        
      
        5 
        
      
        6 
        
      
        7 
        
      
        8 
        
      
        9 
        
      
        10 
        
      
        11 
        
      
        12 
        
      
        13 
        
      
        14 
         |  
      
      #!/bin/sh -e 
       # 
       # rc.local 
       # 
       # This script is executed at the end of each multiuser runlevel. 
       # Make sure that the script will "exit 0" on success or any other 
       # value on error. 
       # 
       # In order to enable or disable this script just change the execution 
       # bits. 
       # 
       # By default this script does nothing. 
       exit 
        0 
        |  
    
注意: 一定要将命令添加在 exit 0之前
如何给ubuntu添加一个开机启动脚本
如果要添加为开机启动执行的脚本文件,
可先将脚本复制或者软连接到/etc/init.d/目录下,
然后用:update-rc.d xxx defaults NN命令(NN为启动顺序),
将脚本添加到初始化执行的队列中去。
注意如果脚本需要用到网络,则NN需设置一个比较大的数字,如99。
1,新建个脚本文件new_service.sh
|  
       
        1 
        
      
        2 
        
      
        3 
        
      
        4 
         |  
      
      #!/bin/bash 
       # command content 
       exit 
        0 
        |  
    
2,设置权限
|  
       
        1 
         |  
      
      sudo 
        chmod 
        755 new_service.sh 
        |  
    
3,把脚本放置到启动目录下
|  
       
        1 
         |  
      
      sudo 
        mv 
        new_service.sh  
        /etc/init 
        .d/ 
        |  
    
4,将脚本添加到启动脚本
执行如下指令,在这里90表明一个优先级,越高表示执行的越晚
|  
       
        1 
        
      
        2 
         |  
      
      cd 
        /etc/init 
        .d/ 
       sudo 
        update-rc.d new_service.sh defaults 90 
        |  
    
注:其中数字95是脚本启动的顺序号,按照自己的需要相应修改即可。在你有多个启动脚本,而它们之间又有先后启动的依赖关系时你就知道这个数字的具体作用了。
移除Ubuntu开机脚本
|  
       
        1 
         |  
      
      sudo 
        update-rc.d -f new_service.sh remove 
        |  
    
