当前位置: 首页 > 编程日记 > 正文

bat脚本如何自动输入y_Linux系统如何设置开机自动运行脚本?

大家好,我是良许。

在工作中,我们经常有个需求,那就是在系统启动之后,自动启动某个脚本或服务。在 Windows 下,我们有很多方法可以设置开机启动,但在 Linux 系统下我们需要如何操作呢?

Linux 下同样可以设置开机启动,但可能需要我们敲一些命令(可能也有 UI 界面的设置方法,但我不熟,我更多是玩命令)。下面我们就介绍三种简单但可行的开机启动设置方法。

方法一:修改 /etc/rc.d/rc.local 文件

/etc/rc.d/rc.local 文件会在 Linux 系统各项服务都启动完毕之后再被运行。所以你想要自己的脚本在开机后被运行的话,可以将自己脚本路径加到该文件里。

但是,首先需要确认你有运行这个文件的权限。

$ chmod +x /etc/rc.d/rc.local

为了演示,我们创建了一个脚本,当它被执行之后,将在家目录下写入有特定信息的文件。

$ vim auto_run_script.sh#!/bin/bash
date >> /home/alvin/output.txt
hostname >> /home/alvin/output.txt

保存退出后,再给它赋予可执行权限:

$ chmod +x auto_run_script.sh

然后,我们再将脚本添加到 /etc/rc.d/rc.local 文件最后一行:

$ vim /etc/rc.d/rc.local/home/alvin/auto_run_script.sh

接下来,我们就可以试试效果了。直接重启系统就可以了:

$ sudo reboot

重启之后,就会在家目录下看到脚本执行的结果了。

83a3261fd1700235ddf28c5699e58bc2.png

方法二:使用 crontab

大家知道,crontab 是 Linux 下的计划任务,当时间达到我们设定的时间时,可以自动触发某些脚本的运行。

我们可以自己设置计划任务时间,然后编写对应的脚本。但是,有个特殊的任务,叫作 @reboot ,我们其实也可以直接从它的字面意义看出来,这个任务就是在系统重启之后自动运行某个脚本。

那它将运行的是什么脚本呢?我们如何去设置这个脚本呢?我们可以通过 crontab -e 来设置。

$ crontab -e@reboot /home/alvin/auto_run_script.sh

然后,直接重启即可。运行的效果跟上面类似。

方法三:使用 systemd 服务

以上介绍的两种方法,在任何 Linux 系统上都可以使用。但本方法仅适用于 systemd 系统。如何区分是不是 systemd 系统?很简单,只需运行 ps aux 命令,查看 pid 为 1 的进程是不是 systemd 。

undefined_b.jpg

为了实现目的,我们需要创建一个 systemd 启动服务,并把它放置在 /etc/systemd/system/ 目录下。

我们创建的 systemd 启动服务如下。请注意,这时后缀是 .service ,而不是 .sh

$ vim auto_run_script.service[Unit]
Description=Run a Custom Script at Startup
After=default.target[Service]
ExecStart=/home/alvin/auto_run_script.sh[Install]
WantedBy=default.target

从服务的内容可以看出来,我们最终还是会调用 /home/alvin/auto_run_script.sh 这个脚本。

然后,我们再把这个脚本放置在 /etc/systemd/systerm/ 目录下,之后我们再运行下面两条命令来更新 systemd 配置文件,并启动服务。

$ systemctl daemon-reload
$ systemctl enable auto_run_script.service

万事俱备之后,我们就可以重启系统啦。

$ reboot

最后,最近很多小伙伴找我要Linux学习路线图,于是我根据自己的经验,利用业余时间熬夜肝了一个月,整理了一份电子书。无论你是面试还是自我提升,相信都会对你有帮助!目录如下:

b85b0395fe0bd90d510b86a533f72ced.png

免费送给大家,只求大家金指给我点个赞!

电子书 | Linux开发学习路线图

也希望有小伙伴能加入我,把这份电子书做得更完美!

有收获?希望老铁们来个三连击,给更多的人看到这篇文章

推荐阅读:

  • 干货 | 程序员进阶架构师必备资源免费送
  • 神器 | 支持搜索的资源网站

相关文章:

form表单的action提交写到js中来,同时onclick事件也写在js中来。其action也可以通过ajax来提交的。...

假如你现在还在为自己的技术担忧,假如你现在想提升自己的工资,假如你想在职场上获得更多的话语权,假如你想顺利的度过35岁这个魔咒,假如你想体验BAT的工作环境,那么现在请我们一起开启提升技术之旅吧,详情请…

Win32.Lioten.SG病毒

病毒名称:Win32.Lioten.SG 疯狂性:低 破坏性:中 普及度:中 Win32.Lioten.SG病毒描述: Win32.Lioten.SG是一种通过网络共享传播的蠕虫,还会利用Windows漏洞进行传播,并利用IRC控制后门。 Lioten经…

2019秋招AI岗位竞争究竟有多激烈?

机器学习未来十年:你需要把握的趋势和热点一个正经的机器学习项目:关于那些羞羞的不可描述的动作分析【面试现场】如何编程获得最多的年终红包奖?你最关心的马蜂窝事件舆论全景图在这里,用文本挖掘一挖到底影响 5000 万开发者&…

配置Tomcat和在Eclipse中创建Web工程

配置Tomcat服务器信息:在Tomcat的安装目录下有一个conf目录,里面存放着Tomcat服务器的配置文件,其中最为核心的配置文件是server.xml,在这个文件里我们可以配置服务器的各种参数,例如超时时间、连接数量、端口配置等等…

eureka需要替换吗_iOS第三方库Eureka实现定制动画详解(二):万变不离其宗-Row组件...

Eureka的核心就是Row,所以我们得重点聊聊它。Row是什么?其实上面已经说过了,不过这只是干巴巴的概念,下面本猫用一个实际的例子带大家性感,哦,不…是感性的认识一下到底什么是Row 新建一个iOS项目&#xff…

学习这么多算法到底在解决哪些问题?深度学习之外,我们要选择谁?

CSDN 出品的《2018-2019 中国人工智能产业路线图》V2.0 版即将重磅面世! V1.0 版发布以来,我们有幸得到了诸多读者朋友及行业专家的鼎力支持,在此表示由衷感谢。此次 V2.0 版路线图将进行新一轮大升级,力求为读者呈现更全面的中国…

JDK6.0+Eclipse3.2+MyEclipse5.0GA+Tomcat5.0+Win2003搭建J2EE开发平台.

呼.........不容易啊.J2EE平台今天终于搭建起来了.... 1.先安装jdk-6-beta2-windows-i586.exe,安装目录:E:\Program Files\Java\jdk1.6.0 2.然后安装jakarta-tomcat-5.0.30服务器.安装目录:E:\Program Files\Java\Tomcat 5.0 3.在"我的电脑"--"属性"--&quo…

Google全球员工围攻Google!

参加 2018 AI开发者大会,请点击 ↑↑↑屋漏偏逢连夜雨,仍未进得了中国的搜索巨人 Google,在自己的地盘上,日子也不好过。自 2005 年收购以来,硅谷科技巨头 Google 在世界上第一大手机操作系统 Android 收益颇丰&#x…

23 版本以上的v4包_Ant Design Pro V2升级到V4 小结

前言前不久接手过一个历史悠久的项(shi)目(shan),技术栈之复杂(混乱)令我潸然泪下:你甚至可以在一个项目里使用前端三大框架(Angular1, Vue, React)。三份的代码,本应该给我带来更多的快乐,但是为什么会变成这样呢?鉴于接到的是一…

python标准库介绍——23 UserString 模块详解

UserString 模块(2.0 新增) UserString 模块包含两个类, //UserString// 和 //MutableString// . 前者是对标准字符串类型的封装, 后者是一个变种, 允许你修改特定位置的字符(联想下列表就知道了).注意 //MutableString// 并不是效率很好, 许多操作是通过切片和字符串连接实现…

影像融合操作的几种途径

影像融合操作的几种途径 1、在遥感软件中作影像融合 融合必须在全色波段和多光谱波段两者配准好的基础上进行,我建议你用edars融合,这样比较省时。据说PCI最好,机器没有软件没有试验。 在envi中,把全色波段和多光谱波段两个图像…

微信小程序万里目_微信小程序学习用推荐:破音万里:音频播放,音乐列表

[AppleScript]let bsurl https://poche.fm/api/app/playlists var common require(../../../utils/util.js); let seek 0 let defaultdata { winWidth: 0, winHeight: 0, listHeight: 0, // tab切换 currentTab: 0, // 播放列表 playlists: [], tracks: [], coverImgUrl: &…

11月11日截止报名!快来参加顶尖极客汇聚的“AI Challenger 全球AI挑战赛”!

“AI Challenger 全球AI挑战赛”是面向全球人工智能人才的开源数据集和编程竞赛平台,致力于满足AI人才成长对高质量丰富数据集的需求,推动AI在科研与商业领域结合来解决真实世界的问题。AI Challenger以服务、培养AI人才为使命,打造良性可持续…

Asp.net下实现隐藏真实下载地址(可以实现简单的防盗链)

现在随着FlashGet和xunlei等下载工具的日益普及,下载网站的一些下载地址都能直接被捕获到,,但是有些时候为了防盗链或权限限制不想对地址进行暴露,对于Asp.net下的防盗链有很多方法,我这里写了一种(51aspx的…

大众点评数据平台架构变迁

2019独角兽企业重金招聘Python工程师标准>>> 最近和其他公司的同学对数据平台的发展题做了一些沟通,发现各自遇到的问题都类似,架构的变迁也有一定的相似性。 以下从数据&架构&应用的角度对2012.07-2014.12期间大众点评数据平台的架构…

无人驾驶汽车系统入门:基于深度学习的实时激光雷达点云目标检测及ROS实现...

参加 2018 AI开发者大会,请点击 ↑↑↑作者:申泽邦(Adam Shan),兰州大学在读硕士研究生,主要研究方向无人驾驶,深度学习;兰大未来计算研究院无人车团队负责人,自动驾驶全…

sendmail服务器配置过程中出现的一些错误和解决办法

sendmail服务器配置过程中出现的错误和解决办法 以前在做实验的过程中总结和写的一些教程的一些资料,一直没时间发布到博客上面,五一到了,终于有点时间发布啦!关于Linux上面还会有RHCE系列的学习笔记发表 1、rpm包不能正常卸载&am…

python多功能电子钟_python gui - PyQt4 精彩实例分析之电子钟

PyQt4 精彩实例分析之电子钟,当然在写实例之前要先安装PyQt4模块。from PyQt4.QtGui import *from PyQt4.QtCore import *import sysclass DigiClock(QLCDNumber):def __init__(self,parentNone):super(DigiClock,self).__init__(parent)pself.palette()p.setColor(…

编译安装Zabbix 2.2 (LNMP环境)

说明:操作系统:CentOS7环境:mysql5.6PHP5.5Nginx1.12Zabbix版本:Zabbix2.2编译安装确实比YUM安装麻烦好多些,但是为了加强对Zabbix的理解,编译安装还是很有意义的,毕竟这样自己能很清楚安装路径…

凸透镜成像实验软件_中考物理凸透镜成像难点解析

凸透镜一直以来都是中考物理上考察的重点内容,生活中也有很多凸透镜成像的例子,如照相机成像。那么凸透镜成像这类问题该如何解答呢?小编为你整理了凸透镜成像的难点,让你能在遇到这类问题时能够全部解答出来。一、凸透镜对光的作…

总奖金300万的AI Challenger 2018进入第二阶段,决赛在即!

参加 2018 AI开发者大会,请点击 ↑↑↑此前,AI科技大本营曾报道过奖金池高达 300 万元的 AI Challenger 2018 比赛。与往届不同,今年的比赛共有 5 个主赛道,5 个实验赛道。其中,5 个主赛道的数据集包括:观点…

如何做好中层领导

中层经理人不论是作为一名执行者、还是一名领导者,都必须通过别人来完成任务。要做个“服众”的经理人,应该有意识地提高以下八项能力: 1. 领悟能力 做任何一件事以前,一定要先弄清楚上司希望你怎么做,然后以此为目标来…

200行代码,一行行教你自制微信机器人

参加 2018 AI开发者大会,请点击 ↑↑↑作者|上海小胖,四大咨询的TechLead,mongoDB Professional 获得者。「Python专栏」专注Python领域的各种技术:爬虫、DevOps、人工智能、Web开发等。还有「大航海计划」,各种内推活…

只有你想不到,没有它做不到——可随时变身的模块化机器人

默默单干不如灵活协作 独立单干虽自由灵活,但是和牛逼队友协作完成任务却是一件更美好、高效的事情。这不是只适用于人类社会的定律,在机器人世界里依然如此。 雷锋网消息,近日,著名英国杂志Nature Communications报道了一项关于协…

dlib 怎么安装vs2017_VS2017(Visual Studio2017) 搭建QT5开发环境

VS创建QT工程并添加到GitHub中大家好!欢迎打开并阅读本文,这次咱们说说怎么在VS中创建一个QT项目并且放到GitHub中吧因为GitHub或者码云Gitee都是一个很好的提供代码托管的地方对吧将自己的项目开源到上面,如果项目很好的话,肯定能收获到很多…

ASP.net 2.0中水晶报表迁移部署问题

asp.net 2.0的水晶报表,在迁移机器的时候,如果目标机器没有相应的程序集,在IIS中会报错。错误描述:Parser Error Description: An error occurred during the parsing of a resource required to service this request. Please re…

MySQL数据类型--------字符串类型实战

1. 背景 * MySQL支持的字符串类型有CHAR、VARCHAR、二进制、var二进制、BLOB、文本等等。 2. 字符串类型所需的存储和值范围 类型说明N的含义是否有字符集最大长度CHAR(N)定义字符字符是255VARCHAR(N)变长字符字符是16384BINARY(N)定长二进制字节字节否255VARBINARY(N)变长二进…

android怎么监听多点触摸_什么是多点触控技术,有哪些用途

自从乔布斯将触控技术用于苹果手机上,很多的手机厂商纷纷效仿,触控技术几乎成为手机的“标配”。其实,触控技术早就存在,只是一直未能大面积用于各种设备中,本文将带您认识神奇的触控技术。并非只有手机上可以看到触控…

帮AI摆脱“智障”之名,NLP这条路还有多远?

CSDN 出品的《2018-2019 中国人工智能产业路线图》V2.0 版即将重磅面世! V1.0 版发布以来,我们有幸得到了诸多读者朋友及行业专家的鼎力支持,在此表示由衷感谢。此次 V2.0 版路线图将进行新一轮大升级,内容包括 3 大 AI 前沿产业趋…

分页控件 WebPager [ZT]

两个类文件,点这里下载DLL文件>WebPager.dll1、 WebPager.csusing System;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.ComponentModel; [assembly:TagPrefix("WebPager", "wp")]namespace Xiaoqia…