89 lines
2.6 KiB
Bash
89 lines
2.6 KiB
Bash
#!/bin/bash
|
|
# share fix
|
|
# use this script to rebuild default configs for shares if the ._share becomes
|
|
# broken for whatever reason.
|
|
|
|
echo "Activating Share rebuilder"
|
|
echo "Querying readynasd for list of volumes..."
|
|
x=$(rn_nml -g volumes | grep "resource-id" | sed 's/^.*id="//;s/".*//;')
|
|
number=$(echo $x | wc -w)
|
|
echo "$number volume(s) found."
|
|
for volume in $x
|
|
do
|
|
echo -n "Investigating volume /$volume..."
|
|
for i in `find /$volume/ -mindepth 1 -maxdepth 2 -type d | egrep -v "\/$volume\/home|\/$volume\/.apps|\/$volume\/.vault|\/$volume\/.purge|\/$volume\/._share|\/$volume\/.timemachine|\/$volume\/.TemporaryItems|.iscsi" | sed "s/\/$volume\///g;s/\/.*//g" | sort | uniq`
|
|
do
|
|
found=1
|
|
path="/$volume/._share/${i}"
|
|
echo "Found /$volume/${i}... recreating configs...".
|
|
mkdir -p "$path"
|
|
echo "share" > $path/datasettype.conf
|
|
echo "0,0" > $path/recycle.conf
|
|
echo "#dashboard:available=0 \"/$volume/$i\" 127.0.0.1(ro,insecure,insecure_locks,no_subtree_check,crossmnt,anongid=99,anonuid=99,root_squash,async)" > $path/nfs.conf
|
|
echo "" > $path/snapdir.conf
|
|
echo "0 0 0 * * * 0" > $path/snapshot.conf
|
|
cat > $path/afp.conf << EOF
|
|
[$i]
|
|
available = 1
|
|
path = /$volume/$i
|
|
admin group = admin
|
|
EOF
|
|
cat > $path/custom_snapshot_management.conf << EOF
|
|
enabled = no
|
|
retention_rule = lifetime
|
|
lifetime = 2592000
|
|
number = 30
|
|
nonempty_snapshots = yes
|
|
prev_versions = no
|
|
EOF
|
|
cat > $path/custom_snapshot_schedule.conf << EOF
|
|
........................
|
|
........................
|
|
........................
|
|
........................
|
|
........................
|
|
........................
|
|
........................
|
|
EOF
|
|
cat > $path/fs.conf << EOF
|
|
compression = 0
|
|
bitrotprotection = 0
|
|
refquota = 0
|
|
EOF
|
|
cat > $path/ftp.conf << EOF
|
|
available 0
|
|
default_access disabled
|
|
mask
|
|
fmask
|
|
dmask
|
|
user_rw
|
|
group_rw
|
|
host_rw
|
|
user_ro
|
|
group_ro
|
|
host_ro
|
|
EOF
|
|
cat > $path/samba.conf << EOF
|
|
[$i]
|
|
path = /$volume/$i
|
|
comment = "$i folder"
|
|
spotlight = 0
|
|
guest ok = 1
|
|
admin users = +admin
|
|
writeable = 1
|
|
follow symlinks = 1
|
|
EOF
|
|
echo -n "Fixing permissions on files..."
|
|
cd $path
|
|
chown root.root datasettype.conf recycle.conf snapdir.conf snapshot.conf
|
|
chown admin.admin afp.conf fs.conf ftp.conf nfs.conf samba.conf custom_snapshot_management.conf custom_snapshot_schedule.conf
|
|
echo " done!"
|
|
echo " Done with /$volume/${i}."
|
|
done
|
|
echo " Done with /$volume"
|
|
done
|
|
if [[ $found ]]
|
|
then
|
|
echo "Restarting readynasd to finish changes..."
|
|
systemctl restart readynasd
|
|
fi
|