Compare commits

...

5 Commits

Author SHA1 Message Date
007revad 489416b078 v3.6.127 2 weeks ago
007revad 699f6f9c51 v3.6.127 2 weeks ago
007revad 608de6f86d v3.6.127 2 weeks ago
007revad 248763c5a5 Merge branch 'main' of https://github.com/007revad/Synology_HDD_db 2 weeks ago
007revad 716db64e31 v3.6.127 2 weeks ago
  1. 5
      CHANGES.txt
  2. 30
      syno_hdd_db.sh

5
CHANGES.txt

@ -1,3 +1,8 @@
v3.6.127
- Bug fix for trying to backup "*_v7.db.version" instead of "*_v7.version".
- Bug fix for 6 TB drives having '"size_gb": 6001' in db files instead of '"size_gb": 6000'.
- Also replaces any existing '"size_gb": 6001' in db files with '"size_gb": 6000'.
v3.6.126
- Changed to a more reliable way of getting the NAS model name.
- Changed to keep db file backups up to date.

30
syno_hdd_db.sh

@ -29,7 +29,7 @@
# /var/packages/StorageManager/target/ui/storage_panel.js
scriptver="v3.6.126"
scriptver="v3.6.127"
script=Synology_HDD_db
repo="007revad/Synology_HDD_db"
scriptname=syno_hdd_db
@ -1028,7 +1028,9 @@ fixdrivemodel(){
get_size_gb(){
# $1 is /sys/block/sata1 or /sys/block/nvme0n1 etc
local disk_size_gb
disk_size_gb=$(synodisk --info /dev/"$(basename -- "$1")" 2>/dev/null | grep 'Total capacity' | awk '{print int($4 * 1.073741824)}')
#disk_size_gb=$(synodisk --info /dev/"$(basename -- "$1")" 2>/dev/null | grep 'Total capacity' | awk '{print int($4 * 1.073741824)}')
# Prevent 6 TB drives getting rounded up to 6001 !!!
disk_size_gb=$(synodisk --info /dev/"$(basename -- "$1")" 2>/dev/null | grep 'Total capacity' | awk '{gb = $4 * 1.073741824; printf "%d\n", int(gb / 4 + 0.5) * 4}')
echo "$disk_size_gb"
}
@ -1442,18 +1444,18 @@ backupdb(){
fi
elif [[ "${1##*.}" == "db" ]]; then
# Only .db files have version files
if [[ ! -f "$1.bakver" ]]; then
if [[ ! -f "${1%.db}.bakver" ]]; then
# Existing backup has no .bakver file, create one
cp -p "$1.version" "$1.bakver"
cp -p "${1%.db}.version" "${1%.db}.bakver"
fi
bakversion=$(cat "$1.bakver" 2>/dev/null)
newversion=$(cat "$1.version" 2>/dev/null)
bakversion=$(cat "${1%.db}.bakver" 2>/dev/null)
newversion=$(cat "${1%.db}.version" 2>/dev/null)
if [[ "$newversion" -gt "$bakversion" ]]; then
# Newer version db files have been installed
if cp -p "$1" "$1.bak"; then
echo -e "Backed up ${fname}" >&2
# Update db version backup as well
cp -p "$1.version" "$1.bakver"
cp -p "${1%.db}.version" "${1%.db}.bakver"
else
echo -e "${Error}ERROR 5${Off} Failed to backup ${fname}!" >&2
return 1
@ -1761,6 +1763,20 @@ updatedb(){
}
# Fix "size_gb": 6001, for 6 TB drives caused by v3.5.104 to v3.6.126
if [[ "${#db1list[@]}" -gt "0" ]]; then
for i in "${!db1list[@]}"; do
sed -i 's/"size_gb": 6001/"size_gb": 6000/g' "${db1list[i]}"
sed -i 's/"size_gb":6001/"size_gb":6000/g' "${db1list[i]}"
done
fi
if [[ "${#db2list[@]}" -gt "0" ]]; then
for i in "${!db2list[@]}"; do
sed -i 's/"size_gb": 6001/"size_gb": 6000/g' "${db2list[i]}"
sed -i 's/"size_gb":6001/"size_gb":6000/g' "${db2list[i]}"
done
fi
# Fix ,, instead of , bug caused by v3.3.75
if [[ "${#db1list[@]}" -gt "0" ]]; then
for i in "${!db1list[@]}"; do

Loading…
Cancel
Save