Linux系统中设置开机自动运行的两种方法

admin8个月前笔记71

有时可能会需要在重启时或者每次系统启动时运行某些命令或者脚本。我们要怎样做呢?本文中我们就对此进行讨论。 我们会用两种方法来描述如何在 CentOS/RHEL 以及 Ubuntu 系统上做到重启或者系统启动时执行命令脚本。 两种方法都通过了测试。

image.png

方法 1 – 使用 rc.local

这种方法会利用 /etc/ 中的 rc.local 文件来在启动时执行脚本与命令。我们在文件中加上一行来执行脚本,这样每次启动系统时,都会执行该脚本。

不过我们首先需要为 /etc/rc.local 添加执行权限,

$ sudo chmod +x /etc/rc.local

然后将要执行的脚本加入其中:

$ sudo vi /etc/rc.local

在文件最后加上:

sh /root/script.sh &

然后保存文件并退出。使用 rc.local 文件来执行命令也是一样的,但是一定要记得填写命令的完整路径。 想知道命令的完整路径可以运行:

$ which command

比如:

$ which shutter
/usr/bin/shutter

如果是 CentOS,我们修改的是文件 /etc/rc.d/rc.local 而不是 /etc/rc.local。 不过我们也需要先为该文件添加可执行权限。

注意:- 启动时执行的脚本,请一定保证是以 exit 0 结尾的。

方法 2 – 使用 Crontab

该方法最简单了。我们创建一个 cron 任务,这个任务在系统启动后等待 90 秒,然后执行命令和脚本。

要创建 cron 任务,打开终端并执行

$ crontab -e

然后输入下行内容,

@reboot ( sleep 90 ; sh \location\script.sh )

这里 \location\script.sh 就是待执行脚本的地址。


相关文章

V2Ray Windows 客户端 v2rayN 下载及配置使用教程

V2Ray Windows 客户端 v2rayN 下载及配置使用教程

       v2rayN 是基于 V2Ray 核心的 Windows 客户端,功能强大且支持多种协议,如 Shadowsocks、V2Ray、Xray、Tro...

详解Redis内部运作机制

Redis数据库(Redis 如何表示一个数据库,数据库操作是如何实现的)当Redis服务器初始化的时候会创建 redis.h/REDIS_DEFAULT_DBNUM(后面简写 N ) 个数...

apache使用fcgi配置PHP环境的步骤

早期的CGI技术使外部程序与Web服务器之间交互成为可能,但CGI程序运行在独立的进程中,并对每个Web请求创建一个进程,这种方法非常容易实现,但效率很差,难以扩展。面对大量请求,进程的大量创建和消亡...

MySQL—MySQL架构

MySQL—MySQL架构

MySQL逻辑架构图如下:Connectors连接器:负责跟客户端建立连接;Management Serveices & Utilities系统管理和控制工具;Connection Pool连...

人工智能如此火爆!chatGPT国内能用吗?

人工智能如此火爆!chatGPT国内能用吗?

由于ChatGPT其先进的自然语言处理技术和强大的对话生成能力,ChatGPT迅速吸引了大量用户的关注和使用。ChatGPT的用户群体涵盖了各行各业的人们,包括学生、教育者、企业家、研究人员等等。用户...

如何用zabbix创建自定义监控项

如何用zabbix创建自定义监控项

背景:zabbix本身提供了很多可选的监控项,可以满足绝大部分的监控需求。有时候由于业务需求,需要自定义监控项。 下面以创建mysql自定义监控项为例,分享如何创建zabbix自定义监控项。环境说明:...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。