fix(nfs): clean existing export entries before adding new ones to prevent duplicates
This commit is contained in:
16
lib/nfs.sh
16
lib/nfs.sh
@@ -28,18 +28,22 @@ install_nfs() {
|
|||||||
sudo chown nobody:nogroup "$export_dir"
|
sudo chown nobody:nogroup "$export_dir"
|
||||||
sudo chmod 755 "$export_dir"
|
sudo chmod 755 "$export_dir"
|
||||||
|
|
||||||
# Configure NFS exports (avoid duplicates)
|
# Configure NFS exports (clean existing entries for this directory first)
|
||||||
local exports_file="/etc/exports"
|
local exports_file="/etc/exports"
|
||||||
backup_config "$exports_file"
|
backup_config "$exports_file"
|
||||||
|
|
||||||
local export_line="$export_dir *(rw,sync,no_subtree_check,no_root_squash)"
|
local export_line="$export_dir *(rw,sync,no_subtree_check,no_root_squash)"
|
||||||
if ! grep -q "^$export_dir " "$exports_file" 2>/dev/null; then
|
|
||||||
echo "$export_line" | sudo tee -a "$exports_file" > /dev/null
|
# Remove any existing entries for this export directory to avoid duplicates
|
||||||
log_debug "Added NFS export: $export_line"
|
if grep -q "^$export_dir " "$exports_file" 2>/dev/null; then
|
||||||
else
|
sudo sed -i "/^$export_dir /d" "$exports_file"
|
||||||
log_debug "NFS export for $export_dir already exists, skipping addition"
|
log_debug "Removed existing NFS export entries for $export_dir"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Add the new export entry
|
||||||
|
echo "$export_line" | sudo tee -a "$exports_file" > /dev/null
|
||||||
|
log_debug "Added NFS export: $export_line"
|
||||||
|
|
||||||
# Export NFS shares
|
# Export NFS shares
|
||||||
handle_error sudo exportfs -a
|
handle_error sudo exportfs -a
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user