赞
踩
测试环境:Ubuntu18.04
方法:rc.local.server服务会开机自启,并调用/etc/rc.local(默认)脚本。
具体操作:
# 是rc-local.service的链接
vi /lib/systemd/system/rc.local.service
具体参数说明可参见:Ubuntu 18 使用 rc.local执行开机启动脚本
# SPDX-License-Identifier: LGPL-2.1+ # # This file is part of systemd. # # systemd is free software; you can redistribute it and/or modify it # under the terms of the GNU Lesser General Public License as published by # the Free Software Foundation; either version 2.1 of the License, or # (at your option) any later version. # This unit gets pulled automatically into multi-user.target by # systemd-rc-local-generator if /etc/rc.local is executable. [Unit] Description=/etc/rc.local Compatibility Documentation=man:systemd-rc-local-generator(8) ConditionFileIsExecutable=/etc/rc.local After=network.target # ConditionFileIsExecutable 指定执行的文件, # After 表示在 network.target 这个target后面进行执行。 # 也就是网络启动完成之后,执行 /etc/rc.local 文件。 [Service] Type=forking ExecStart=/etc/rc.local start TimeoutSec=0 RemainAfterExit=yes GuessMainPID=no
#!/bin/bash
# 尽量指定具体解析器/bin/bash,而不使用/bin/sh连接
# 简单测试用例
echo 'hello' > /home/hello.txt
# 引用其他自定义脚本(注意尽量不使用环境变量,因为开机时只有很少环境变量,可打印查看)
. /其它脚本
chmod +x /etc/rc.local
systemctl restart rc.local.service
直接重启实际测试:
reboot
参考链接:
Ubuntu 18 使用 rc.local执行开机启动脚本
Linux systemd rc-local.service 实现执行开机脚本
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。