Sponsors

Google
- Epoch Time
A quick idea by Chris Rowe follow me @chrisrowe  •  Help spread the word and tweet about this site  •  What's the Epoch
Visualizzazione post con etichetta centos. Mostra tutti i post
Visualizzazione post con etichetta centos. Mostra tutti i post

Test IMAP command line

Dobbiamo testare che il mailserver funzioni correttamente senza configurare il client di post, possiamo farlo usando il telnet.
In blu i comandi da lanciare e in girigio la risposta del server:


[domenico@lbit-solution ~]$ telnet server.com imap
Trying 185.7.40.62...
Connected to serever.com.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE STARTTLS AUTH=PLAIN AUTH=LOGIN] Dovecot ready.
a1 LOGIN utente password
a1 OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS] Logged in
a2 LIST "" "*"
* LIST (\HasNoChildren) "." "Trash"
* LIST (\HasNoChildren) "." "Posta inviata"
* LIST (\HasNoChildren) "." "Sent"
* LIST (\HasNoChildren) "." "Posta indesiderata"
* LIST (\HasNoChildren) "." "Drafts"
* LIST (\HasNoChildren) "." "Posta eliminata"
* LIST (\HasNoChildren) "." "INBOX"
a2 OK List completed.
a3 EXAMINE INBOX
* FLAGS (\Answered \Flagged \Deleted \Seen \Draft $MDNSent)
* OK [PERMANENTFLAGS ()] Read-only mailbox.
* 8 EXISTS
* 0 RECENT
* OK [UIDVALIDITY 1404316555] UIDs valid
* OK [UIDNEXT 20] Predicted next UID
* OK [HIGHESTMODSEQ 1] Highest
a3 OK [READ-ONLY] Select completed..
a4 FETCH 1 BODY[]
* 1 FETCH (BODY[] {447}
Return-Path:
X-Original-To: sk
Delivered-To: utente@server.com
Received: from localhost (localhost [127.0.0.1])
        by web.server.com (Postfix) with ESMTP id DB08D7F48B
        for ; Wed,  2 Jul 2014 17:52:17 +0200 (CEST)
Message-Id: <20140702155221 .db08d7f48b="" web.server.com="">
Date: Wed,  2 Jul 2014 17:52:17 +0200 (CEST)
From: utente@server.com
To: undisclosed-recipients:;

welcome to unixmen mail server
)
a4 OK Fetch completed.
a5 LOGOUT
* BYE Logging out
a5 OK Logout completed.
Connection closed by foreign host.
[domenico@lbit-solution ~]$




MySQL UDF Perl Regular Expression


Leggi l'articolo sul BLOG LBiT:
http://blog.lbit-solution.it/2013/11/mysql-udf-perl-regular-expression/

Nel realizzare nuovi scraper per g4play.it Emanuele si è reso conto che la nostra istanza MySQL  non supporta le espressioni regolari, a lui non servono solo query di ricerca ma manipolazioni di dati complesse. Con estrema semplicità mi chiede di installare la libreria lib_mysqludf_preg, non è complicato, ma neanche così banale. Iniziamo subito con l'installazione dei pacchetti che ci serviranno:

  [root@mysqllbit lib_mysqludf_preg]# yum install pcre pcre-devel [root@mysqllbit lib_mysqludf_preg]# yum install make gcc gcc-c++ [root@mysqllbit lib_mysqludf_preg]# yum install mysql-devel

 Questo per evitare tutti gli errori relativi al compilatore, a pcre e mysql. Scarichiamo il paccheto da GitHub:

[root@mysqllbit lib_mysqludf_preg]# wget https://github.com/mysqludf/lib_mysqludf_preg/archive/testing.zip
[root@mysqllbit lib_mysqludf_preg]# unzip testing.zip

  ora lanciamo il configuratore

[root@mysqllbit lib_mysqludf_preg]# ./configure

  ci siamo risparmiati gli errori avendo installato preventivamente i pacchetti, l'unico messaggio a video con la parola ERROR è

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
  Possiamo rilassarci, avendo settato la password di root è normale che non riesca ad accedere. Ora installiamo:

[root@mysqllbit lib_mysqludf_preg]# make
[root@mysqllbit lib_mysqludf_preg]# make install
[root@mysqllbit lib_mysqludf_preg]# make installdb

ERROR 1548 (HY000) at line 5: Cannot load from mysql.proc. The table is probably corrupted
make: *** [uninstalldb] Error 1

  Sull'ultimo passaggio ho ricevuto errore di tabella corrotta, per questo ho dovuto prima "sistemare" le tabelle MySQL e poi rilanciare il make installdb

[root@mysqllbit lib_mysqludf_preg]# make installdb
/usr/bin/mysql -p <./uninstalldb.sql 
Enter password: 
cat installdb.sql | sed 's/\.so/.dll/g' >installdb_win.sql
if test -f .libs/lib_mysqludf_preg.dll; then  \
                /usr/bin/mysql -p <./installdb_win.sql; \
        else \
                /usr/bin/mysql -p <./installdb.sql;\
        fi
Enter password:
[root@mysqllbit lib_mysqludf_preg]# make test
cd test; make test
make[1]: Entering directory `/usr/local/lib/lib_mysqludf_preg/test'
/usr/bin/mysqltest -p --include=create_testdb.sql  --result-f...
Enter password:
ok
/usr/bin/mysqltest -p --include=create_testdb.sql  --result-f...
Enter password:
ok
/usr/bin/mysqltest -p --include=create_testdb.sql  --result-f...
Enter password:
ok
/usr/bin/mysqltest -p --include=create_testdb.sql  --result-fi...
Enter password:
ok
/usr/bin/mysqltest -p --include=create_testdb.sql  --result-f...
Enter password:
ok
/usr/bin/mysqltest -p --include=create_testdb.sql  --result-f...
Enter password:
ok
make[1]: Leaving directory `/usr/local/lib/lib_mysqludf_preg/test'

Finito, ora Emanuele potrà usare le espressioni regolari per manipolare i dati di g4play.it.

Script Queue mail QMAIL

Come al solito pubblico un articolo dopo aver avuto delle particolari necessità, questa volta dovevo mettere sotto monitoraggio il mail server, qmail.
Succedeva che per quelche motivo il DNS server al quale puntavo non riconosceva alcuni domini, il problema diventa serio quando un cliente prende l'hosting da me e lascia la posta su un'altro provider, configuo dominio e tutto va bene, fin quando perà le mail che partivano dal mio server restavano in coda.
Ci ho messo un po a capire che la mancata consegna della posta fosse dovuta da un record DNS non esatto.
Modificando il file /etc/resolv.conf e mettendo in testa il DNS di google tutto filava liscio.
Vista la brutta esperienza, considerando che gran parte dell'hosting offerto ospita siti di commercio elettronico, o comunque aziendiali, ho deciso di mettere un semplice script che possa avvisarmi quanso c'è coda e quando le mail non vengono processate.


G4PLAY

#!/bin/bash

# Verifico le mail in CODA e in CODA NON PROCESSATE

# SE LA CODA (Q) E' MAGGIORE DI 1 E LA

# CODA NON PREOCESSATA (QNP) MAGGIORE DI 0

# INVIO UNA MAIL IN FORMATO HTML



DOMINIO="lbit-solution.it"

DESTINATARIO="supporto"

NOMEDEST="Supporto LBiT"

DIR="/var/monitoraggio/script"



# CODA ATTIVA

/var/qmail/bin/qmail-qstat |grep -v not|awk '{print $4}' > $DIR/queue



# MAIL IN CODA NON PROCESSATE

/var/qmail/bin/qmail-qstat |grep -i not|awk '{print $8}' > $DIR/queuen



Q=`cat $DIR/queue`

QNP=`cat $DIR/queuen`

if [ $(cat $DIR/queue) -gt "1" ] || [ $(cat $DIR/queuen) -gt "0" ]

then

cat > /tmp/alertQueue.html <<DT

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<meta http-equiv="content-type" content="text/html; charset=windows-1250">

<title>Alert filesystem</title>

</head>

<body>

<h1 >MAIL IN CODA VERIFICARE IL MAIL SERVER Q=$Q QNP=$QNP</h1>

<h3>Attenzione, il mail server non riesce a smaltire o a consegnare alcune mail </h3>

<p><a href="http://www.lbit-solution.it/monitoraggio/index.php">Pagina di monitoraggio</a></p>



<br />

Ci sono <b>$Q</b> mail in coda e <b>$QNP</b> mail non processate. <br />

<br />

<p>

Di seguito le mail in coda:<br />

$( /var/qmail/bin/qmail-qread|tr -d '\011'|sed -e :a -e '$!N;s/\nremote//;ta' -e 'P;D'|sed -e 's/</mittente: /g' -e 's/>/ destinatario:/g' | while read queue; do

echo "$queue <br />"

done)

</p>

<br />



<h5><a href="http://www.lbit-solution.it">Mail send by LBiT soluzioni informatiche</a></h5>



</body>

</html>

DT



(cat <<EOCAT

Subject: [$(hostname)] Queue Mali Alert Q $Q QNP $QNP

MIME-Version: 1.0

Content-Type: text/html

Content-Disposition: inline

From:$(hostname) <no-replay@$DOMINIO>

Reply-To:$NOMEDEST<$DESTINATARIO@$DOMINIO>

EOCAT

cat /tmp/alertQueue.html) | /usr/sbin/sendmail supporto@lbit-solution.it

rm -f /tmp/alertQueue.html



fi

Finito lo script è stato messo in crontab e gira ogni 5 minuti, devo dire che diversi provider esterni hanno dei tempi lentissimi nel ricevere la posta, questo banale script mi consente di offrire un servizio migliore e di accorgermi di eventuali problemi prima del cliente.

LBiT soluzioni informatiche

Link and Search

Solo lei

Solo lei ha quel che voglio

So di esser pronto ed è già da un pò che ci penso ma tutto quel che so è che so bene con lei ma non capisco cosa intende fare dove vorrà arrivare. Non mi ha mai visto prima ma ora al mondo ci siamo solo io e lei, la conosco da un minuto l'ho appena trovata e già l'ho perduta resta una sconosciuta, un mistero e chissà se è vero quel che i suoi occhi mi stanno dicendo di lei, io lo spero e sta volta è per davvero e tutto questo perchè se puoi io so... può lasciarsi andare e l'accompagnerò e domani ti giuro che me ne andrò può lasciarsi andare e l'accompagnerò e poi ti giuro che sparirò...
Solo lei ha quel che voglio e sono io ciò che sta cercando.
Questa notte potrei darle il mondo potrei darle tutto ciò che cerca ciò di cui ha bisogno quindi molla il tipo che è con te o mi perderai, potresti non rivedermi mai più non si sa mai, non sa cosa sta rischiando pensa che stia scherzando ma sono io ciò che sta cercando, no di sicuro l'uomo che è con lei perchè questa serata spero l'abbia solo accompagnata, mi servon due minuti ma ti assicuro che verrà e questa notte durerà un'eternità, e il mondo gira solo perchè ora c'è lei solo per il suo sguardo che mi fa prendere il volo, muoio, la conosco appena e già vivo per ogni suo respiro ti giuro non ti prendo in giro e mentre l'ammiro mi accorgo quanto sia stupenda e hai sbagliato se pensi che m'arrenda...
Solo lei ha quel che voglio e sono io ciò che sta cercando.
Il mio intuito mi ha spinto e solo ora capisco perchè come un druido ho il fluido che fa per lei non conta quanto sia durato ma che sia stato qualcosa per cui vale la pena d'aver vissuto e quindi lascio che la storia abbia il suo corso naturale ma ti prego fammi capire perchè sto male perchè so che domani io mi sveglierò e sarò ancor del suo profumo intriso dal suo sorriso ucciso ma io sarò con la mia donna e lei col suo uomo visto che ho scoperto che è l'unica lei è la sola....
Solo lei ha quel che voglio e sono io ciò che sta cercando.

top