树莓派进阶之路 (033) - 开机启动自定义脚本

因为需求需要,树莓派开机需要自动运行一些代码和脚本,并且需要对网络是否正常进行监测,所以需要做带网络监测的自启动服务。

参考了一下文档:

Linux开机启动程序详解

Linux中设置服务自启动的三种方式linux服务的开机启动和运行级别linux系统的7种运行级别ubuntu下设置开机启动服务,

Ubuntu15.x /CentOS 7.x 以后 设置开机启动,添加自定义系统服务,自定义开机启动

Ubuntu14.04设置开机启动脚本如何添加自定义脚本到开机自启动linux添加开机自启动脚本示例详解linux添加开机自启动脚本示例详解 ,几种设置树莓派开机自启的方法

nohup-真正的Shell后台运行让linux服务器上的程序在后台运行

经过上面的文档:

进入配置开机启动文件:

cd /etc
sudo vim rc.local

rc.local

 1 #!/bin/sh -e
 2 #
 3 # rc.local
 4 #
 5 # This script is executed at the end of each multiuser runlevel.
 6 # Make sure that the script will "exit 0" on success or any other
 7 # value on error.
 8 #
 9 # In order to enable or disable this script just change the execution
10 # bits.
11 #
12 # By default this script does nothing.
13
14 # Print the IP address
15 _IP=$(hostname -I) || true
16 if [ "$_IP" ]; then
17   printf "My IP address is %s\n" "$_IP"
18 fi
19
20 nohup  /etc/init.d/network_test.sh &    #后台启动自定义脚本
21
22 exit 0  

建立自定义的网络测试脚本:

vim network_test.sh

把一下文件cp到文件中:

 1 #!/bin/bash
 2 #
 3 #检测网络链接&&ftp上传数据
 4
 5
 6 declare -i n=0            #在定义变量n前面加上declare -i 表示该变量为数值
 7 while [ $n -ne 1 ]        #判断
 8 do
 9         ret_code=`curl -I -s --connect-timeout 5 dounine.net -w %{http_code} | tail -n1`    #网络值
10          if [ "$ret_code" = "200" ]; then
11                 nohup /home/pi/bind &           #网络连接成功启动脚本程序脚本
12                 n=1;
13         else
14                 n=0; #失败等待
15         fi
16 done

把文件cp到rc.local脚本自定的目录:

sudo mv network_test.sh /etc/init.d

我们在/home/pi目录中建立自己的启动脚本 bind 来启动自定义的脚本。

时间: 2024-11-03 03:43:29

树莓派进阶之路 (033) - 开机启动自定义脚本的相关文章

centos开机启动自定义脚本

有些时候我们需要在服务器里设置一个脚本,让他一开机就自己启动.方法如下: cd /etc/init.d vi youshell.sh #将youshell.sh修改为你自己的脚本名 编写自己的脚本后保存退出. 在编写脚本的时候,请先加入以***释 #add for chkconfig  #chkconfig: #description:  #关于脚本的简短描述  #processname:  #第一个进程名,后边设置自启动的时候会用到 说明: 2345是指脚本的运行级别,即在2345这4种模式下

Linux中tomcat开机启动配置脚本【参考其他文章的总结备忘录】

参考文章http://blog.sina.com.cn/s/blog_a57562c80101ic47.html http://blog.csdn.net/cheng168520/article/details/4312828 http://blog.sina.com.cn/s/blog_7f395ece0100ti5y.html 以前在自己本机上安装过一个Linux,后台应为系统崩溃,以前配置的开机启动脚本.数据库主从双备份.负载均衡等都没了,所以现在在重新配置一次,赶紧做个笔记防止自己以后又

CentOS7添加需要开机启动的脚本

1.修改开机脚本添加文件的权限 [[email protected] ~]# cat /etc/rc.d/rc.local  #!/bin/bash # THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES # # It is highly advisable to create own systemd services or udev rules # to run scripts during boot instead of using this file

Centos7 设置Mongodb开机启动-自定义服务

一.官网下载 mongodb,解压到指定目录 本机mongodb目录为:/usr/context/mongodb/mongodb-3.2.10/ 二 .编写配置文件,主要指定数据库文件,日志文件,以及一些启动参数. (1).在mongodb下新建data文件夹,以及子文件夹db,logs, 在logs中新建mongodb.log日志文件,其中db文件夹用来存储数据库文件,logs用来存储日志文件 (2).在mongodb-3.2.10/bin/目录下新建mongodb.conf配置文件,内容如下

7.centos7开机启动执行脚本《Mr.Robot》

前言:这个需要记住哦<Mr.Robot> ---------------------------------------------------- centos7开机启动不执行/etc/rc.local目录中的脚本 最近发现centos7 的/etc/rc.local不会开机执行,于是认真看了下/etc/rc.local文件内容的就发现了问题的原因了 #!/bin/bash# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES## It is highl

PowerShell添加或修改注册表开机启动项脚本

代码如下: $name = Read-Host "请输入开机启动项的名字(随便起)" $value = Read-Host "请输入开机启动项的值" try{ New-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Run" -Name $name -PropertyType String -Value $value -ErrorAction Stop $ti

Ubuntu 16.04设置rc.local开机启动命令/脚本的方法(通过update-rc.d管理Ubuntu开机启动程序/服务)

注意:rc.local脚本里面启动的用户默认为root权限. 一.rc.local脚本 rc.local脚本是一个Ubuntu开机后会自动执行的脚本,我们可以在该脚本内添加命令行指令.该脚本位于/etc/路径下,需要root权限才能修改. 该脚本具体格式如下: #!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the scrip

centos7之添加开机启动服务/脚本

一.添加开机启动脚本 #!/bin/bash # THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES # # It is highly advisable to create own systemd services or udev rules # to run scripts during boot instead of using this file. # # In contrast to previous versions due to parall

【centos7】添加开机启动服务/脚本

在百度上可以找到好几种Linux开机启动各种服务的方法,在这里我写的是自己喜欢的方式. 博主是一个不怎么记事的人,有些配置在系统的目录下,配置了一次后就忘了,再也不想去系统的目录下找各种奇奇怪怪的目录和名字.就比如说这个开机启动,在配置完了后的某一天,想要在加一个启动的服务,然而那时已经忘了以前是在哪个目录下配置的了,一个大写的懵逼,所以就自己新建一个脚本放在自己能找到的目录,只用在系统的目录下配置一次,以后就在自己新建的脚本里面写启动服务的命令就好了 1. 自己新建一个脚本,如centnet-