学习
实践
活动
专区
工具
TVP
写文章
专栏首页运维之美如何优雅的在 Linux 下开机自动重启脚本

如何优雅的在 Linux 下开机自动重启脚本

1简介

经常碰到机器断电之后需要重启一大堆服务,为了防止这种事情发生,设置开机自启的脚本十分的重要,我们习惯性的做法就是编写一个重启脚本,然后在 /etc/rc.local 中去完成开机执行。例如下面这样:

$ cat /etc/rc.local
bash /root/script/restart.sh

这样的方法虽然可行,但并不优雅。今天我们就给大家介绍两种更好的实现方式:

2通过 Crontab 实现

Crontab 可以使用 @reboot 来执行主机启动之后的命令。首先在命令行输入:

$ crontab -e

然后添加以下内容:

@reboot /root/script/restart.sh

完成后,这个脚本就可以在重启的时候自动执行了。 其它的一些进阶玩法:

  • 在启动完成后的指定时间内运行脚本
# 在启动 5 分钟后运行指定脚本
@reboot sleep 300 && /home/wwwjobs/clean-static-cache.sh

3通过 Systemd 实现

首先编写一个名为 restart 的 Systemd 服务:

$ vim /lib/systemd/system/restart.service

[Unit]
Description=restart
After=default.target

[Service]
ExecStart=/root/script/restart.sh

[Install]
WantedBy=default.target

然后启用这个 Systemd 服务:

$ systemctl daemon-reload
$ systemctl enable restart.service

完成后,这个服务对应的脚本就可以自动开机自启了。

4参考文档

  • https://www.google.com
  • https://tinyurl.com/6ryafefw
  • https://www.cyberciti.biz/faq/linux-execute-cron-job-after-system-reboot/
文章分享自微信公众号:
运维之美

本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!

作者:Mike
原始发表时间:2021-07-21
如有侵权,请联系 cloudcommunity@tencent.com 删除。
登录 后参与评论
0 条评论

相关文章

  • 如何优雅的在 Linux 下开机自动重启脚本

    经常碰到机器断电之后需要重启一大堆服务,为了防止这种事情发生,设置开机自启的脚本十分的重要,我们习惯性的做法就是编写一个重启脚本,然后在 /etc/rc.loc...

    杰哥的IT之旅
  • Linux系统设置开机自动运行脚本的方法实例

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

    砸漏
  • 优雅地乱玩 Linux-7-Cron 实现程序自启动

    却会爆出Permission Denied的错误,这个是因为对于这个文件没有可执行权限。可以使用chmod添加可执行权限:

    szhshp
  • linux停止ssh服务的命令,开启、关闭、查看SSH服务

    通过OpenSSH服务器的脚本文件“/etc/rc.d/init.d/sshd”启动SSH服务,命令执行如下。

    用户4988085
  • 实现一个启动多个jar或多个服务的脚本

    在一开始,我选择了参考网上所说的定义一个rc.local文件,修改/etc/rc.local,但发现这种方法可以实现自启动脚本,但是通常只能启动一个服务,然后后...

    路行的亚洲
  • 第十六章.Linux系统管理-开机启动流程

    -多年互联网运维工作经验,曾负责过大规模集群架构自动化运维管理工作。 -擅长Web集群架构与自动化运维,曾负责国内某大型金融公司运维工作。 -devops...

    DriverZeng
  • Linux|WSL打造Windows下更顺畅的双系统

    这篇文章已经在list待了太久(好像有两年了吧),作为一名通信工程师,Linux是必不可少的操作环境,所以在公司升级到Win10系统后果断就放弃了Cygwin和...

    琉璃康康
  • 如何添加linux开机启动项

    摘要:以往的服务通常使用supervisord或者crontab的方式来守护或者定时执行,最近遇到了自己写的服务所依赖到一些组件服务,在开机的没有自动启动的问题...

    机智的程序员小熊
  • Red Hat Enterprise Linux 7.4下设置Oracle开机自动启动

    在Linux系统中,安装好Oracle数据库服务后,并不像在Windows系统下一样,Oracle服务在默认情况下会随系统的启动自动启动。Linux系统中,是需...

    星哥玩云
  • 公网远程开机(唤醒家庭PC)

    一、背景 使用seafile搞了一个私有云盘,性能还是很优秀的(下载的话到50M/s,上传10M/s),不过不需要的时候开着电脑好像有点浪费,所以就开始了通过...

    全栈程序员站长
  • Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(二)

    Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(一)

    hbbliyong
  • Ubuntu 18.04 安装使用 Supervisor 进程守护并设置开机自动启动

    最近需要在 Ubuntu 上配置一下进程守护,因为有些进程必须一直运行,否则就比较尴尬。于是网上搜索了一下,比较原生的做法是使用 systemd 进行配置,但是...

    搬砖部落
  • Linux常用命令

    嘉美伯爵
  • 听说你要删库跑路了?这篇Linux脚本请收好

    昨天,被辞退了,原因说是上班效率低,其实就是不加班,导火索就是周末不上班不给我们说,让我大早上起床去公司吃了一个闭门羹。

    秋名山码神
  • CentOS 7部署ASP.NET Core应用程序

    网上看了一下,Linux云服务器还挺贵的,那就只好先用VMware虚拟机搭建个吧。这里我选装的Linux系统版本的是CentOS,Linux系统众多发行版之一,...

    Esofar
  • RHEL6设置Tomcat开机自启动

    Linux下/etc/init.d和/etc/rc.d/rc.local的区别说明:

    星哥玩云
  • MongoDB从入门到“精通”之如何优雅的安装

    说一件逗比的事情,昨晚忙活了1个小时,把教程一梳理了一下,其实也没什么好梳理的,就是查阅了一下下命令的使用情况。 本来就很早接触了mongo,只是没有继续深入罢...

    小柒2012
  • Linux下自动检测Tomcat宕机,并自动重启[通俗易懂]

    公司服务器tomcat经常自动挂掉,具体原因无法找到。所以做了这次调整。让Linux自动检测tomcat是否宕机

    全栈程序员站长
  • 【DB宝49】Oracle如何设置DB、监听和EM开机启动

    Oracle提供了随操作系统启动而启动的功能,在Windows和Linux中,分别有不同的设置方法。

    小麦苗DBA宝典

扫码关注腾讯云开发者

领取腾讯云代金券