63 lines
No EOL
1.8 KiB
Bash
63 lines
No EOL
1.8 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"
|
|
|
|
volume="data"
|
|
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
|
|
for i in `find /$volume/ -mindepth 2 -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
|
|
mkdir -p /$volume/._share/${i}
|
|
cd /$volume/._share/${i}
|
|
echo "share" > datasettype.conf
|
|
echo "0,25000" > recycle.conf
|
|
echo "#dashboard:available=0 \"/$volume/$i\" 127.0.0.1(ro,insecure,insecure_locks,root_squash,anongid=99,anonuid=99,no_subtree_check,sync)" > nfs.conf
|
|
echo "" > snapdir.conf
|
|
echo "0 0 0 * * * 0" > snapshot.conf
|
|
cat > afp.conf << EOF
|
|
[$i]
|
|
available = 1
|
|
path = /$volume/$i
|
|
invalid users = "guest","nobody","@guest","@nogroup"
|
|
admin group = admin
|
|
EOF
|
|
cat > fs.conf << EOF
|
|
compression = 0
|
|
bitrotprotection = 0
|
|
refquota = 0
|
|
EOF
|
|
cat > ftp.conf << EOF
|
|
available 0
|
|
default_access writeable
|
|
mask
|
|
fmask
|
|
dmask
|
|
user_rw
|
|
group_rw
|
|
host_rw
|
|
user_ro
|
|
group_ro
|
|
host_ro
|
|
EOF
|
|
cat > samba.conf << EOF
|
|
[$i]
|
|
path = /$volume/$i
|
|
comment = "$i folder"
|
|
force create mode = 0666
|
|
create mask = 0666
|
|
force directory mode = 1777
|
|
directory mask = 1777
|
|
admin users = "+admin","Administrator"
|
|
writeable = 1
|
|
follow symlinks = 1
|
|
EOF
|
|
chown root.root datasettype.conf recycle.conf snapdir.conf snapshot.conf; chown admin.admin afp.conf fs.conf ftp.conf nfs.conf samba.conf
|
|
done
|
|
done |