Backbox updater script I just finished...Hope you guys like it.

Started by n1tr0g3n_0x1d3, March 22, 2012, 11:14:07 PM

Previous topic - Next topic

n1tr0g3n_0x1d3

Any ideas or additions please add them or let me know, i'm not the best at bash scripts but I just make simple easy to use ones thats all


Download:  https://www.onlinefilefolder.com/4sFKabz9FEhh5N

Make sure to run     chmod +x bbox.sh    in terminal before running the script & then type   ./bbox.sh   or     sh bbox.sh    Thats all..

The script will run your normal apt-get update & apt-get upgrade & apt-get dist-upgrade along with updating all SVN's in your backbox directory. pretty simple!!

I hope you guys find it useful if not thanks for trying it out..  :)

ostendali

Not necessarily you need to open an xterm, so you can remove the xterm with option and just run sudo find.....
furthermore, you can optimize the find function, I don't know actually if all svn starts/end just like this but you can use wild character such as * to avoid the missing of some svn....
remove some echo as well....the more simple easy script will be more powerful.....avoid redundancies....
congrats anyway, the idea is not bad....
Happy Hacking!

PS>To make executable the script you need only +x and not 775 ;)

n1tr0g3n_0x1d3

Thanks ostendali, i changed the chmod +x in the post as well as took out the xterm window from opening. I'm not sure where to put the * so it doesn't miss any SVN updates as you suggested. If you could show me that would be great and i'll add it to the script. and the echos I have in there just to give some space between the sentences. Thanks for your help ostendali it is much appreciated!   :)

ostendali

it is fine....
regarding the wild character, it was suggestion in case if there were different svn directory names like .svn/ .svnxyz/ .svn-app/ etc... if it didn't miss any update which mean all svn's are populated in a single directory (.svn)...so it is OK...

weVeg

Se posso anche io consigliare delle cose:

if [ "$(id -u)" != "0" ]; then
  echo "This script must be run as root" 1>&2
  exit 1
fi


puoi farlo diventare semplicemente:

if [ $UID ]
then
echo "non hai permessi"  #  && gksudo  per chiedere direttamente la psw
      else
              echo "ok"

fi


le $STRING o le definisci all'inizio, oppure è inutile che le dichiari e le stampi, è fatica sprecata!


sudo dpkg --configure -a && sudo apt-get install -f && sudo apt-get update

qui, penso che tu voglia che se nel caso dpkg esca con un errore, forzare (-f install) la risoluzione delle dipendenze e poi fare un update... scritto contorto ma può tornare utile... Quindi non è detto che dpkg dia errore in primis, quindi si eseguirebbero operazioni inutili... la soluzione potrebbe essere:

sudo dpkg --configure -a
if [ $? -eq 0 ]  
then
echo "fatto"
else
sudo apt-get update && sudo apt-get -f install
fi

come suggerito ci sono troppi echo, infatti poi devi ripulire tutto con un clear... alla peggio cicla e stampa una riga vuota, ma sarebbe il rave dell'entropia =) ne bastano 1 o 2 per tenere ordinato le cose, e poi dormi un pò troppo =) nel senso che ci sono troppi sleep...
il apt-get update && apt-get upgrade && apt-get dist-upgrade -y
perchè concatenarli? in caso di errore che fare? ogni comando sulla sua riga con la sua gestione degli errori!!
Mi son preso un pò di tempo per questa
find $backbox/ -maxdepth 5 -type d -name ".svn" -type d -ls -exec svn update {}/.. \;
perchè non cercare direttamente in opt e usr che è dove risiedono gli .svn che servono? in più continua a cercare di aggiornare tutte le corrispondenze anche se sono state appena aggiornate, quindi forse prima sarebbe utile controllare che siano già aggiornati e nel caso aggiornarli, potresti anche qui ciclare, un while/until o un for come ti viene meglio, anche se secondo me, visto che non sono millemila svn, scriverei direttamente il percorso, o al limite, far leggere da un file .txt i percorsi, in modo che in futuro, si possano aggiungere i percorsi da aggiornare direttamente sul file...
Per comodità, potresti fare:
find / -maxdepth 5 -type d -name ".svn" >> svn.txt
così ti accorgi dove vai a pescare, e da qui ragioni su come meglio procedere....
Spero di esserti stato utile!
Bella!!
una voce libera è sempre liberatrice
under_r00t

n1tr0g3n_0x1d3

Great suggestions guys!  I put the wrong script at first I think the one I put a link to at first was over kill. The one I originally wanted to post was the one I just changed the original from in  my first post with the new link as I had 2 files with the same name and put out the wrong one un knowingly sorry about that... I will try to redo it and implement your guys ideas into the script & as i said I am no scripting guru as you guys are but it's how Ilearn and you guys have been a big help.

romeyro

Hi n1tr0g3n_0x1d3,

Thank you for the script :)
You added an extra w in wwww.n1tr0g3n.com at the top of your script  ;)
---
ROmeyro