From e56dadbc2b1083088d106c5e9080bf89ed08dca5 Mon Sep 17 00:00:00 2001 From: fatalerrors Date: Tue, 16 May 2023 10:55:36 +0200 Subject: [PATCH] conf_nfs: modernised code, added possibility to pass mount options --- modules/conf_nfs.sh | 32 ++++++++++++++++++++++---------- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/modules/conf_nfs.sh b/modules/conf_nfs.sh index 9c23312..8347a4a 100644 --- a/modules/conf_nfs.sh +++ b/modules/conf_nfs.sh @@ -1,28 +1,40 @@ # ------------------------------------------------------------------------------ -# Description of module conf_nfs -# Copyright (c) Year Your Name +# Configure NFS mounts +# This file is part of the init.sh project +# Copyright (c) 2019-2023 Geoffray Levasseur # ------------------------------------------------------------------------------ -# +# This file is distributed under 3-clause BSD license. +# The complete license agreement can be obtained at: +# https://opensource.org/licenses/BSD-3-Clause # ------------------------------------------------------------------------------ # Variable list: -# * : role explaination +# * NFS_MOUNTS: list of mounts used in other variable names +# * MOUNTSERV_: server acces to mount +# * MOUNTPOINT_: mount point for +# * MOUNTOPTS_: optionnaly, extra mount options for +# ("defaults,_netdev" by default) # ------------------------------------------------------------------------------ # Module version -export VER_conf_nfs="0.0.1" +export VER_conf_nfs="0.0.2" # Module's code conf_nfs() { pkginst nfs-common for mnt in $NFS_MOUNTS; do - if [[ ! $(grep "$(eval echo \$MOUNTSERV_$mnt)/d" /etc/fstab) ]]; then - echo -e "$(eval echo \$MOUNTSERV_$mnt)\t$(eval echo \$MOUNTPOINT_$mnt)\tnfs4\tdefaults,_netdev\t0\t0" >> /etc/fstab + local mnt_serv=${!MOUNTSERV_$mnt} + local mnt_point=${!MOUNTPOINT_$mnt} + local mnt_opts=${!MOUNTOPTS_$mnt:-"defaults,_netdev"} + if [[ ! $(grep "$mnt_serv" /etc/fstab) ]]; then + echo -e "${mnt_serv}\t${mnt_point}\tnfs4\tdefaults,_netdev\t0\t0" >> /etc/fstab fi - if [[ ! -d $(eval echo \$MOUNTPOINT_$mnt) ]]; then - mkdir -pv $(eval echo \$MOUNTPOINT_$mnt) + unset mnt_serv + if [[ ! -d $mnt_point ]]; then + mkdir -pv $mnt_point fi - mount $(eval echo \$MOUNTPOINT_$mnt) + mount $mnt_point + unset mnt_point done }