Difference between revisions of "QNAP"

From Freephile Wiki
Jump to navigation Jump to search
(adds info about backing up my laptop home directory from the QNAP)
(adds utility info)
(One intermediate revision by the same user not shown)
Line 7: Line 7:
 
locally on the network, it uses DHCP, with two ethernet nics (dual-homed)
 
locally on the network, it uses DHCP, with two ethernet nics (dual-homed)
 
Access it via your network share (at 192.168.1.4  or 192.168.1.5) or externally at http://cloud.equality-tech.com
 
Access it via your network share (at 192.168.1.4  or 192.168.1.5) or externally at http://cloud.equality-tech.com
 
== Backups ==
 
 
{{ambox|
 
|text = There is no bash history on QNAP. All 'history' is lost after each session!}}
 
 
{{ambox|
 
|text = All content should go into user directories because subsequent upgrades could wipe data elsewhere. In other words, do NOT create a /backup folder!
 
 
<code>/share/CACHEDEV1_DATA/homes/greg/backups/</code> is the root for backups storage
 
}}
 
 
I've created rsync scripts in the 'admin' users home directory which will backup <kbd>eqt</kbd> and <kbd>greg-laptop</kbd>  nb: greg-laptop is ONLY the ''home'' directory, not the full disk.
 
 
There is also a Duplicity script in /share/CACHEDEV1_DATA/homes/greg/backups/backup_home_to_qnap_san.sh but that's '''not tested/operational'''
 
  
 
== Operating System ==
 
== Operating System ==
Line 95: Line 80:
 
mount | grep -v qpkg
 
mount | grep -v qpkg
 
echo " "
 
echo " "
echo "Contents of \$(dirname \$(getcfg -f /etc/config/smb.conf Public path)):"
+
#echo "Contents of \$(dirname \$(getcfg -f /etc/config/smb.conf Public path)):"
echo " "
+
#echo " "
ls -lF \$(dirname \$(getcfg -f /etc/config/smb.conf Public path))/
+
#ls -lF \$(dirname \$(getcfg -f /etc/config/smb.conf Public path))/
 
echo " "
 
echo " "
 
echo "Windows Shares:"  
 
echo "Windows Shares:"  
Line 105: Line 90:
 
   testparm -s -l --section-name="\$i" --parameter-name=path 2>/dev/null  
 
   testparm -s -l --section-name="\$i" --parameter-name=path 2>/dev/null  
 
done
 
done
echo " "
+
#echo " "
echo "QNAP Media Scanner / Transcoder processes running: "
+
#echo "QNAP Media Scanner / Transcoder processes running: "
echo " "  
+
#echo " "  
/bin/ps | grep medialibrary | grep -v grep
+
#/bin/ps | grep medialibrary | grep -v grep
echo " "  
+
#echo " "  
echo -n "MediaLibrary Configuration file: "  
+
#echo -n "MediaLibrary Configuration file: "  
ls -alF /etc/config/medialibrary.conf
+
#ls -alF /etc/config/medialibrary.conf
echo " "  
+
#echo " "  
echo "/etc/config/medialibrary.conf:"
+
#echo "/etc/config/medialibrary.conf:"
cat /etc/config/medialibrary.conf
+
#cat /etc/config/medialibrary.conf
 
echo " "
 
echo " "
 
echo "iTunes Music Store: \$(getcfg -f /etc/config/mt-daapd.conf general mp3_dir)"
 
echo "iTunes Music Store: \$(getcfg -f /etc/config/mt-daapd.conf general mp3_dir)"
Line 128: Line 113:
 
clear
 
clear
 
/tmp/nasreport
 
/tmp/nasreport
 +
#done
 
</source>
 
</source>
  
Line 151: Line 137:
 
* <code>ls -al /mnt/HDA_ROOT/usr/sbin </code>
 
* <code>ls -al /mnt/HDA_ROOT/usr/sbin </code>
  
[[Category:Company]]
+
 
[[Category:Cloud]]
+
[[Category:Company]] [[Category:Cloud]] [[Category:Network]] [[Category:NAS]] [[Category:Storage]] [[Category:Server]] [[Category:Backups]]
[[Category:Network]]
 
[[Category:NAS]]
 
[[Category:Storage]]
 
[[Category:Server]]
 
[[Category:Backups]]
 

Revision as of 00:50, 28 July 2016

TS-231.jpg

The QNAP NAS TS-231 forms the basis of our local network shares and backup

2x 2TB Western Digital "Red" drives in RAID 1 configuration = 1.8 TB storage

locally on the network, it uses DHCP, with two ethernet nics (dual-homed) Access it via your network share (at 192.168.1.4 or 192.168.1.5) or externally at http://cloud.equality-tech.com

Operating System[edit | edit source]

The QNAP uses an operating system called QTS (based on Linux and GPL) QTS 4.2.1

Administration[edit | edit source]

Under the covers, the QNAP is a Linux box, so if you want to reset someones password, you can just use the passwd command as usual.

NAS Report[edit | edit source]

Here is a script which generates a script, and then runs it. Not sure why it's not just a plain script, but hey it's a neat trick. If you want to just use the script it generates, see /tmp/nasreport after invoking this. cat ./nas_report.sh

#!/bin/sh
rm -f /tmp/nasreport
touch /tmp/nasreport
chmod +x /tmp/nasreport
cat <<EOF >>/tmp/nasreport
#!/bin/sh
#
# NAS Report by Patrick Wilson
# see: http://forum.qnap.com/viewtopic.php?f=185&t=82260#p366188
#
# 
echo "*********************"
echo "** QNAP NAS Report **"
echo "*********************"
echo " "
echo "NAS Model:      \$(getsysinfo model)"
echo "Firmware:       \$(getcfg system version) Build \$(getcfg system 'Build Number')"
echo "System Name:    \$(/bin/hostname)"
echo "Workgroup:      \$(getcfg system workgroup)"
echo "Base Directory: \$(dirname \$(getcfg -f /etc/config/smb.conf Public path))"
echo "NAS IP address: \$(ifconfig \$(getcfg network 'Default GW Device') | grep addr: | awk '{ print \$2 }' | cut -d: -f2)"
echo " " 
echo "Default Gateway Device: \$(getcfg network 'Default GW Device')" 
echo " "
ifconfig \$(getcfg network 'Default GW Device') | grep -v HWaddr
echo " "
echo -n "DNS Nameserver(s):" 
cat /etc/resolv.conf | grep nameserver | cut -d' ' -f2
echo " "
echo " "
echo "HDD Information:"
echo " "
alpha='abcdefghijklmnopqrstuvwxyz'
drives=\$(getcfg Storage 'Disk Drive Number')
for ((i=1;i<=drives;++i)) ; do
   echo -n "HDD\$i -"
   if [ ! -b /dev/sd\${alpha:\$i-1:1} ] ; then
      echo "Drive absent"
   else
      hdparm -i /dev/sd\${alpha:\$i-1:1} | grep "Model"
      echo " "
      parted /dev/sd\${alpha:\$i-1:1} print
      echo " "
      /sbin/get_hd_smartinfo -d \$i
      echo " "
   fi
done
echo "Volume Status"
echo " "
mdadm -D /dev/md0 /dev/md1 2>/dev/null
echo " "
cat /proc/mdstat
echo " "
echo "Disk Space:"
echo " "
df -h | grep -v qpkg
echo " "
echo "Mount Status:" 
echo " "
mount | grep -v qpkg
echo " "
#echo "Contents of \$(dirname \$(getcfg -f /etc/config/smb.conf Public path)):"
#echo " "
#ls -lF \$(dirname \$(getcfg -f /etc/config/smb.conf Public path))/
echo " "
echo "Windows Shares:" 
echo " "
for i in \$(grep \] /etc/config/smb.conf | sed 's/^\[//g' | sed 's/\]//g' | grep -v global) ;do 
   echo -n "\$i:"
   testparm -s -l --section-name="\$i" --parameter-name=path 2>/dev/null 
done
#echo " "
#echo "QNAP Media Scanner / Transcoder processes running: "
#echo " " 
#/bin/ps | grep medialibrary | grep -v grep
#echo " " 
#echo -n "MediaLibrary Configuration file: " 
#ls -alF /etc/config/medialibrary.conf
#echo " " 
#echo "/etc/config/medialibrary.conf:"
#cat /etc/config/medialibrary.conf
echo " "
echo "iTunes Music Store: \$(getcfg -f /etc/config/mt-daapd.conf general mp3_dir)"
echo " "
echo "Memory Information:" 
echo " "
free | grep -v cache:
echo " "
echo "NASReport completed on \$(date +'%Y-%m-%d %T') (\$0) "
echo " "
EOF
sleep 2
clear
/tmp/nasreport
#done

Utilities[edit | edit source]

The NAS is not a full linux box. It only comes with a limited subset of commands, and some of those are provided by BusyBox. To see the output below, just run the busybox command.

BusyBox v1.01 (2016.05.31-18:24+0000) multi-call binary

Usage: busybox [function] [arguments]...
   or: [function] [arguments]...

        BusyBox is a multi-call binary that combines many common Unix
        utilities into a single executable.  Most people will create a
        link to busybox for each function they wish to use and BusyBox
        will act like whatever it was invoked as!

Currently defined functions:
        [, addgroup, adduser, ash, awk, basename, bunzip2, busybox, bzcat, cat, chgrp, chmod, chown, chroot, chvt, clear, cmp, cp, crond, crontab, cut, date, dc, dd, deallocvt, delgroup, deluser, df, dirname, dmesg, dos2unix, du, echo, egrep, env, expr, false, fdisk, fgrep, find, free, getty, grep, gunzip, gzip, halt, head, hexdump, hostname, hwclock, id, ifconfig, init, insmod, install, ip, kill, killall, klogd, linuxrc, ln, logger, login, ls, lsmod, md5sum, mkdir, mknod, mktemp, modprobe, more, mount, mv, nameif, netstat, nslookup, openvt, passwd, pidof, ping, ping6, pivot_root, poweroff, ps, pwd, rdate, readlink, reboot, renice, reset, rm, rmdir, rmmod, route, sed, sh, sha1sum, sleep, sort, strings, swapoff, swapon, switch_root, sync, sysctl, syslogd, tail, tar, tee, telnet, test, tftp, time, top, touch, tr, traceroute, true, tty, umount, uname, uniq, unix2dos, unzip, uptime, usleep, vi, wc, wget, which, whoami, xargs, yes, zcat

There are also a number of commands which are NOT provided by busybox.

  • ls -al /mnt/HDA_ROOT/usr/bin |grep -v busybox
  • ls -al /mnt/HDA_ROOT/usr/sbin