File: //usr/syno/sbin/synolog-linker
#!/bin/bash
function enumAllVolumes ()
{
grep normal /run/synostorage/volumetab | awk '{ print $2 }'
}
function findBestVolume ()
{
local candidate=$(enumAllVolumes \
| /bin/xargs -n1 -i /bin/stat -c '%Y %m' '{}/@database/synolog/.SMBXFERDB' 2>/dev/null \
| /bin/sort -k1 -nr \
| /bin/head -n1 \
| /bin/cut -d' ' -f2)
if [[ ${#candidate} -eq 0 ]]; then
CANDIDATE_VOLUME="$(/usr/syno/bin/servicetool --get-alive-volume)"
if [ "${CANDIDATE_VOLUME:0:7}" = "/volume" ]; then
echo -n "${CANDIDATE_VOLUME}"
fi
else
echo -n "${candidate}"
fi
}
function createDBLink ()
{
local bestVolume=$(findBestVolume)
if [[ ${#bestVolume} -eq 0 ]]; then
exit
fi
env RESULT=0 MOUNTPOINT="${bestVolume}" \
/usr/libexec/volume/create/SynologVolumeCreate.sh --post
}
createDBLink