首页 > 系统相关 >linux下设置开机自动运行脚本的5种方法

linux下设置开机自动运行脚本的5种方法

时间:2023-01-13 11:33:09浏览次数:56  
标签:脚本 profile systemd 文件 linux etc rc 开机 bash

话不多说,本文介绍几种方法,希望能够对你的胃口。

文章目录
 一、编辑/etc/rc.d/rc.local文件
 二、crontab计划任务
 三、使用systemd,自己写个服务就ok了
 四、在/etc/profile.d/下写.sh文件
 五、使用chkconfig管理,编辑/etc/init.d/下文件


一、编辑/etc/rc.d/rc.local文件
在linux各项服务启动完毕之后,会运行/etc/rc.d/rc.local这个文件,所以把我们需要运行的脚本放在这里面就行了。
(ps:/etc/rc.local和/etc/rc.d/rc.local是同一个文件,软链接而已)

# cat /mnt/Autorun_script.sh
date > /tmp/bootup.txt
hostname >> /tmp/bootup.txt
echo `whoami` >> /tmp/bootup.txt

将/mnt/Autorun_script.sh这个脚本放到/etc/rc.d/rc.local这个文件最后一行


最后为了保险起见,别忘了加一个权限

chmod  +x /mnt/Autorun_script.sh
chmod +x /etc/rc.d/rc.local

重启效果见下


二、crontab计划任务
可以自己设置时间,下面介绍另一个特殊的任务,叫@reboot,重启之后自动运行脚本。

效果见下


三、使用systemd,自己写个服务就ok了
上面介绍的两种方法,在任何的linux系统上都可以运行。第三种是适用systemd系统的,那么如何判定你的系统是不是systemd系统,运行ps命令

PID为1的进程是systemd就是,反之。
所以接下来,我们开始写systemd启动服务,并放在/etc/systemd/system/下。

写完之后我们更新一下systemd的配置文件,大功告成。

systemctl daemon-reload
systemctl enable Autorun_script.service
四、在/etc/profile.d/下写.sh文件
在/etc/profile.d/下写.sh文件,reboot即可
/etc/profile会遍历/etc/profile.d/*.sh


另外,几个脚本的区别:
(1) /etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置。

(2) /etc/bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取(即每次新开一个终端,都会执行bashrc)。

(3) ~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次。默认情况下,设置一些环境变量,执行用户的.bashrc文件。

(4) ~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取。你可以在这里设置你的个性化终端了,就像下面这样


(5) ~/.bash_logout: 当每次退出系统(退出bash shell)时,执行该文件. 另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承 /etc/profile中的变量,他们是”父子”关系。

(6) ~/.bash_profile: 是交互式、login 方式进入 bash 运行的。~/.bashrc 是交互式 non-login 方式进入 bash 运行的通常二者设置大致相同,所以通常前者会调用后者。

五、使用chkconfig管理,编辑/etc/init.d/下文件

ref:linux下设置开机自动运行脚本的5种方法_51CTO博客_linux开机自动运行脚本

标签:脚本,profile,systemd,文件,linux,etc,rc,开机,bash
From: https://www.cnblogs.com/lidabo/p/17049103.html

相关文章

  • Linux配置网络
    安装Linux完成后,首先要配置网络,确保ping通网关,8.8.8.8以及外网(www.baidu.com)首先要在Windows控制台输入ipconfig查询Vmnet8和本地网络IP地址以及默认网关然后 然后在......
  • 如何成为一名Linux发烧友
    相信如今的人们已经越来越认识到计算机操作的重要性了。在这个互联网飞速发展的时代,离开了计算机操作,我们就等于被折断了一只翅膀。无论是在学习或是工作中,我们都有很多机会......
  • 《DFZU2EG_4EV MPSoC之嵌入式Linux开发指南》第十一章 U-Boot使用实验
    U-Boot使用实验​在移植linux内核之前,我们肯定要先了解U-Boot。因为U-boot是我们的开发板加载引导启动linux内核的必要工具。本章我们讲解U-Boot是什么、有何作用,有哪些命令......
  • 《DFZU2EG_4EV MPSoC之嵌入式Linux开发指南》第十二章 U-Boot移植​
    U-Boot移植​上一章节我们讲解了uboot的使用,对uboot有了一个初步的了解。前两章我们都是使用的正点原子提供的uboot,本章我们就来学习如何将Xilinx官方的uboot移植到正点原子......
  • Linux数据实时同步(sersync+rsync)
    一、Slave服务器配置1.在Slave服务器上安装Rsync[root@slave~]#rpm-ivhrsync-3.1.2-11.el7_9.x86_64.rpm###rpm自行下载2.在Slave服务器上配置rsync[root@slave......
  • Linux修改/etc/security/limits.conf不生效办法的一个临时解决办法
    故障是Linux出现"Toomanyopenfiles"错误。通过修改/etc/security/limits.conf,提高上限。但是使用ulimit-a显示修改并未生效。可以通过切换到其他用户,如切换到tomcat......
  • Linux 全面技术分析
    Linux全面技术分析Linux是基于Linux内核的开源类UNIX操作系统。创始人LinusTorvalds意识到,90年代初商业化的UNIX操作系统对于普通用户来说太贵了。这使他足够......
  • cocos creator脚本与组件的关系
    在组件中引入脚本,会发生了什么?组件中引入的是脚本的uuid,那么uuid怎么与代码对应起来每个脚本的meta文件都有个uuid,在打包时uuid会被写入代码包里面,解析代码包时,会把......
  • Linux学习笔记:curl命令
    一、介绍cURL,全称CommandLineURLviewer,是一个利用URL规则在命令行下工作的文件传输工具。其主要作用是通过http、ftp等方式下载文件,也能够上传文件,作为一个功能......
  • Linux学习笔记:shell sleep睡眠
    一、介绍在Linux的bash中,利用sleep和usleep命令可以控制睡眠时长,进行延时操作。sleep:默认以秒为单位usleep:默认以微秒为单位(1s=1000ms=1000000us)具体例......