Kako važim za osobu koja je zavisna od update-a softvera (čitaj: ludak koji na svakih 5 minuta izvršava apt-get update :-) ), i kako koristim BackTrack 4, jedan od svakodnevnih zadataka mi je i update Metasploit Framework-a, SET-a, itd…

Iz prostog razloga što sve to oduzima vreme, kojeg je sve manje, (dobro, iz zbog ljubavi prema Shell scripting-u), odlučio sam da taj proces automatizujem.

Evo koda:

#!/bin/sh

# promenljive
date=$(date +%Y-%m-%d)
time=$(date +%H:%M:%S)

log_file="/var/log/bt-update.log"
path="/pentest/exploits"
applications="SET exploitdb framework3"

echo "[$date] $time
-------------------------" >> $log_file

# foreach
for app in $applications
do

/usr/bin/svn update $path/$app
echo "[+] Update-ujem $app" >> $log_file

done
echo "Update uspesno izvrsen!" >> $log_file

Skriptu sačuvajte kao npr. bt-update.sh. Potom, skripti moramo dati ovlašćenja za izvršavanje.

chmod 755 bt-update.sh

Istu premeštamo u direktorijum /usr/bin (ili, u neki drugi, koji se nalazi u putanji), a potom kreiramo log fajl – u našem primeru to je /var/log/bt-update.log

mv bt-update.sh /usr/bin/bt-update
touch /var/log/bt-update.log

Nakon ovoga, komandom bt-update ćete pokrenuti update proces putem svn-a, a isti će biti logovan u fajlu /var/log/bt-update.log. Ukoliko želite da update proces potpuno prepustite računaru (što Vam i preporučujem), kreirajte novi cronjob:

crontab -e

Komanda:

0 */2 * * * /usr/bin/bt-update

Na kraju, restartujte Cron deamon:

service cron restart

Izgled log fajla:

[2010-07-10] 18:36:30
-------------------------
[+] Update-ujem SET
[+] Update-ujem exploitdb
[+] Update-ujem framework3

Update uspesno izvrsen!