0x00 闲话

  • 以前的版本,直接在 /etc/rc.local 中添加指令就能做到开机自启;
  • 现在的版本,手动建立 rc.local 服务吧(当然,你完全可以依附其他的开机项来开机自启自定义的脚本);
  • 注意下面的操作都要以 root 权限运行,为了避免后面还得输入密码,可以先切换成 root 用户再操作: su root

0x01 步骤一:建立服务

  • 建立 rc-local.service 文件(文件内容如下): vim /etc/systemd/system/rc-local .service
[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.local
 
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99
 
[Install]
WantedBy=multi-user.target

0x02 步骤二:创建rc.local文件

  • 我们需要手动在 etc 目录下创建 rc.local文件: vim /etc/rc.local

  • 网络上好多人给的文件内容如下

#!/bin/sh -e

echo "看到这行字,说明添加自启动脚本成功。" > /tmp/test.log

exit 0
  • 不过我个人喜欢这么弄
#!/bin/bash

echo "看到这行字,说明添加自启动脚本成功。" > /tmp/test.log

exit 0

0x03 步骤三:启动服务并测试

  • rc.local 加上权限,启用服务
chmod +x /etc/rc.local
systemctl enable rc-local
  • 启动服务并检查状态
systemctl start rc-local.service
systemctl status rc-local.service
  • 重启并检查test.log文件
cat /tmp/test.log

0x04 后话

  • 我已经测试过了,没有什么问题
  • 若有问题,给予以下建议:
    1. 仔细对照我给的步骤,检查时候漏了或者错了某一步或顺序
    2. 请在检查状态的时候认真看控制台输出信息,并建议英语阅读吃力的同学使用翻译

参考文章: https://www.jianshu.com/p/79d24b4af4e5