Patcha din java app i runtime (från jdk 1.4 och uppåt). Tyvärr ingen gratis programvara – men den verkar klara en hel del.
http://www.zeroturnaround.com/javarebel/features/
Känns som en klart användbar ”liten pryl”.
Stefan Ståhlsparre har bl a skrivit följande inlägg på jsolutions.se.
Patcha din java app i runtime (från jdk 1.4 och uppåt). Tyvärr ingen gratis programvara – men den verkar klara en hel del.
http://www.zeroturnaround.com/javarebel/features/
Känns som en klart användbar ”liten pryl”.
Om man går in på XFire’s hemsida så möts man av informationen att det finns ett nytt projekt som är att betrakta som XFire 2. Det är en sammanslagning av Celtix och Xfire och benämns CXF.
Behövde spara undan lite saker så jag satte ihop ett backup-skript som körs från crontab varje natt.
Enkelt skript som bör kunna användas som template för många backuper i allmänhet.
Backupen görs i följande steg:
1) samlar ihop filer i tar arkiv
2) komprimerar arkiven (gzip)
3) krypterar arkiven med GnuPG (gpg)
4) skickar filerna (ftp i detta fall)
(Krypteringen i steg 3 komprimerar även, så gzip steget (2) är egentligen onödigt i detta fall.)
Backupen sparas för varje veckodag. D.v.s. det tar en vecka innan nattens backup skrivs över igen.
backup.sh (main skriptet):
#!/bin/sh
# substitute ”BACKUPDIR” and ”FILEROOTDIR” according to your environment
echo ”Starting backup job”
cd /”BACKUPDIR”
# clean up last run
rm -f *.gz
rm -f *.gz.gpg
#Get day of week
DAY_OF_WEEK=$(date +%A)
echo ”Creating tar files”
cd /”FILEROOTDIR”
tar -cf /”BACKUPDIR”/backuparchive.$DAY_OF_WEEK.tar ”SOMESUBDIR” ”SOMESUBDIR”
# compress files
cd /”BACKUPDIR”
gzip -f *.tar
# encrypt file with GnuPG
./gpg_encrypt.sh /”BACKUPDIR”/backuparchive.$DAY_OF_WEEK.tar.gz
echo ”Sending files to ftp”
# ftp files
ftp -ui < ftpscript
echo ”Backup job done”
#script end
crontab entry’t:
# backup every night
0 1 * * * /”BACKUPDIR”/backup.sh >> /”BACKUPDIR”/backup.log 2>&1
gpg_encrypt.sh (encrypt skriptet):
cat passphrase.txt | gpg –batch –yes –passphrase-fd 0 –symmetric –cipher-algo AES256 $1
# notera att du måste ha en lösenordsfras i filen passphrase.txt
ftpscript:
open ftp.site.com
user ”name” ”passwd”
passive
cd backup
mput *.gpg
bye
Om du sedan vill avkryptera din backup
gpg_decrypt.sh
cat passphrase.txt | gpg –passphrase-fd 0 –yes –decrypt-files *.gpg
# samma lösenordsfras i filen passphrase.txt som du hade vid encrypt
Att använda passphrase på detta sätt är inte jättesäkert. GnuPG rekommenderar nycklar.
GnuPG var lite knöligt att få igång. man gpg gav 2000 rader med en massa olika styrparametrar och inställningar. På ”Nätet” finns en hel del exempel att hämta.
Laddade ner version 8.2 på min Windows Laptop för en liten test.
Databasen var lätt att installera och komma igång med. Det följer också med grafiska verktyg där det mesta kan göras. Om man har arbetat med t.ex. Oracle så känner man snabbt igen sig när det gäller teknisk uppbyggnad och syntaxer.
Postgres använder “lyssnare” som skapar användarprocesser för varje uppkoppling mot databasen, vilket är ett beprövat koncept som känns igen från t.ex. Oracle.
Gjorde även en liten “tabell insert” test med 4 miljoner poster från en loopande procedur (autocommit off). Insert’en tog 115 sekunder på min Windows Laptop. Körde proceduren 4 ggr (dvs skapade totalt 16 miljoner poster). Skapade också ett icke unikt index av typen btree det tog 4.5 minuter.
Man bör stänga av autocommit om man vill ha prestanda. Det görs genom att editera filen psqlrc. Man kan också köra kod under en startad transaktion.
Postgres verkar fungera väl och har TeraByte databaser som referens. Finns en hel del lyckade benchmarks vad gäller prestanda o.s.v.
Tycker däremot att namnet känns lite ”tungvrickande” det får dom gärna byta.
Stefan Ståhlsparre