Archivo etiqueta ftp

Recuperar las claves de nuestros FTPs en Plesk

Recuperar una clave de FTP en PLESK es una tarea muy común por lo que para ello ejecutaremos la siguiente sentencia SQL sobre nuestra tabla PSA de PLESK.  Obtendremos un resumen con el nombre del dominio, usuario, clave, directorio home del ftp y la cuota en MB asignada al usuario del FTP.

mysql -u admin -p
2.password: *******
3.mysql> use psa
SELECT
sys_users.login AS usuario,
accounts.password AS clave,
sys_users.home AS home,
sys_users.quota/1048/1024 AS cuota_en_mb
FROM sys_users
LEFT JOIN accounts on sys_users.account_id = accounts.id
ORDER BY sys_users.home ASC;

, , , , , ,

No hay Comentarios

Shell Script para hacer copias de seguridad de nuestras bases de datos con ncftpput.

Pues ya estoy aquí de nuevo para escribir un shell script que realiza una copia de seguridad de nuestras Bases de Datos y mediante ncftpput las enviamos a nuestro servidor FTP.

# DATOS
SERVIDOR=GENTOO-VPS
FECHA=$(date +"%m-%d-%Y") # mm-dd-yyyy
EMAIL=su@email
ASUNTO="Backup SQL"
TMP=/home/backup/tmp

# DATOS BD
BD_USUARIO=root
BD_CLAVE=*******

# DATOS FTP
NCFTP="/usr/bin/ncftpput"
FTP=ftp.dominio.com
FTP_USUARIO=user
FTP_CLAVE=******
FTP_DESTINO="./servidores/$SERVIDOR/MySQL/"

for BD in `mysql -u$BD_USUARIO -p$BD_CLAVE -e "show databases" -B -N`
do
    mysqldump -u$BD_USUARIO -p$BD_CLAVE $BD > $TMP/$BD-$FECHA.sql
    $NCFTP -m -u $FTP_USUARIO -p $FTP_CLAVE $FTP $FTP_DESTINO/$BD/ $TMP/$BD-$FECHA.sql
    rm -f $TMP/$BD-$FECHA.sql
done

mail -s "$ASUNTO - $FECHA - $SERVIDOR" $EMAIL

Para optimizar la tarea podemos incluirla en nuestro crontab e incluimos la siguiente linea con la programación de la tarea y donde está ubicado nuestro script. Se ejecutará a las 2 de la madrugada todos los días:

crontab -e
0       2       *       *       *       /home/backup/backup-bd-diaria.sh

, , , , , , ,

No hay Comentarios

Creando nuestras copias de Seguridad con ncftpput

NcFTP fue creado en 1990 y fue como quién dice el primer cliente FTP en aparecer. Una de las ventajas de ncftp es que trabaja con la mayoría de sistemas operativos (Windows, Linux, Unix, Mac OS, BSD, etc …), es muy rápido, ofrece una gran cantidad de opciones y es muy sencillo de usar.

Para poder crear nuestras propias copias de seguridad vamos a usar un comando que trae el propio paquete ncftp llamado ncftpput y nos permitirá cargar ficheros y directorios a un ftp remoto de una forma sencilla y rápida. Su uso es el siguiente:

ncftpput –R –v –u "usuario" -p "clave" ftp origen destino

Para que podamos entenderlo explicaré de forma breve que significa cada opción:

-u "usuario" -> Usuario con el que conectamos al FTP.
-p "clave" -> La clave con la que conectamos al FTP.
-v -> te mostrara el progreso de la carga (verbose mode)
-R -> modo recursivo y nos copiará subdirectorios.
ftp -> aquí indicaremos nuestro servidor de FTP.
origen -> los ficheros/directorios que queremos copiar.
destino -> directorio del FTP donde se cargarán los ficheros.

Ahora que conocemos un poco más a fondo el comando ncftpput lo que vamos hacer es crearnos nuestro propio Shell Script que hará nuestras copias de seguridad. Este Shell Script de ejemplo nos permitirá hacer nuestra copia de seguridad de los ficheros del TeamSpeak Server a nuestro propio servidor FTP.

# configuraciones
FTP_SERVIDOR="ftp.nuestro-servidor-ftp.com"
FTP_USUARIO="usuario"
FTP_CLAVE="clave"
FTP_DESTINO="./backups/"
DIRECTORIO_LOCAL="/home/backup/"
FECHA=`date '+%d%m%Y-%H%M'`

# BACKUP DE NUESTRO TEAMSPEAK
tar czf $DIRECTORIO_LOCAL/teamspeak-$FECHA.tgz /etc/teamspeak2-server/server.ini /var/lib/teamspeak2-server/server.dbs
printf "fichero teamspeak-$FECHA.tgz creado.\n"

# ENVIAMOS A NUESTRO FTP
ncftpput -R -m -u $FTP_USUARIO -p$FTP_CLAVE $FTP_SERVIDOR $FTP_DESTINO $DIRECTORIO_LOCAL/teamspeak-$FECHA.tgz

El shell script ha sido probado correctamente en Gentoo y Fedora Core 5.

Como veis es bastante sencillo y si lo mejoramos podremos crearnos nuestras propias copias de seguridad tanto de bases de datos, correo, web, etc … luego solo tendríamos que añadirla a nuestro crontab para que la ejecute periódicamente.

Creando copias de seguridad de nuestras Bases de Datos con ncftpput.
Más información sobre el comando ncftp en http://www.ncftp.com/ncftp/

, , , , , , , , , , , , ,

No hay Comentarios