CyberTek - the future at the present!

Archive for the ‘development’ Category

Abilitare modulo pcntl in php

Posted by: (Mar 14)

Per abilitare il supporto pcntl in php5 (testato su Ubuntu 10.10) è necessario in prima battuta installare php5-cli e php5-dev, naturalmente si devono soddisfare tutte le dipendenze richieste dal sistema:

# sudo apt-get install php5-dev php5-cli

Dopo ci dobbiamo posizionare nel percorso dove si trovano i sorgenti del modulo che intendiamo compilare:

 # cd /etc/php5/cli/php5-5.3.3/ext/pcntl

 Il percorso potrebbe essere diverso, a seconda della distro e della versione del php (/etc/php5/cli/php5-xxxxx/ext/pcntl). Ma dopo possiamo passare ai passi finali:

# phpsize

# ./configure

# make

# make install

 

In alternativa a make install si può anche copiare a mano il modulo appena compilato:

# cp modules/pcntl.so /usr/lib/php5/shared_location_modules

 

Infine aggiungiamo il .ini per far caricare al php il nostro modulo:

# echo "extension=pcntl.so" > /etc/php5/conf.d/pcntl.ini

 

Non dimentichiamoci poi di riavviare apache per rendere effettive le nostre modifiche:

# /etc/init.d/apache2 restart

Published in: apache, development, php, tips, ubuntu

Script per salvataggio databases di mysql

Posted by: (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/*

Published in: development, mysql, scripts, tips

VI – manuale comandi

Posted by: (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

Published in: development, linux, shell, tips

NVU package per Ubuntu Edgy

Posted by: (Set 2)
 
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.
 
 
 
 NVU
 
 
Il link per il download del package per Ubuntu Edgy è qui.
Per un screenshot del programma fai click qui.
 
 

 

Published in: development, ubuntu

Script per backup su dvd

Posted by: (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 

Published in: development, scripts, tips

Microsoft perde credibilità presso sviluppatori

Posted by: (Giu 4)

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.

Published in: development, microsoft

Google Web Toolkit

Posted by: (Giu 1)

 

 Google Web Toolkit

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.

Published in: development, google, tech
Powered by pmar s.r.o.