Script:
#!/bin/bash #Define the architeture of the box arch=`uname -m` echo " *******Archeticture of Machine is" $arch "*******" echo #Pull latest version number and assign to variable and then display it stable=($(fetch -q -o - http://sabnzbdplus.sourceforge.net/version/latest | awk '/0/{gsub(/\015/,"");print}')) beta=($(fetch -q -o - http://sabnzbdplus.sourceforge.net/version/latest | awk '/2/{gsub(/\015/,"");print}')) echo " Latest SABnzbd Stable version is: $stable" echo " Latest SABnzbd Beta version is: $beta" #Menu echo "" echo " Which Version do you wish to Install?" echo " ----- ------- -- --- ---- -- --------" echo echo "[1] Upgrade/Install SABnzbd 0.5.0 (tested good)" echo "[2] Upgrade/Install latest STABLE SABnzbd $stable" echo "[3] Upgrade/Install lastest BETA SABnzbd $beta" echo "[4] Exit" echo #Reads the input user puts in assigns to "option" read option #Acts upon what user entered case "$option" in "1") echo echo "*******Selected Option 1: SABnzbd 0.5.0 (tested good)*******" echo echo "Downloading SABnzbd 0.5.0" fetch "http://downloads.sourceforge.net/project/sabnzbdplus/sabnzbdplus/sabnzbd-0.5.0/SABnzbd-0.5.0-src.tar.gz" ;; "2") echo echo "*******Selected Option 2: Latest STABLE SABnzbd $stable*******" echo echo "Downloading latest STABLE SABnzbd $stable" fetch http://downloads.sourceforge.net/project/sabnzbdplus/sabnzbdplus/sabnzbd-${stable}/SABnzbd-${stable}-src.tar.gz ;; "3") echo echo "*******Selected Option 2: Latest BETA SABnzbd $beta*******" echo echo "Downloading latest BETA SABnzbd ($beta)" fetch http://downloads.sourceforge.net/project/sabnzbdplus/sabnzbdplus-beta/${beta}/SABnzbd-${beta}-src.tar.gz ;; "4") echo echo "Exiting" exit ;; * ) echo echo "Wrong selection nothing selected" echo "Exiting" exit ;; esac echo echo #Continues with script echo "*******1. Installing the required prerequisites*******" echo "--Installing SABnzb (0.4.8)--" pkg_add -r sabnzbdplus echo "--Installing py25-yenc--" pkg_add -r py25-yenc echo "--Installing unzip--" pkg_add -r unzip echo "--Installing py25-pysqlite-2.3.5--" pkg_add -r "ftp://ftp.freebsd.org/pub/FreeBSD/ports/$arch/packages-7.2-release/All/py25-pysqlite-2.3.5.tbz" echo "--Starting SABnzbd (to generate config file)--" /usr/local/bin/SABnzbd.py -d -f /root/.sabnzbd/sabnzbd.ini echo "--Shutting down SABnzb--" /usr/bin/fetch "http://localhost:8080/sabnzbd/api?mode=shutdown" echo "*******2. Removing outdated files/folders*******" rm -rf /usr/local/lib/python2.5/site-packages/cherrypy rm -rf /usr/local/lib/python2.5/site-packages/sabnzbd rm -rf /usr/local/share/sabnzbdplus/interfaces rm -rf /usr/local/share/sabnzbdplus/language rm -rf /usr/local/bin/SABnzbd.py echo "--done--" echo "*******3. Extracting updated version of SABnzbd*******" cd /root/ echo "--Extracting upgrade--" tar -xzf SABnzbd* echo "--Extracted upgrade--" cd SABnzbd* echo "--done--" echo "*******4. Moving/Installing newer version of SABnzbd*******" mv cherrypy /usr/local/lib/python2.5/site-packages/cherrypy mv sabnzbd /usr/local/lib/python2.5/site-packages/sabnzbd mv interfaces /usr/local/share/sabnzbdplus/interfaces mv language /usr/local/share/sabnzbdplus/language mv SABnzbd.py /usr/local/bin/SABnzbd.py chmod 0555 /usr/local/bin/SABnzbd.py ln -s /usr/local/bin/python2.5 /usr/bin/python ln -s /usr/local/share/sabnzbdplus/interfaces /usr/local/bin/interfaces ln -s /usr/local/share/sabnzbdplus/language /usr/local/bin/language echo "--done--" echo "*******5. Deleting extra files*******" cd /root/ rm SABnzbd*.gz rm -rf SABnzbd* echo "--done--" echo "*******Done - SABnzbd should be installed*******"
Copy the file onto your FreeNAS box on one of the shares you setup.
Run the script from the command line.
Follow my other post on how to create and run scripts on FreeNAS.
No comments:
Post a Comment