## 背景 想在 **飞牛(Feiniu)系统** 启动过程中执行这个延迟 NFS 配置脚本。 虽然飞牛系统是阿里系的私有化 Linux 分发版(通常基于 CentOS 或类 RedHat 系列),我们可以用 **Systemd 服务** 的方式让它开机启动,并延迟执行。 --- ## 使用 systemd 配置启动脚本 ### 1. **保存你的脚本** 先把你的优化版脚本保存到一个合理的位置,例如: ```bash sudo nano /usr/local/bin/delay-nfs-setup.sh ``` 内容如下(**不需要再加 sleep 了,我们用 systemd 的延迟机制控制时间**): ```bash #!/bin/bash EXPORT_LINE="/vol2/1000/xk/MultiMedia 192.168.1.0/24(ro,async,no_subtree_check)" EXPORTS_FILE="/etc/exports" if grep -Fxq "$EXPORT_LINE" "$EXPORTS_FILE"; then echo "✅ 配置已存在,无需修改。" else echo "⚙️ 配置不存在,正在添加..." echo "$EXPORT_LINE" >> "$EXPORTS_FILE" exportfs -ra systemctl restart nfs-server echo "✅ 操作完成,配置已添加。" fi ``` 保存后加执行权限: ```bash sudo chmod +x /usr/local/bin/delay-nfs-setup.sh ``` --- ### 2. **创建 systemd 服务** 新建一个服务文件: ```bash sudo nano /etc/systemd/system/delay-nfs-setup.service ``` 填入以下内容: ```ini [Unit] Description=Delayed NFS Export Setup After=network-online.target nfs-server.service Wants=network-online.target [Service] Type=oneshot ExecStart=/usr/local/bin/delay-nfs-setup.sh RemainAfterExit=true # 延迟启动:等系统启动后再等 30 秒 ExecStartPre=/bin/sleep 30 [Install] WantedBy=multi-user.target ``` --- ### 3. **启用服务** ```bash sudo systemctl daemon-reexec sudo systemctl daemon-reload sudo systemctl enable delay-nfs-setup.service ``` 你可以立即测试: ```bash sudo systemctl start delay-nfs-setup.service ``` 或者重启验证效果: ```bash sudo reboot ``` Loading... ## 背景 想在 **飞牛(Feiniu)系统** 启动过程中执行这个延迟 NFS 配置脚本。 虽然飞牛系统是阿里系的私有化 Linux 分发版(通常基于 CentOS 或类 RedHat 系列),我们可以用 **Systemd 服务** 的方式让它开机启动,并延迟执行。 --- ## 使用 systemd 配置启动脚本 ### 1. **保存你的脚本** 先把你的优化版脚本保存到一个合理的位置,例如: ```bash sudo nano /usr/local/bin/delay-nfs-setup.sh ``` 内容如下(**不需要再加 sleep 了,我们用 systemd 的延迟机制控制时间**): ```bash #!/bin/bash EXPORT_LINE="/vol2/1000/xk/MultiMedia 192.168.1.0/24(ro,async,no_subtree_check)" EXPORTS_FILE="/etc/exports" if grep -Fxq "$EXPORT_LINE" "$EXPORTS_FILE"; then echo "✅ 配置已存在,无需修改。" else echo "⚙️ 配置不存在,正在添加..." echo "$EXPORT_LINE" >> "$EXPORTS_FILE" exportfs -ra systemctl restart nfs-server echo "✅ 操作完成,配置已添加。" fi ``` 保存后加执行权限: ```bash sudo chmod +x /usr/local/bin/delay-nfs-setup.sh ``` --- ### 2. **创建 systemd 服务** 新建一个服务文件: ```bash sudo nano /etc/systemd/system/delay-nfs-setup.service ``` 填入以下内容: ```ini [Unit] Description=Delayed NFS Export Setup After=network-online.target nfs-server.service Wants=network-online.target [Service] Type=oneshot ExecStart=/usr/local/bin/delay-nfs-setup.sh RemainAfterExit=true # 延迟启动:等系统启动后再等 30 秒 ExecStartPre=/bin/sleep 30 [Install] WantedBy=multi-user.target ``` --- ### 3. **启用服务** ```bash sudo systemctl daemon-reexec sudo systemctl daemon-reload sudo systemctl enable delay-nfs-setup.service ``` 你可以立即测试: ```bash sudo systemctl start delay-nfs-setup.service ``` 或者重启验证效果: ```bash sudo reboot ``` 最后修改:2025 年 05 月 11 日 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏