.bash_profile para Sysadmins con servidores Plesk

Aqui os dejo este .bash_profile útil para sysadmins que administren servidores con Plesk.

Si quereis comentar que alias teneis en vuestro bash_profile es de agredecer, un saludo¡¡¡

Para usarlo copiar y pegar dentro del archivo .bash_profile

alias bye=”exit”
alias ns=”netstat -lpn”
alias pmysql=”cd /var/lib/mysql”
alias phttpd=”cd /var/www/vhosts”
alias tailall=”tail -f /var/www/vhosts/*/statistics/logs/error_log /var/www/vhosts/*/statistics/logs/access_log”
alias tailallerror=”tail -f /var/www/vhosts/*/statistics/logs/error_log”
alias tailallaccess=”tail -f /var/www/vhosts/*/statistics/logs/access_log”
alias maillog=”tail -f /usr/local/psa/var/log/maillog”
alias myadmin=”mysql -u admin -p`cat /etc/psa/.psa.shadow`”
alias mchk=”/usr/local/psa/admin/sbin/mchk –with-spam”
alias webpsa=”/usr/local/psa/admin/sbin/websrvmng -av”
alias ppass=”cat /etc/psa/.psa.shadow;”
alias que=”/var/qmail/bin/qmail-qstat”

echo “############################################################”
echo ” Shortcuts to your system ”
echo “############################################################”
echo
echo “To see your Plesk password, type: ppass”
echo
echo “To rebuild your Apache/Web Server configuration, type: webpsa”
echo
echo “To rebuild your Qmail/Mail Server configuration, type: mchk”
echo
echo “To see your Qmail/Mail Server queue, type: que”
echo
echo “To connect to your MySQL server as admin, type: myadmin”
echo
echo “To exit from shell, type: exit”
echo
echo “To see netstat command, type: ns”
echo
echo “To see all error/access log, type: tailall”
echo
echo “To see all error log, type: tailallerror”
echo
echo “To see email log, type: maillog”
echo
echo “To see all access log, type: tailallaccess”
echo
echo “To get rid of these messages/aliases, edit your /root/.bash_profile”
echo

Error en Plesk: Espacio insuficiente en /migration del servidor fuente de la migración

Vaya tela…. este error persiste y persiste en las versiones de Plesk …

Síntomas
La migración de un dominio Parallels Plesk Panel finaliza sin ningún error. De todas formas, el dominio no presenta ningún archivo html.

Causa

La causa de este problema es una cantidad de espacio de disco insuficiente en el directorio /migration del servidor fuente.

El Administrador de Migraciones de Parallels Plesk Panel carga el Agente de Migración al servidor fuente. El Agente de Migración es un script perl que realiza el volcado de los datos, usando /migration en el servidor fuente como directorio temporal para la migración. Si el directorio /migration ya no dispone de más espacio o se encuentra en una partición de tamaño limitado, los datos no se volcan debido a esta insuficiencia de espacio de disco.

Puede comprobar el tamaño de la partición ejecutando el comando “df -h”. Por ejemplo:

~# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/sda1 950M 254M 649M 29% / <- la partición es demasiado pequeña

/dev/sda2 4.7G 1.6G 3.1G 35% /usr

/dev/sda3 100G 60G 41G 60% /var

/dev/sda4 4.7G 5.5M 4.7G 1% /home

~#

La partición “/” donde se encuentra el directorio /migration es demasiado pequeña. Tar no puede volcar los datos debido a la insuficiencia de espacio de disco.

Resolución

Le recomendamos liberar el directorio /migration en el servidor fuente. También puede transferir el directorio a una partición de mayor capacidad.

Por ejemplo, creemos el directorio de migración en otra partición que tenga espacio suficiente:

source~# mkdir /home/migration

Entonces creeamos un vínculo simbólico:

source~# rm -rf /migration

source~# ln -s /home/migration/ /migration

Y yasta amigos a migrar dominios a saco de servidor a servidor….

Cisco Packet Tracer 5.2.1 Portable Linux/Windows – Descarga

Cisco Packet Tracer 5.2.1 Portable Multiplataforma - Descarga

Cisco Packet Tracer versión 5.2.1 es una versión de mantenimiento que incluye nuevas la funcionalidad y corrección de problemas conocidos en paquetes de la versión Tracer 5.2. Si bien no existen requisitos de planes de estudio que hacen necesario ir a la versión 5.2.1 de CCNA Discovery o CCNA Exploration CCNA Seguridad, puede que desee actualizar a la nueva versión para aprovechar de las mejoras incluidas en este comunicado.

Cisco Packet Tracer 5.2.1 apoya las actividades de autor en Packet Tracer 4.0, 4.1, 4.11, 5.0, 5.1 y 5.2. Packet Tracer 5.2 ha sido sustituido por Packet Tracer 5.2.1 y ya no está disponible para su descarga. Tenga en cuenta que la los dos últimos cursos de CCNA Discovery y CCNA Exploration planes de estudio Packet Tracer requiere la versión 4.11 como mínimo, y CCNA requiere las versiones 5.2 como mínimo. Los planes de estudios son totalmente compatibles con Packet Tracer 5.2.1

Usted puede descargar tanto el trazador de paquetes aplicación y tutoriales en un solo paquete de descarga. Sin embargo, debido a la el tamaño del archivo es más rápido para descargar la aplicación por sí misma, si eso es todo lo que necesita. Elija la opción de descarga adecuado para a sus necesidades.

Cisco Packet Tracer 5.2.1 Windows

Cisco Packet Tracer v5.2.1 Aplicación con Tutoriales
http://hotfile.com/dl/29877595/939f308/CISCO_PacketTracer_5.2.1_with_Tuturials.7z

Cisco Packet Tracer v5.2.1 Solo Aplicación
http://hotfile.com/dl/29878212/20df45d/CISCO_PacketTracer_5.2.1_no_Tuturials.7z

Cisco Packet Tracer v5.2.1 Solo Tutoriales
http://hotfile.com/dl/29878154/41da479/CISCO_PacketTracer_5.2.1_Tuturials_Only.7z

Cisco Packet Tracer 5.2.1 Linux
Para instalar paquetes Linux BIN, establecer permisos al ejecutable (chmod +x PacketTracer51_*.bin) y luego ejecutar el binario en la terminal.

Cisco Packet Tracer 5.2.1 para Linux (kernel versión 2.6 o superior) con Tutoriales
Este paquete instala Packet Tracer 5.2.1 en Ubuntu, OpenSUSE, Debian, Fedora, Mandriva, etc.
http://hotfile.com/dl/29876999/d3e3bca/PacketTracer521.tar.gz

Cisco Packet Tracer 5.2.1 Tutoriales Avanzados Multiplataforma
http://hotfile.com/dl/29877150/181d9b8/CISCO_PacketTracer_Advance_Tutorials.7z

Cisco Packet Tracer 5.2.1 Portable

CiscoPacket Tracer 5.2.1 Portable sin Tutoriales
Funciona para Windows sin dependencias. Usando WineHQ puede ser emulado en Linux, BSD y MAC OS X.
http://hotfile.com/dl/29878183/24d4372/CISCO_PacketTracer_5.2.1_no_Tuturials_Portable.7z

Cisco Packet Tracer 5.2.1 Portable con Tutoriales Avanzados
Funciona para Windows sin dependencias. Usando WineHQ puede ser emulado en Linux, BSD y MAC OS X.
http://hotfile.com/dl/29878471/d069db9/CISCO_PacketTracer_5.2.1_with_Advance_Tuturials_Portable.7z

Cisco Packet Tracer 5.2.1 Material Extra
http://hotfile.com/dl/29877133/ede6a24/CISCO_PacketTracer_Extra_Material.7z

Cisco Packet Tracer 5.2.1 Video
http://hotfile.com/dl/29877089/b6cb6d6/CISCO_PacketTracer_Video.7z

Buscar un archivo creado entre dos fechas en al shell de Linux

Te acuerdas que creaste un archivo entre el 15 de Septiembre de 2010 y el 30 de Septiembre de ese mismo año. ¿Cómo lo puedes buscar en Linux? Fácil, usando el comando find y estos truquitos:

Primera forma para versiones antiguas del comando find (< =2.4)

$ touch -d "15 sep 2010" /tmp/begin
$ touch -d "30 sep 2010" /tmp/end
$ find . -newer /tmp/begin -a \! -newer /tmp/end

Segunda forma (Para versiones nuevas de find (>=2.4), te lo puedes hacer con un solo comando mediante la opción ‘-newerXY’)

$ find . -newermt “15 sep 2010″ \! -newermt “30 sep 2010″)

Lo he necesitado varias veces y nunca me acordaba de la receta, así que la dejo aquí compartida para todos. ¡Que os aproveche!

Script para optimizar las tablas fragmentadas en MySQL

Bueno otro buen script a la huchaca… esta escrito en bash aparte de ser utilisisimo porque chequea las tablas fragmentadas y tambien chequea todas las bbdds en busca de tablas MyISAM o INNODB y las optimiza.

#!/bin/bash

VERSION="0.7.2"
log="$PWD/mysql_error_log.txt"

echo "MySQL fragmentation finder (and fixer) v$VERSION, written by Phil Dufault ( http://www.dufault.info/ )"

showHelp() {
echo -e "\tThis script only repairs MyISAM and InnoDB tables"
echo -e "\t--help or -h\t\tthis menu"
echo -e "\t--user username\tspecify mysql username to use\n\t\t\tusing this flag means the script will ask for a password during runtime, unless you supply..."
echo -e "\t--password \"yourpassword\""
echo -e "\t--host hostname\tspecify mysql hostname to use, be it local (default) or remote"
}

#s parse arguments
while [[ $1 == -* ]]; do
case "$1" in
--help|-h) showHelp; exit 0;;
--user) mysqlUser="$2"; shift 2;;
--password) mysqlPass="$2"; shift 2;;
--host) mysqlHost="$2"; shift 2;;
--) shift; break;;
esac
done

# prevent overwriting the commandline args with the ones in .my.cnf, and check that .my.cnf exists
if [[ ! $mysqlUser && -f "$HOME/.my.cnf" ]]; then
if grep "user=" "$HOME/.my.cnf" >/dev/null 2>&1; then
if grep "pass=" "$HOME/.my.cnf" >/dev/null 2>&1; then
mysqlUser=$(grep user= < "$HOME/.my.cnf" | awk -F\" '{print $2}'); mysqlPass=$(grep pass= < "$HOME/.my.cnf" | awk -F\" '{print $2}'); if grep "host=" "$HOME/.my.cnf" >/dev/null 2>&1; then
mysqlHost=$(grep host= < "$HOME/.my.cnf" | awk -F\" '{print $2}'); fi else echo "Found no pass line in your .my.cnf,, fix this or specify with --password" fi else echo "Found no user line in your .my.cnf, fix this or specify with --user" exit 1; fi fi# set localhost if no host is set anywhere else if [[ ! $mysqlHost ]]; then mysqlHost="127.0.0.1" fi# error out if [[ ! $mysqlUser ]]; then echo "Authentication information not found as arguments, nor in $HOME/.my.cnf" echo showHelp exit 1 fiif [[ ! $mysqlPass ]]; then echo -n "Enter your MySQL password: " read -s mysqlPass fi# Test connecting to the database: mysql -u"$mysqlUser" -p"$mysqlPass" -h"$mysqlHost" --skip-column-names --batch -e "show status" >/dev/null 2>&1
if [[ $? -gt 0 ]]; then
echo "An error occured, check $log for more information.";
exit 1;
fi

# Retrieve the listing of databases:
databases=( $(mysql -u"$mysqlUser" -p"$mysqlPass" -h"$mysqlHost" --skip-column-names --batch -e "show databases;" 2>"$log") );
if [[ $? -gt 0 ]]; then
echo "An error occured, check $log for more information."
exit 1;
fi

echo -e "Found ${#databases[@]} databases";
for i in ${databases[@]}; do
# get a list of all of the tables, grep for MyISAM or InnoDB, and then sort out the fragmented tables with awk
fragmented=( $(mysql -u"$mysqlUser" -p"$mysqlPass" -h"$mysqlHost" --skip-column-names --batch -e "SHOW TABLE STATUS FROM $i;" 2>"$log" | awk '{print $1,$2,$10}' | egrep "MyISAM|InnoDB" | awk '$3 > 0' | awk '{print $1}') );
if [[ $? -gt 0 ]]; then
echo "An error occured, check $log for more information."
exit 1;
fi
tput sc
echo -n "Checking $i ... ";
if [[ ${#fragmented[@]} -gt 0 ]]; then
if [[ ${#fragmented[@]} -gt 0 ]]; then
if [[ ${#fragmented[@]} -gt 1 ]]; then
echo "found ${#fragmented[@]} fragmented tables."
else
echo "found ${#fragmented[@]} fragmented table."
fi
fi
for table in ${fragmented[@]}; do
let fraggedTables=$fraggedTables+1;
echo -ne "\tOptimizing $table ... ";
mysql -u"$mysqlUser" -p"$mysqlPass" -h"$mysqlHost" -D "$i" --skip-column-names --batch -e "optimize table $table" 2>"$log" >/dev/null
if [[ $? -gt 0 ]]; then
echo "An error occured, check $log for more information."
exit 1;
fi
echo done
done
else
tput rc
tput el
fi
unset fragmented
done

# footer message
if [[ ! $fraggedTables -gt 0 ]]; then
echo "No tables were fragmented, so no optimizing was done.";
else
if [[ $fraggedTables -gt 1 ]]; then
echo "$fraggedTables tables were fragmented, and were optimized.";
else
echo "$fraggedTables table was fragmented, and was optimized.";
fi
fi

if [[ ! -s $log ]]; then
rm -f "$log"
fi

unset fraggedTables

Link | http://www.dufault.info/blog/a-script-to-optimize-fragmented-tables-in-mysql/