Archive for the ‘development’ Category
Posted by:
admin (set 21)
Oggi vi presento un comodo database ingrado di automatizzare il salvataggio dei nosri database mysql, in aggiunta allo script originale si può aggiungere al termine del salvataggio e compressione dei singoli databases in poche righe la copia su un server remoto e un messaggio di report nella nostra casella email.
#!/bin/bash
# Shell script to backup MySql database
# To backup Nysql databases file to /backup dir and later pick up by your
# script. You can skip few databases from backup too.
# For more info please see (Installation info):
# http://www.cyberciti.biz/nixcraft/vivek/blogger/2005/01/mysql-backup-script.html
# Last updated: Aug – 2005
# ——————————————————————–
# This is a free shell script under GNU GPL version 2.0 or above
# Copyright (C) 2004, 2005 nixCraft project
# Feedback/comment/suggestions : http://cyberciti.biz/fb/
# ————————————————————————-
# This script is part of nixCraft shell script collection (NSSC)
# Visit http://bash.cyberciti.biz/ for more information.
#Updated Sep – 2007 by CyberTek – http://www.cybertek.it
# ————————————————————————-
MyUSER="SET-MYSQL-USER-NAME" # USERNAME
MyPASS="SET-PASSWORD" # PASSWORD
MyHOST="localhost" # Hostname
# Linux bin paths, change this if it can't be autodetected via which command
MYSQL="$(which mysql)"
MYSQLDUMP="$(which mysqldump)"
CHOWN="$(which chown)"
CHMOD="$(which chmod)"
GZIP="$(which gzip)"
# Backup Dest directory, change this if you have someother location
DEST="/backup"
# Main directory where backup will be stored
MBD="$DEST/mysql"
# Get hostname
HOST="$(hostname)"
# Get data in dd-mm-yyyy format
NOW="$(date +"%d-%m-%Y")"
# File to store current backup file
FILE=""
# Store list of databases
DBS=""
# DO NOT BACKUP these databases
IGGY="test"
[ ! -d $MBD ] && mkdir -p $MBD || :
# Only root can access it!
$CHOWN 0.0 -R $DEST
$CHMOD 0600 $DEST
# Get all database list first
DBS="$($MYSQL -u $MyUSER -h $MyHOST -p$MyPASS -Bse 'show databases')"
for db in $DBS
do
skipdb=-1
if [ "$IGGY" != "" ];
then
for i in $IGGY
do
[ "$db" == "$i" ] && skipdb=1 || :
done
fi
if [ "$skipdb" == "-1" ] ; then
FILE="$MBD/$db.$HOST.$NOW.gz"
# do all inone job in pipe,
# connect to mysql using mysqldump for select mysql database
# and pipe it out to gz file in backup dir :)
$MYSQLDUMP -u $MyUSER -h $MyHOST -p$MyPASS $db | $GZIP -9 > $FILE
fi
done
# copy on remote server
echo '*******************Example_Backup*******************' > /root/mybackup.txt
echo \ >> /root/mybackup.txt
date >> /root/mybackup.txt
echo \ >> /root/mybackup.txt
echo '*********************Details*********************' >> /root/mybackup.txt
#ricordati che nel comando scp puoi non specificare la password se hai autorizzato una key sul sistema di destinazione
#diversamente dovrai farlo
scp /backup/mysql/* root@example.dom:/home/backup/example/mysql/
ls -oh /backup/mysql/ >> /root/mybackup.txt
echo '*************************************************' >> /root/mybackup.txt
#invia una email col report del lavoro eseguito
mail -s "Example Backup" example@example.dom < /root/mybackup.txt
#remove after upload
rm -f /backup/mysql/*
Posted by:
admin (set 11)
In questo articolo vi sottopongo il mitico vi omnipresente su ogni distribuzione linux. Per alcuni è estremo, e devo ammettere che non giudico male chi preferisce altri editor di console come nano o ne, ma cmq per chi volesse usarlo o per chi intende rispolverare i comandi ormai dimenticati ecco un breve ed utile riepilogo dei comandi:
vi [nome file]
SPOSTAMENTI CURSORE
[n]h j k l spostamenti cursore
^D sposta il cursore 12 linee in basso
^U sposta il cursore 12 linee in alto
^F cursore una pagina avanti
^B cursore una pagina indietro
G cursore alla fine del testo
[n]G cursore alla linea n
| cursore al primo carattere della linea
[n]| cursore al n carattere della linea
^G riporta sulla penultima riga delle informazioni
H cursore alla prima riga dello schermo
[n]H cursore alla n riga dello schermo
M cursore a centro schermo
L cursore all'ultima linea dello schermo
[n]L cursore al n ultima linea dello schermo
[n]w cursore alla parola successiva
W come w ma non tiene conto della punteggiatura
[n]b cursore alla parola precedente
B come b ma non tiene conto della punteggiatura
e cursore alla fine della parola in cui si trova
^ cursore al primo carattere non bianco
D cursore ad inizio linea ????
O cursore ad inizio linea ????
$ cursore a fine linea
RICERCA
(pattern) testo da cercare
/[pattern] cerca il tpattern in avanti
?[pattern] cerca il pattern indietro
n ripete ricerca in avanti
N ripete ricerca indietro
/[pattern]/n cursore n linee dopo il pattern
metacaratteri del pattern
^ all'inizio della riga
$ alla fine della riga
. qualsiasi carattere
[ ] racchiude dei caratteri
f[carattere] cerca il carattere nella riga corrente avanti
F[carattere] cerca il carattere nella riga corrente indietro
INSERIMENTI
i inserisce testo a sinistra del cursore
a inserisce testo a destra del cursore
A inserisce alla fine della riga
^U torna indietro di una parola in inserimento
@ in inserimento torna indietro di cio' che e' stato inserito
o inserimento su di una linea sottostante
O inserimento su di una linea sovrastante
Esc termina inserimento
CORREZIONI
[n]x cancella un carattere
r[carattere] rimpiazza il carattere originale con un altro
R rimpiazza tutti i caratteri dati fino a <ESC>
[n]s rimpiazza un carattere con una stringa
dw cancella una parola davanti al cursore
db cancella una parola dietro al cursore
dd cancella una linea
D cancella cio' che si trova sotto al cursore
cw sostituisce una parola
cf[carattere] cambia sulla riga corrente fino a (carattere) incluso
ct[carattere] come cf carattere escluso
cc permette di cambiare una linea
dL cancella tutte le linee dello schermo sotto il cursore
dG cancella dalla riga in cui si trova il cursore alla fine del file
df[carattere] cancella sulla linea corrente dal cursore fino al carattere compreso
dt[carattere] come df, carattere escluso
RIMEDIARE AGLI RRORI
u undo
U undo di linea
UNIONE DI LINEE
[n]J mette la linea sottostante in coda alla corrente
DUPLICAZIONE DI LINEE
[n]Y carica in un buffer la linea corrente
p ricopia le linee contenute nel buffer
recupera l'ultima cancellazione
MANIPOLAZIONE DI FILES
:w salva, continua
:w<nome> salva con nuovo nome, continua
:x,yw<nome> scrive le linee dalla x alla y sul file <nome>
:wq salva ed esce
ZZ salva ed esce
:q abbandona se non sono state fatte modifiche
:q! abbandona
:e <nome> entra in editor sul fine <nome>
:r <nome> inserisce nel testo il fine <nome> nella riga sotto il cursore
SEGNALIBRI
m<carattere> crea segnalibro
'<carattere> va a segnalibro
GESTIONE VIDEO
^L ridisegna video
z <return> mette la linea corrente all'inizio dello schermo
z. linea corrente in mezzo allo schermo
z- line acorrente alla fine dello schermo
A richeista di un lettore presentiamo quì il link ove scaricare il pacchetto del'editor di pagine web NVU. NVU è un editor visuale che permette ai neofiti e a chi vuole mettere in piedi una pagina web velocemente di evitare l'acquisizione dettagliata del linguaggio html. Il codice generato da NVU non è del tutto pulito come i professionisti vorrebbero, ma non è nemmeno malvagio come certi editor visuali commerciali.
Il link per il download del
package per Ubuntu Edgy è
qui.
Per un
screenshot del programma fai click
qui.
Posted by:
admin (ago 29)
Nel seguente script viene effettuato un backup di alcune cartelle tramite masterizzazione su dvd, al termine viene mandato un report via email all'indirizzo indicato. Si è utilizzata la modalità -M (append) inquanto il parametro -Z se avviato in maniera non interattiva non funziona correttamente in presenza di dati sul supporto, è possibile cmq provare ad utilizzare growisofs -use-the-force-luke=tty -Z anche in modalità non interattiva pur avendo già dei dati sul supporto.
Esempio:
Crea un file e rendilo eseguibile:
> touch /bin/dvdbackup.sh
> chmod 755 /bin/dvdbackup.sh
Aggiungi le seguenti istruzioni:
#!/bin/bash
# Rimpiazza le locazioni del programma con quelle del tuo sistema operativo
GROWISOFS=/usr/bin/growisofs
ECHO=/bin/echo
GREP=/bin/grep
MAIL=/bin/mail
today=`/bin/date +%A`
# Backup begins below
$ECHO "Creating $today backup" >> /tmp/backupoutput.tmp
$ECHO >> /tmp/backupoutput.tmp
$GROWISOFS -use-the-force-luke=tty -dvd-compat -M /dev/dvd -D -J -R -T -l
-graft-points -joliet-long -hide-joliet-trans-tbl
-iso-level 4 -speed=1 -overburn -V "$today Backup"
etc/mail=/etc/mail
var/spool/mail=/var/spool/mail
home=/home
root=/root >> /tmp/backupoutput.tmp 2>&1
# Modifica i percorsi di salvataggio quì sopra come da necessità
mycode=$?
$ECHO >> /tmp/backupoutput.tmp
$ECHO "Si è verificato un errore, codice errore: $mycode" >> /tmp/backupoutput.tmp
$ECHO >> /tmp/backupoutput.tmp
$ECHO "End of $today backup" >> /tmp/backupoutput.tmp
$GREP -i -v sleeping /tmp/backupoutput.tmp > /tmp/backupoutput.tmp2
$GREP -i -v formatting /tmp/backupoutput.tmp2 > /tmp/backupoutput.txt
$MAIL -n -s "Risultato del backup su DVD" usermail@domain < /tmp/backupoutput.txt
In crontab basta poi aggiungere la schedulazione per avviare in maniera riscorsiva il backup:
> crontab -e
Esempio di linea da aggiungere:
0 20 * * * /bin/dvdbackup.sh
I continui e ripetuti attacchi all'open source da parte Microsoft stanno a detta di Marten Mickos (direttore Esecutivo di Mysql AB) producendo un calo di credibilità della stessa azienda di RedMont. In questo articolo le opinioni in maggior dettaglio.
|
Google ha di recente rilasciato un interessante strumento di sviluppo per creare applicazioni Ajax in linguaggio Java.
|
La descrizione del prodotto lo potete trovare a questo indirizzo .
Il prodotto è in continua evoluzione e miglioramento, potete scaricarlo qui.