mirror of
https://github.com/ghndrx/bash.git
synced 2026-02-10 06:45:12 +00:00
init
This commit is contained in:
47
scripts/install-nfs.sh
Normal file
47
scripts/install-nfs.sh
Normal file
@@ -0,0 +1,47 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Default values
|
||||
SHARE_NAME="nfs_share"
|
||||
SHARE_PATH="/mnt/nfs_share"
|
||||
CLIENT_IP="*"
|
||||
OPTIONS="rw,sync,no_subtree_check"
|
||||
|
||||
# Parse command line arguments
|
||||
while getopts ":n:p:c:o:" opt; do
|
||||
case $opt in
|
||||
n) SHARE_NAME="$OPTARG"
|
||||
;;
|
||||
p) SHARE_PATH="$OPTARG"
|
||||
;;
|
||||
c) CLIENT_IP="$OPTARG"
|
||||
;;
|
||||
o) OPTIONS="$OPTARG"
|
||||
;;
|
||||
\?) echo "Invalid option -$OPTARG" >&2
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Install NFS server if not already installed
|
||||
if ! dpkg -s nfs-kernel-server > /dev/null 2>&1; then
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y nfs-kernel-server
|
||||
fi
|
||||
|
||||
# Create NFS share directory
|
||||
sudo mkdir -p $SHARE_PATH
|
||||
|
||||
# Set permissions on NFS share directory
|
||||
sudo chown nobody:nogroup $SHARE_PATH
|
||||
sudo chmod 777 $SHARE_PATH
|
||||
|
||||
# Add NFS share to exports file
|
||||
echo "$SHARE_PATH $CLIENT_IP($OPTIONS)" | sudo tee -a /etc/exports > /dev/null
|
||||
|
||||
# Restart NFS server
|
||||
sudo systemctl restart nfs-kernel-server
|
||||
|
||||
echo "NFS share '$SHARE_NAME' created and started with the following options:"
|
||||
echo " Path: $SHARE_PATH"
|
||||
echo " Client IP: $CLIENT_IP"
|
||||
echo " Options: $OPTIONS"
|
||||
Reference in New Issue
Block a user