专栏首页运维之美如何优雅的在 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/

本文分享自微信公众号 - 运维之美(Hi-Linux),作者:Mike

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-07-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

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

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

    杰哥的IT之旅
  • 如何在Linux下设置脚本启动

    用nohup运行命令可以使命令永久的执行下去,和用户终端没有关系,例如我们断开SSH连接都不会影响他的运行,注意了nohup没有后台运行的意思;&才是后台运行,...

    胡齐
  • Windows下制作nodejs后台程序的脚本-开机自启动

    最近在Windows服务器上部署nodejs后台程序时,想要将其设置为开机自启动,在Linux下很简单,使用pm2 startup命令即可。Windows下可以...

    ccf19881030
  • CentOS6.9下Oracle11gR2数据库的创建并设置开机自启动脚本

    1、打开Xmanager-Passive,然后用oracle用户登录数据库服务器SSH后台后输入dbca,启动图形化数据库创建向导界面

    yuanfan2012
  • 启动SpringBoot的正确姿势

    课堂上,当小明形如流水地回答完沐芳老师提出来的问题时,却被至今没有对象的胖虎无情嘲讽了?

    程序员小明
  • 如何启动,停止和重启Apache

    Apache 是一个开源并且跨平台的 HTTP 服务器。它拥各种功能强大的特性,和广泛的模块支持。

    雪梦科技
  • 为什么建议大家使用 Linux 开发?爽!

    我身边还有些朋友对 linux 的印象似乎还停留在黑乎乎的命令行界面上。当我告诉他或者建议他使用 linux 时,会一脸惊讶的问我,那个怎么用(来开发或者日常使...

    程序IT圈
  • 实现一个启动多个jar或多个服务的脚本

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

    路行的亚洲
  • 研究优雅停机时的一点思考

    最近瞥了一眼项目的重启脚本,发现运维一直在使用 kill-9<pid> 的方式重启 springboot embedded tomcat,其实大家几乎一致认为...

    kirito-moe
  • 【NGINX入门】12.OpenResty(Nginx+Lua)高并发最佳实践

    本文介绍以下内容: OpenResty简介 Nginx优点 Lua基础学习 环境搭建 window下环境搭建 Linux(CentOS 7)下环境搭...

    辉哥
  • 无缝切换在线升级的终极探索

    在系统的高可靠性里有个衡量其可靠性的标准——X个9,这个X是代表数字3~5。X个9表示在系统1年时间的使用过程中,系统可以正常使用时间与总时间(1年)之比

    蒋老湿
  • 测一测你的linux基础能力合格吗?

    “努力,让日子更从容、更愉悦、更优雅一些。”——马哥 运维人员想要生活更从容、更愉悦、更优雅必须有更扎实的linux技术支撑才可以。 我们学了这么就的linux...

    小小科
  • Ubuntu系统和隐私清理工具汇总

    版权声明:本文为zhangrelay原创文章,有错请轻拍,转载请注明,谢谢... https://blog.csdn.net/ZhangRelay/ar...

    zhangrelay
  • 浅谈Java项目打包方式

    我是攻城师
  • 为什么建议大家使用 Linux 开发?爽(外加七个感叹号)

    来源 | cnblogs.com/summertime-wu/p/11140052.html

    java进阶架构师
  • 为什么建议大家使用 Linux 开发?爽(外加七个感叹号)

    我身边还有些朋友对 linux 的印象似乎还停留在黑乎乎的命令行界面上。当我告诉他或者建议他使用 linux 时,会一脸惊讶的问我,那个怎么用(来开发或者日常使...

    杰哥的IT之旅
  • 为什么建议大家使用 Linux 开发?

    我身边还有些朋友对 linux 的印象似乎还停留在黑乎乎的命令行界面上。当我告诉他或者建议他使用 linux 时,会一脸惊讶的问我,那个怎么用(来开发或者日常使...

    开发者技术前线
  • Linux 能替代 Windows 吗?

    我身边还有些朋友对 linux 的印象似乎还停留在黑乎乎的命令行界面上。当我告诉他或者建议他使用 linux 时,会一脸惊讶的问我,那个怎么用(来开发或者日常使...

    龙哥
  • Dubbo优雅停机

    对于任何一个线上应用,如何在服务更新部署过程中保证客户端无感知是开发者必须要解决的问题,即从应用停止到重启恢复服务这个阶段不能影响正常的业务请求。理想条件下,在...

    用户5325874

扫码关注云+社区

领取腾讯云代金券