Linux使用systemd服务和crontab实现Shell脚本开机自动运行过程

 更新时间:2024年09月12日 14:54:41   作者:小鹿先生~  
在Linux系统中,使用systemd和crontab是实现Shell脚本开机自启动的两种常用方法,首先,需创建一个Shell脚本,将其放置在适当目录,通过编写.service文件并将其移动到/etc/systemd/system/目录下,可以设置为systemd服务

简介

systemd是Linux系统中的一个初始化系统和服务管理器。它可以用于在系统启动时自动运行Shell脚本。

crontab是一个用于定时执行任务的工具。我们可以通过编辑crontab文件来设置开机自启动

前提条件

创建一个Shell脚本文件,例如myscript.sh。该脚本将在系统启动时自动运行。

将脚本文件移动到一个合适的目录,例如/path/to/myscript.sh。

使用systemd服务

创建一个.service文件

[Unit]
Description=My Script Service
After=network.target

[Service]
ExecStart=/path/to/myscript.sh

[Install]
WantedBy=default.target

将.service文件移动到/etc/systemd/system/目录下。

service文件内容详解

[Unit]
Description=My Script Service
After=network.target

Description:描述服务的简短说明
After:指定了服务应该在哪个目标(target)之后启动,在这里是"network.target",则服务需要在网络启动之后才能正常运行

[Service]
ExecStart=/path/to/myscript.sh
ExecStart:指定了服务启动时的执行命令或脚本的路径

[Install]
WantedBy=default.target
WantedBy:指定了服务应该被关联到哪个目标(target)进行启动,默认为"default.target",意味着服务会随系统的默认目标一起启动。
#刷新systemd服务:
sudo systemctl daemon-reload

#使用以下命令来启用服务并使其在系统启动时自动运行:
sudo systemctl enable myscript.service

#使用以下命令手动启动服务:
sudo systemctl start myscript.service

注意:

  • 若你此时手动启动服务,它将会立即运行。
  • 但是,系统重启后,服务会自动启动。

使用crontab

打开终端,并输入以下命令来编辑crontab文件:

crontab -e
#在打开的文件中添加以下内容:

@reboot /path/to/myscript.sh
#/path/to/myscript.sh是你的Shell脚本文件的路径

保存并退出编辑器。

结束语

使用服务和crontab两种方法在Linux系统中实现开机自启动Shell脚本的步骤,当系统启动时,Shell脚本将自动运行。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 在Ubuntu中如何查看网络路由表详解

    在Ubuntu中如何查看网络路由表详解

    这篇文章主要给大家介绍了关于在Ubuntu中如何查看网络路由表的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用ubuntu具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-12-12
  • centos8安装zabbix提示All mirrors were tried的解决方案

    centos8安装zabbix提示All mirrors were tried的解决方案

    这篇文章主要介绍了centos8安装zabbix提示All mirrors were tried的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • Linux服务器操作系统加固方法

    Linux服务器操作系统加固方法

    本帮助手册旨在指导系统管理人员或安全检查人员进行Linux操作系统的安全合规性检查和加固,需要的朋友可以参考下
    2018-02-02
  • Linux文件操作新手指南之关于install命令的用法

    Linux文件操作新手指南之关于install命令的用法

    这篇文章主要介绍了Linux文件操作新手指南之关于install命令的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • Linux之多线程以及多线程并发访问同一块内存的处理问题

    Linux之多线程以及多线程并发访问同一块内存的处理问题

    这篇文章主要介绍了Linux之多线程以及多线程并发访问同一块内存的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • UNEXPECTED INCONSISTENCY: RUN fsck MANUALLY

    UNEXPECTED INCONSISTENCY: RUN fsck MANUALLY

    这篇文章主要介绍了UNEXPECTED INCONSISTENCY: RUN fsck MANUALLY,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • linux下wget命令的基本使用方法

    linux下wget命令的基本使用方法

    大家好,本篇文章主要讲的是linu下wget命令的基本使用方法,感兴趣的同学赶快来看一看,对你有帮助的话记得收藏一下哦,方便下次浏览
    2021-12-12
  • jps查看进程无法显示的问题及解决

    jps查看进程无法显示的问题及解决

    文章描述了使用jps命令查看进程无法显示的问题,并提供了解决方案,解决方法包括切换到tmp目录,使用ll命令查看子目录,找到并修改权限为755的"hsperfdata_[用户名]"和"hsperfdata_root"目录
    2025-01-01
  • LAMP服务器性能优化技巧之加速PHP

    LAMP服务器性能优化技巧之加速PHP

    目前LAMP (Linux + Apache + MySQL + PHP) 近几年来发展迅速,已经成为Web 服务器的事实标准。本文我们将介绍基于LAMP组合的服务器的性能优化技巧:加速PHP。
    2012-02-02
  • Windows下PHP安装路径配置错误导致Apache无法启动的解决方法

    Windows下PHP安装路径配置错误导致Apache无法启动的解决方法

    这篇文章主要介绍了Windows下PHP安装路径配置错误导致Apache无法启动的解决方法,本文可以说是一个引号引发的悲剧,需要的朋友可以参考下
    2014-09-09

最新评论