今日分享:Linux运行环境下,三种常见的开机自动运行脚本

您所在的位置:网站首页 centos8开机启动sh脚本 今日分享:Linux运行环境下,三种常见的开机自动运行脚本

今日分享:Linux运行环境下,三种常见的开机自动运行脚本

2023-04-09 01:12| 来源: 网络整理| 查看: 265

今天分享一下3种常用的开机启动运行的方法:

1、修改 /etc/rc.d/rc.local 文件方式

/etc/rc.d/rc.local 用于用户自定义开机启动程序,因此可以往里写开机要执行的命令或脚本。

1.1、设置 rc.local 的可执行权限

2.# chmod +x /etc/rc.d/rc.local

3.

4.2、创建待执行的脚本,如下:

5.# cat /home/test.sh

6.#!/bin/bash

7.echo "hello world" >> /home/out.txt

8.date >> /home/out.txt

9.

10.3、设置脚本的可执行权限

11.# chmod +x /home/test.sh

12.

13.4、把脚本放到 /etc/rc.d/rc.local 尾部

14.# cat /etc/rc.d/rc.local

15....

16./home/test.sh

17.

18.5、重启系统使之生效

19.# reboot

20.

21.6、查看日志文件判断脚本是否执行

22.# cat /home/out.txt

23.hello world

24.Thu Dec 30 20:45:00 CST 2021

有关 /etc/rc.d/rc.local 执行时机如下:

2、使用 crontab 方式

crond 是 linux 下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与 windows 下的计划任务类似,当安装完成操作系统后,默认会安装此服务 工具,并且会自动启动 crond 进程,crond 进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。

因此我们可以使用 crondtab 命令创建一个任务,让该任务在重启时进行执行。

1.# crontab -e

2.//进入编辑,输入如下行

3.@reboot /home/test.sh

4.

5.//重启设备

6.# reboot

7.

8.//查看日志

9.# cat /home/out.txt

10.hello world

11.Thu Dec 30 21:09:03 CST 2021

3、使用 systemd 服务

Systemd 服务是一种以 .service 结尾的单元(unit)配置文件,用于控制由 Systemd 控制或监视的进程。简单说,用于后台以守护进程(daemon)的形式运行程序。

systmd service 文件一般放在/etc/systemd/system/文件夹中。

创建一个服务如下

1.//在/etc/systemd/system/下创建一个服务,如下

2.# vim ser.service

3.

4.//[Unit] 区块:启动顺序与依赖关系。

5.[Unit]

6.//Description字段给出当前服务的简单描述

7.Description=Run a Custom Script at Startup

8.After=default.target

9.

10.//Service区块定义如何启动当前服务

11.[Service]

12.//ExecStart字段:定义启动进程时执行的命令

13.ExecStart=/home/test.sh

14.

15.//Install区块,定义如何安装这个配置文件,即怎样做到开机启动

16.[Install]

17.//WantedBy字段:表示该服务所在的 Target,Target的含义是服务组,表示一组服务

18.WantedBy=default.target

19.

20.

21.//更新服务配置文件,并使能服务

22.# systemctl daemon-reload

23.# systemctl enable ser.service

24.

25.//重启系统

26.# reboot

有关 systemd 服务还有很多实用方式,本文知识做到抛砖引玉的作用,有兴趣的话可以自行研究这方面的知识。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3