【飞牛】自定义配置NFS导出

背景

想在 飞牛(Feiniu)系统 启动过程中执行这个延迟 NFS 配置脚本。

虽然飞牛系统是阿里系的私有化 Linux 分发版(通常基于 CentOS 或类 RedHat 系列),我们可以用 Systemd 服务 的方式让它开机启动,并延迟执行。


使用 systemd 配置启动脚本

1. 保存你的脚本

先把你的优化版脚本保存到一个合理的位置,例如:

sudo nano /usr/local/bin/delay-nfs-setup.sh

内容如下(不需要再加 sleep 了,我们用 systemd 的延迟机制控制时间):

#!/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

保存后加执行权限:

sudo chmod +x /usr/local/bin/delay-nfs-setup.sh

2. 创建 systemd 服务

新建一个服务文件:

sudo nano /etc/systemd/system/delay-nfs-setup.service

填入以下内容:

[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. 启用服务

sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl enable delay-nfs-setup.service

你可以立即测试:

sudo systemctl start delay-nfs-setup.service

或者重启验证效果:

sudo reboot

标签: 飞牛

✍️ 发表评论