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

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

背景想在 飞牛(Feiniu)系统 启动过程中执行这个延迟 NFS 配置脚本。虽然飞牛系统是阿里系的私有化 Linux 分发版(通常基于 CentOS 或类 RedHat 系列),我们可以用 Systemd 服务 的方式让它开机启动,并延迟执行。使用 systemd 配置启...

背景

想在 飞牛(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

还没有评论

欢迎留下你的观点,保持交流的清晰和友好。

写下评论