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

极客先锋 极客先锋     2022-09-21     287

关键词:

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

参考了一下文档:

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 baidu.com -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 来启动自定义的脚本。

 

=============================== 脚本实现方法=================================

service.sh

 1 #!/bin/bash
 2 
 3 sudo rm -r pi/
 4 sudo apt-get install git
 5 git clone https://gitee.com/jikexianfeng/pi.git
 6 cd ~/pi/service
 7 sudo mv ./rc.local /etc/rc.local
 8 sudo mv ./network_test.sh /etc/init.d/network_test.sh
 9 mv bind ~
10 cd
11 sudo rm -r pi/
12 rm service.sh
13 sudo reboot

 

liunx编写服务启动脚本并设置开机自启(代码片段)

业务需求需要用到的环境有Redis+Rabbitmq+Tomcat+Jar服务#!/bin/sh#chkconfig:234568090#description:服务自启green()echo-e"\\033[32m\\033[01m$1\\033[0m"blue()echo-e"\\033[34m\\033[01m$1\\033[0m"re 查看详情

树莓派设置开机启动脚本

参考技术A由于北邮校内网需要Drcom拨号,每次用curl命令很麻烦,所以开始了这次写开机启动脚本的过程。init进程读取/etc/inittab文件中的信息,并进入预设的运行级别。Debian中的运行级别查看系统当前运行级别使用runlevel命令,... 查看详情

关于树莓派自启动脚本的编写(代码片段)

1自启动的原理是将想要重启时运行的文件放置在主目录下,在程序开机时就开始运行程序。(python/home/pi/<文件>)1.1开机自启需要一个开机自启配置文件:示例:#!/bin/bash#/etc/init.d/<servicename>###BEGININITINFO#Provides:servoblaster#Req... 查看详情

树莓派开机启动运行脚本(代码片段)

在/home/pi/.config下找到名为autostart的文件夹,如果没有就新创建一个。在该文件夹下创建一个xxx.desktop文件,文件名自拟,后缀必须是desktop,文件内容如下:[DesktopEntry]Name=testComment=PythonProgramExec=python/home/pi/test.pyIcon=/home/pi/python_gam... 查看详情

liunx编写服务启动脚本并设置开机自启(代码片段)

业务需求需要用到的环境有Redis+Rabbitmq+Tomcat+Jar服务#!/bin/sh#chkconfig:234568090#description:服务自启green()echo-e"\\033[32m\\033[01m$1\\033[0m"blue()echo-e"\\033[34m\\033[01m$1\\033[0m"red()echo-e"\\033[31m\\033[01m$1\\033[0m"#Redis路径【... 查看详情

树莓派进阶之路(018)-树莓派通过filezilla,samba与pc文件共享(转)

...bsp;虽然我们可以很方便的通过ssh譬如putty或者vnc连接操控树莓派,但是毕竟树莓派资源没那么高,在上面编程,调试要吃力的多。所以还是想在pc上编程上传到树莓派或者最好,文件共享,可以直接读写共同的文件那就perfect!一... 查看详情

树莓派开机启动

在/home/pi/.config下创建一个文件夹,名称为autostart,并在该文件夹下创建一个xxx.desktop文件(文件名以.desktop结尾,前面可以自定义),文件内容如下:[DesktopEntry]Name=exampleComment=MyPythonProgramExec=python/home/pi/example.pyIcon=/home/pi/example.pn... 查看详情

树莓派:最好的安排

利用cron来开机启动  利用/etc/init.d开机启动在树莓派下的/etc/init.d文件夹下有很多脚本,比如我们已经了解了的cron。这个cron脚本把cron这个守护进程包装成了一个服务,定义了它在启动、重启和终止时的具体行为。这样,... 查看详情

树莓派进阶之路(036)-树莓派的音频部分

 树莓派MP3输出口功能正常检查1.安装播放器sudoapt-getinstallmoc然后在终端输入:mocp,插入耳机,选择音乐如果有声音的说明输出正常。如果不正常的话,解决方法有两种:  方法一:在终端输入alsamixer,按上下键就可以调节... 查看详情

树莓派进阶之路(023)-windows下用串行连接控制树莓派(转)

...备,甚至连电源和microUSB数据线都没有的情况下。如何对树莓派进行操作,甚至安装配置树莓派呢?如果你有一根USB转TTL串行的数据线,和一台电脑,那这一切都不是问题。 查看详情

树莓派在树莓派上制作开机自启动程序及服务2

有朋友说根据这个文章实践时候有问题,可能之前中间有过个更新,但是忘了更新博文,在这里我把目前最新的贴一下。/etc/init.d/sendtooss:sendtooss服务:#!/bin/sh###BEGININITINFO#Provides:sendtooss#Default-Start:2345#Default-Stop:016#Required-Start:$lo... 查看详情

树莓派进阶之路(024)-windows远程桌面连接树莓派通过xrdp服务(转)

.../edgexie/p/6527992.html在网上看到很多关于windows远程桌面连接树莓派的教程。我也按照教程试过了,遇到了几个坑。特意记录在这。  先说正确的步骤。  1. 必须先安装tightvncserver!!!sudoapt-getinstalltightvncserver  2.再安装x... 查看详情

树莓派进阶之路(030)-picustom.h(原创)

写代码的时候敢接每次查wiringPi库函数挺麻烦的,自己wiringPi库封装了一下:1#ifndef__PICUSTOM_H__2#define__PICUSTOM_H__3/**********************************头文件部分************************************/4#include<stdlib.h>5#include 查看详情

自定义开机启动脚本(代码片段)

如果你有一些自定义的脚本或服务需要开机启动,那么就可以写入到/etc/rc.local文件中,然后chmod+x/etc/rc.local赋予运行权限。/etc/rc.local文件的内容:但是这个文件在Centos7中已经不推荐被使用了,它的存在只是为了兼容Centos5和Centos... 查看详情

树莓派进阶之路(017)-基于树莓派的专用摄像头实时监控

环境:硬件:树莓派三代B型,5MPCameraBoardModule软件:Raspbian安装树莓派摄像头模块1、找到CSI接口(CSI接口在以太网接口旁边),掀起深色胶带。2、拉起CSI接口挡板。3、拿起你的摄像头模块,将贴在镜头上的塑料保护膜撕掉。确保黄... 查看详情

树莓派进阶之路(038)-p2p文件下载机(代码片段)

硬件要求:  树莓派开发板  USB外接硬盘一. Together1. 更新安装程序sudosudoapt-apt-getupdategetupdatsudoapt-getupgradesudoapt-getinstallpython-software-properties//树莓派不用添加reposudoadd-apt-repositoryppa:deluge-team/ppa//树莓派不用添加 查看详情

centos开机启动自定义脚本

有些时候我们需要在服务器里设置一个脚本,让他一开机就自己启动。方法如下:cd /etc/init.d vi youshell.sh #将youshell.sh修改为你自己的脚本名编写自己的脚本后保存退出。 在编写脚本的时候,请先加入以***释#add ... 查看详情

如何将自己自定义的脚本文件设置为开机自启动

如何将自己自定义的脚本文件设置为开机自启动举个例子,一般来说,电脑端只能运行一个微信,如果我们需要同时登陆多个微信账号,我们需要自己写一段小脚本用来执行微信双开或者多开,如果我们想让... 查看详情