Netejar /var/spool/mqueue automàticament

Després de l’artícle anterior (Netejar /var/spool/mqueue i inodes plens) he pensat que això es podria automatitzar d’alguna manera per tal que no es generi de nou una carpeta amb un volum desmesurat d’arxius.

He afegit una entrada al crontab amb la següent informació:

crontab -e

0 0 * * * /usr/bin/find /var/spool/mqueue -mtime +2 -exec /bin/rm -f {} \;

De manera que cada dia a les 0:00 netejarà els arxius que siguin més antics a dos dies (-mtime +2) de la carpeta /var/spool/mqueue

 

Netejar /var/spool/mqueue i inodes plens

Les últimes setmanes m’he trobat que el servidor local dedicat a servir les dades meteorològiques no podia escriure més arxius.

Si feia un df -k tenia espai per escriure a totes les seves particions, però en canvi a efectes pràctics no era així. Investigant, vaig descobrir que tenia espai per escriure però no hi havia espai disponible per més inodes 

10:~# df -hi
S. fitxers           Nodes‐i   En ús Lliures   %Ús Muntat a
/dev/sda1               743K    743K       1  100% /
tmpfs                   127K       5    127K    1% /lib/init/rw
udev                    126K     499    125K    1% /dev
tmpfs                   127K       1    127K    1% /dev/shm

Buscant, on pot estar perdent-se tot aquest espai en arxius petits descontrolats he trobat que a la carpeta  /var/spool/mqueue  s’acaba emmagatzemant arxius pendents d’enviament de correu electrònic (d’alertes, logs, etc)… i que al intentar eliminar-los amb un rm -r *   acabava amb un missatge d’error:

10:/var/spool/mqueue# rm * -r
-bash: /bin/rm: La llista d’arguments és massa llarga

Total, per fer neteja he seguit una petita guia (http://docs.oracle.com/cd/E23824_01/html/821-1454/mailadmin-138.html) i he fet el següent:

– Aturar el servei de correu electrònic momentàniament

10:/var/spool/mqueue# /etc/init.d/sendmail stop
Stopping Mail Transport Agent (MTA): sendmail.

– Moure la carpeta /var/spool/mqueue a una antiga per eliminar-la i crear una de nova amb els seus permisos corresponents.

10:/var/spool# mv /var/spool/mqueue /var/spool/mqueue-fixme
10:/var/spool# mkdir /var/spool/mqueue
10:/var/spool# chmod 755 /var/spool/mqueue
10:/var/spool# chown root:daemon /var/spool/mqueue

– Un cop fet això, eliminar tot el contingut de la carpeta temporal mqueue-fixme. El procès ha trigat com uns 15 minuts

10:/var/spool# cd mqueue-fixme/
10:/var/spool/mqueue-fixme# ls | xargs rm -f ‘{}’

Però en acabar torno a tenir espai de sobres per què la màquina segueixi mostrant la informació meteorològica

10:/var/spool/mqueue-fixme# df -i
S. fitxers           Nodes‐i   En ús Lliures   %Ús Muntat a
/dev/sda1             760368  176986  583382   24% /
tmpfs                 129303       5  129298    1% /lib/init/rw
udev                  128190     499  127691    1% /dev
tmpfs                 129303       1  129302    1% /dev/shm

Arrancar servei snmpd al reiniciar sistema

Si tens un servei snmpd en un servidor CENTOS, podria donar-se el cas que al reiniciar el sistema no arranqui o aixequi el servei snmpd.  Per defecte, quan instal·lem aquest servei no queda programat per què s’encengui.

Per fer-ho tindrem dues opcions:

La més habitual seria afegir aquest servei als sistema d’arrancada:

 chkconfig –level 345 scriptname on

Un altre opció, que he trobat i és potser més intuïtiva és simplement dir-li que

chkconfig NOMSERVEI on

chkconfig snmpd on

Amb això quan tornem a reiniciar el sistema hauríem de trobar que aixeca el servei automàticament.

Font: http://support.suso.com/supki/CentOS_Init_startup_scripts

 

Reiniciar DSL automàticament quan cau l’ADSL

Més sovint del que voldríem, almenys a mi em passa, l’ADSL queda com “col·lapsada” i deixa de funcionar.  La solució és ben fàcil, aixecar-te anar al router, reiniciar-lo i automàticament tornes a tenir internet.

El problema s’agreuja, quan tens algun petit servidor i estàs en remot treballant contra aquests serveis.   Mai havia tingut el temps, però aprofitant una tarda “relaxada”, he buscat i adaptat un script per què una màquina linux estigui monitoritzant si té internet o no, i en el cas que pel que sigui no hagi internet reiniciï la interfície DSL del router de manera que torni a restablir el servei ADSL evitant haver d’anar a casa a reiniciar el router.

Requisits: una màquina linux a casa. En el meu cas una màquina amb debian.

Crearem un arxiu reset-dsl.sh i li afegirem el següent contingut:

#!/bin/bash
# Definim on volem fer ping potser 8.8.8.8, una ip pública o la IP del nostre servidor DNS
desti=8.8.8.8
if `ping -c 5 $desti> /dev/null` ;then
 echo Destí està Online
 #Tenim internet i ens dirà "Desí està online"
else
 #No tenim internet per tant iniciarem el reinici del servei
 echo Destí està Offline
 echo Reiniciant ADSL
Router-DSL=1.2.3.4
 #Aquí haurem d'introduïr la IP del nostre router d'internet
 port=23
 user=NomUsuari
 #Aquí haurem d'introduïr el nom d'usuari administrador del nostre router: admin, 1234, adminttd, admintde... segons el prvoeïdor.
 pass=CLAU
 #Aquí la clau del nostre router.
 cmd1=sh
 cmd2="adsl connection --down"
 cmd3="adsl connection --up"
 cmd4=reboot
( echo open ${Router-DSL}
 sleep 1
 echo ${user}
 sleep 1
 echo ${pass}
 sleep 1
 echo ${cmd1}
 sleep 2
 echo ${cmd2}
 sleep 2
 echo ${cmd3}
 sleep 2
 echo ${cmd4} ) | telnet
fi

Amb aquest arxiu, tindrem automatitzada la connexió al nostre router ADSL i farà un reinici de la interfície DSL si aquesta no respòn.

Ara només ens faltarà modificar el crontab per què l’executi cada 15 minuts per exemple

crontab -e

*/15 * * * * /home/reset-dsl.sh

Potser per acabar de millorar-ho ens faltaria afegir que ens envii un correu electrònic un cop s’ha reiniciat per allò de tenir la estadística de quantes vegades s’ha de reiniciar l’equip al dia.

 

Reiniciar Mysql automàticament quan cau

Si estàs començant a utiltizar una màquina virtual o un servidor VPS amb pocs recuros, serà habitual que en algun moment caigui el servidor MySQL i que a partir de llavors les diferents pàgines web que tinguis en el teu servidor quedin fora de servei.   He trobat un petit script que et permet “controlar” l’estat del teu servei Mysql, de manera que si el detecta “aturat”, el reinicia i t’envia un correu electrònic.

Segurament l’script seria millorable però a mi de moment m’està resultant útil i el comparteixo aquí:

Primer de tot crearem un arxiu:

vi MonitoritzacioMysql.sh

I copiarem el següent contingut:

****
#!/bin/bash
/usr/bin/mysqladmin ping -pLATEVACONTRASSENYA| grep ‘mysqld is alive’ > /dev/null 2>&1
if [ $? != 0 ]
then
sudo /etc/init.d/apache2 restart;
sudo /etc/init.d/php-fpm restart;
sudo /etc/init.d/mysql restart;
echo MysqlReiniciat | mail -s AlertaMySQL elteumail@domini.cat
fi

En aquest script estarem primer de tot validant que el servei mysqld estigui viu. Si és així no farà res. En cas contrari ens reiniciarà l’apache, el php i el mysql.  A més, ens enviarà un correu electrònic a la nostre bústia. Serà important que tinguem instal·lat en el nostre equip VPS la utilitat mail (apt-get install mailutils).

Un cop fet això, caldrà donar-li permisos d’execució a l’arxiu que hem creat:

chmod +x MonitoritzacioMysql.sh

I per últim, modificarem el cron del nostre equip per tal que executi aquest script cada 5 minuts:

crontab -e

*/2 * * * * root sh /root/MonitoritzacioMysql.sh

Amb això ja ho tindrem tot fet. Recomano de totes maneres, provar manualment d’aturar el servei mysql i esperar uns minuts per veure com s’executa el procès i ens avisa per correu electrònic que s’ha reiniciat el servei.  Ara només ens quedarà mirar els logs del servidor amb calma per què no es produeixin reiniciades automàtiques del sistema.

 

 

 

 

 

 

 

Client Zabbix per pfsense

Per monitoritzar un tallafocs pfsense (2.1) mitjançant zabbix (2.2) els passos seran els següents:

  • Identificar-nos en el nostre tallafocs pfsense
  • Anar a System / available Packages (https://fw.local/pkg_mgr.php) i cercar el paquet Zabbix-2 Agent (zabbix2-agent-2.2.1 pkg v0.8_0),
  • Un cop instal·lat caldrà anar a Services / Zabbix-2 Agent i configurar els paràmetres segons la nostre configuració:
    • Activar l’agent
    • Server: IP del servidor Zabbix de la nostre xarxa
    • Server Active: IP del servidor Zabbix de la nostre xarxa
    • Hostname: nom exacte com hem creat o com crearem el host a monitoritzar (fw.local per exemple).
    • Listen IP: 0.0.0.0 per què ens escolti totes les IPs
    • Listen Port: 10050 el port d’escolta.
  • Desarem, i anirem a Status/ Services (https://fw.local/status_services.php) per validar que l’agent zabbix_aggentd està en marxa -en cas contrari apretarem el botó “play” per què s’activi).

A partir d’aquí haurem de mirar els logs de l’agent zabbix al pfsense per validar si tot és correcte.
Trobarem l’arxiu de log a: /var/log/zabbix2/zabbix2_agentd.log
Trobarem l’arxiu de configuració a: /usr/pbi/zabbix22-agent-amd64/etc/zabbix22/zabbix_agentd.conf

i l’arxiu de configuració meu ha quedat així per què funcioni:

Server=IPLOCAL-Zabbix
ServerActive=IPLOCAL-Zabbix
Hostname=fw.local
ListenIP=0.0.0.0
ListenPort=10050
RefreshActiveChecks=120
#DebugLevel=3
PidFile=/var/run/zabbix2/zabbix2_agentd.pid
LogFile=/var/log/zabbix2/zabbix2_agentd.log
#LogFileSize=1
#Timeout=3
#BufferSend=5
#BufferSize=100
#StartAgents=5

Un cop fet aquests passos, només caldrà crear el host al nostre servidor zabbix tenint cura de definir amb el mateix nom “dns” a l’entrada del client zabbix per què el pugui trobar. Passat uns minuts veurem que ha sincrontizat correctament.  En cas de problemes, el millor és mirar l’arxiu de log de l’agent zabbix al nostre pfsense i ens donarà pistes de quin problema té.

Canvi d’ús horari a centos

Ja m’ha passat dues vegades en els últims dies, de trobar-me una màquina amb #centos i que tingui un ús horari diferent a on estem, amb el que l’anàlisi de e logs es fa difícil de seguir.

Deixo aquí les sentències d’actualització per si em trobo per tercera vegada un cas similar:

Eliminem la configuració horària de l'equip: 

#rm -f /etc/localtime

Afegim la configuració del nostre ús horari

# ln -s /usr/share/zoneinfo/Europe/Madrid /etc/localtime

I comprovem que realment és així:

# date
jue may 30 13:30:10 CET 2013

Problemes amb els gràfics de Cacti

Si un cop instal·lat CACTI, veieu que no us genera gràfics, ni tans sols per al vostre host, potser calgui refer la memòria cau… en el meu cas m’ha passat en un parell d’ocasions i ho he resolt amb duuna sentència:

1. anar a la ruta a on tinguem els fitxers públics del cacti; en el meu cas a /usr/local/share/cacti

2. executar -com a root-:  # php –q poller.php

I un cop fet això, si tot va bé, ja veurem gràfics en el nostre sistema.

 

 

 

Actualitzant de Lenny a Squeeze

Vacances sempre és un bon moment per actualitzar aquelles màquines que tens en producció i fa temps que no mires. És el cas d’un servidor amb debian que tenim per monitoritzar  la xarxa i fer sde servidor web per l’estació meteorològica.   Funciona tan bé, que feia mesos que no havia entrat en ella i s’havia quedat sense espai en disc.  La màquina inicialment era una debian 4.0 ETCH, que ja vaig actualitzar  a la versió 5 (Lenny) en el seu dia (l’any passat per vacances suposo), i que avui m’he llençat a la piscina i he actualitzat a la versió 6.0 (Squeeze).

Per fer l’actualització només cal fer dues coses: la primera actualitzar els repositoris del sources.list

# vi /etc/apt/sources.list

i substituir tot els “lenny” per “squeeze” per que quedi tal que així:

deb http://ftp.es.debian.org/debian/ squeeze main
deb-src http://ftp.es.debian.org/debian/ squeeze main
deb http://security.debian.org/ squeeze/updates main
deb-src http://security.debian.org/ squeeze/updates main
deb http://volatile.debian.org/debian-volatile squeeze/volatile main
deb-src http://volatile.debian.org/debian-volatile squeeze/volatile main

Un cop modificat i gravat el fitxer actualitzar la catxé i llençar l’actualització:

# apt-get update
# apt-get install apt dpkg aptitude
# apt-get dist-upgrade

Reiniciar la màquina i tot funcionant i actualitzat.   Altres sistemes operatius haurien d’aprendre d’aquesta facilitat (tan econòmica com de procediment).

La guia més detallada per seguir els passos d’actualització està a: http://www.cyberciti.biz/faq/apt-get-upgrade-debian-lenny-5-to-debian-6-squeeze/

 

Sincronitzar ipad, ipod sense itunes, és possible?

Ahir vaig actualitzar el winamp en un dels ordinadors que tinc, i tafanejant les diferents opcions de configuració que té vaig adonarme’n que permet sincronització i importació amb la biblioteca i-tunes.  Aquest fet em va fer pensar, hi haurà alternatives per sincronitzar aquest aparells amb una eina que no sigui l’itunes.

Doncs sí, googlejant una mica he trobat tres alternatives que tenen força bona pinta:

  • www.winamp.com, que ja l’he comentat abans. Un reproductor que fa uns anys tothom coneixia i feia servir, i que em dona la sensació que ha anat a menys amb els anys. Jo el faig servir bàsicament per escoltar ràdios “on-line”.
  • www.doubletwist.com, eina gratuïta que està disponible tant per windows com per mac. A més permet sincronitzar tan ipods/ipads com mobils amb android i les seves aplicacions. Té molt bona pinta.
  • http://projects.gnome.org/rhythmbox/ eina per sincronitzar per a l’escriptori gnu gnome…
  • https://wiki.ubuntu.com/LucidLynx eina per sincronitzar al sistema operatiu ubuntu

M’ha sorprès gratament trobar que també hi ha utilitats per als “linuxs”.

Visualitzar un fitxer .htaccess

Els fitxers .htaccess els fan servir servidors web com Apache per tal de controlar els permissos d’accés a aquelles carpetes publicades.  Ja n’he parlat alguna vegada per aquí de les diferents opcions per modificar-los.

Avui però m’he trobat amb un petit problema. Arrel de l’actualització del blog, he hagut d’actualitzar un .htacces i m’he trobat que el client ftp que faig servir (filezilla per mac), no visualitzava el fitxer .htaccess al servidor.            Misteris, s’havia desactivat la opció de veure aquests fitxers (pestanya servidor / forçar mostrar els fitxers ocults).   Resolt aquest petit incident m’he trobat amb un altre.    Amb el MAC no podia visualitzar el fitxer descarregat.   !!!  No és la primera vegada que faig aquesta tasca, o sigui que en alguna actualització recent s’ha canviat més coses de les que s’avisaven.    Així que de nou executar en el terminal la sentència:

defaults write com.apple.Finder AppleShowAllFiles YES

Per poder visualitzar tots els fitxers ocults amb el FINDER.   Tot i així, he acabat desactivant la opció ja que es veuen a més altres fitxers de control del sistema que poder millor no veure per evitar possibles accidents (.DS_Stores…). I per què he vist que amb el textmate es pot obrir fitxers ocults que no veus amb el finder.

Habilitar la gestió de packets a un pfsense embedded

Si tens un sistema de tallafocs pfsense en un sistema embedded et pot interessar afegir algun paquet.  Això en una versió instal·lada en un PC o equip amb disc dur es pot fer sense cap problema… però en canvi de sèrie amb els equips amb targetes CompacFlash o “embedded”, no es pot. Per fer-ho, cal fer alguna acció de “configuració” però que dona bons resultats:

Primer fer que el sistema de fitxers estigui en mode lectura/escriptura executant la sentència via consola: /etc/rc.conf_mount_rw

Per després tornar-lo a mode solo lectura es fa mitjançant la sentència: /etc/rc.conf_mount_ro

I per habilitar la descàrrega el que farem serà canviar el mode de configuració del sistema escrivint a la consola: echo pfSense > /etc/platform

Un cop tinguem descarregats els paquets que volguem, podem tornar al mode “embedded”:echo embedded > /etc/platform

En tots els casos per què siguin efectius els canvis s’ha de salvar i reiniciar el tallafocs.

Untangle

Si necesites un proxy-gateway que filtri el tràfic de les teves xarxes i tenir una mica controlat als usuaris, una opció és Untangle.

És un programari GNU que conté un conjunt d’aplicacions integrades que permetran controlar el tràfic d’entrada i sortida a la xarxa, permet filtrar spam, contingut de pàgines webs, accesos remots…i moltes altres coses.

The best open source projects, integrated and made easier for spam blocking, web filtering, remote access and more

No l’he probat, però si ho faig, ja comentaré quines sensacions dona.

El Sr. Torvalds treballa amb Mac!!

Doncs sí,  ja fa temps que es va publicar per internet, però jo m’entero avui. Linus Torvalds, el pare de Linux treballa amb Machintosh.   Obviament el software que fa correr darrera no té per què ser forçosament programari propietari, però fa molta gràcia el fet se daber que un personatge tan important i influent a la comunitat GNU treballa amb una arquitectura que es tan “tancada”.

La notícia que he captat avui (Torvalds takes bite of Mac mini) fa referència a que ha comprat un Mac Mini pMac Minier a la seva familia. Però tirant del fil(Torvalds switches to Apple), ell parla que la seva màquina de treball principal és un G5, per la potència i fiabilitat que li dona als procesadors PowerPC de IBM.

Per mí lo important de la notícia és la ratificació de que en el fondo les màquines apple són algo més potents i fiables que els PC’s, res més, lo important després és conèixer a fondo el sistema operatiu i implementar-ho o configurar-ho amb les millors eines possibles.