Archivo de la categoría: Servidores

Como borrar archivos en serie en MacOs o Linux mediante un script

Encuentre y elimine archivos con un comando, La sintaxis básica del comando de búsqueda es la siguiente:

find dir-name criteria action

Donde,

  1. dir-name : – Define el directorio de trabajo como buscar en /tmp/
  2. criteria : Úselo para seleccionar archivos como “*.sh”
  3. action : La acción de búsqueda (qué hacer en el archivo), como eliminar el archivo.

Si desea eliminar varios archivos como ‘.jpg’ o ‘.sh’ con un comando de búsqueda, intente:

find . -name "FILE-TO-FIND" -exec rm -rf {} \;

O

find /dir/to/search/ -type f -name "FILE-TO-FIND-Regex" -exec rm -f {} \;

La única diferencia entre las dos sintaxis anteriores es que el primer comando también elimina directorios, mientras que el segundo comando solo elimina archivos. Donde, las opciones son las siguientes:

  1. -name "FILE-TO-FIND" : modelo de archivo.
  2. -exec rm -rf {} \; : Elimine todos los archivos que coincidan con el patrón de archivo.
  3. -type f : Solo haga coincidir archivos y no incluya nombres de directorio.
  4. -type d : Solo haga coincidir los directorios y no incluya los nombres de los archivos.

La versión moderna del comando de búsqueda también tiene la opción -delete . En lugar de usar el -exec rm -rf {} \;, usa el -delete para eliminar todos los archivos coincidentes. También podemos pasar explícitamente la opción -depth a find para procesar el contenido de cada directorio antes que el propio directorio. También es posible utilizar la opción -maxdepth para controlar descender en la mayoría de los niveles de directorios por debajo de los puntos de inicio. Por ejemplo, -maxdepth 0 significa aplicar únicamente las pruebas y acciones a los propios puntos de partida. Del mismo modo, podemos pasar el -mindepth al hallazgo. Significa no aplicar ninguna prueba o acción en niveles inferiores a los niveles (un número entero no negativo). Por ejemplo, -mindepth 1 significa procesar todos los archivos excepto los puntos de partida. Así que aquí hay una sintaxis simplificada:

find /dir/to/search/ -type f -name "FILES-TO-FIND" -delete
find /dir/to/search/ -type f -name "FILES-TO-FIND" -depth -delete
find /dir/to/search/ -maxdepth 2 -type f -name "FILES-TO-FIND" -depth -delete
youtube-dl

Descargar videos desde consola de comandos con Youtube-dl

Youtube-dl es la utilidad de linea de comandos más popular cunado se trata de obtener canciones o vídeos de Youtube sin esfuerzo. Un motivo de peso es que no solo permite hacerlo con Youtube, sino con otras plataformas.

INSTALLATION

Para instalarlo de inmediato para todos los usuarios de UNIX (Linux, macOS, etc.), escriba:

sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl
sudo chmod a+rx /usr/local/bin/youtube-dl

Si no tiene curl, puede usar alternativamente un wget reciente:

sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl
sudo chmod a+rx /usr/local/bin/youtube-dl

Los usuarios de Windows pueden descarcar un .exe archivo y colóquelo en cualquier lugar de su PATH excepto por %SYSTEMROOT%\System32 (e.g. no lo pongas en C:\Windows\System32).

También puedes usar pip:

sudo -H pip install --upgrade youtube-dl

Este comando actualizará youtube-dl si ya lo ha instalado. Ver el página de pypi  para más información.

Los usuarios de macOS pueden instalar youtube-dl con Homebrew:

brew install youtube-dl

O con MacPorts:

sudo port install youtube-dl
cpanel+amazon

Cómo hacer copias de Seguridad de Cpanel WHM con Amazon Web Services S3

Una labor indispensable en cualquier servidor es la automatización de las tareas de copias se seguridad. Se pueden realizar copias individuales desde las cuentas de los clientes, pero si estamos utilizando Cpanel podemos aprovechar una de sus últimos añadidos para crear un backup completo del sistema y alojarlo periódicamente en Amazon Web Services. Vamos a ver los pasos para configurar el proceso.

1. Crear un Bucket en Amazon S3

Vamos a utilizar el servicio de alojamiento de archivos Amazon S3. Necesitamos identificarnos en el panel

https://console.aws.amazon.com/s3/home

backup-cpanel-aws-s3-1

Pulsamos en crear nuevo bucket e indicamos el nombre. Debemos especificar también la región donde ubicaremos los archivos, recordando que si seleccionamos Irlanda nos aseguramos de cumplir con la ley de datos europea. No debemos utilizar mayúsculas ni espacios en el nombre del Bucket.

backup-cpanel-aws-s3-2

2. Configurar los Backups en Cpanel

posteriormente es necesario configurar los backups en Cpanel WHM con el recién creado bucket de Amazon S3. Entramos en WHM, opción Backup, y encontraremos un panel de opciones. Lo primero es activar la opción de backups e indicar si queremos copias de seguridad comprimidas, sin comprimir o incrementales, en las que se van copiando solo los archivos que se han modificado desde la copia anterior.

backup-cpanel-aws-s3-3

Después seleccionamos la periodicidad de los backups, que pueden ser diarios, semanales, mensuales o una combinación de estos.

backup-cpanel-aws-s3-4

El siguiente paso es seleccionar las cuentas de usuario de las que queremos mantener las copias de seguridad. Otra opción muy interesante es la de hacer un backup de los archivos de sistema, que nos permitirá recuperar el sistema completo en caso de desastre.

backup-cpanel-aws-s3-5

3. Conexión con Amazon S3

El último paso es el de la conexión de WHM con Amazon S3. Seleccionamos esta opción y pulsamos sobre Create New Destination

backup-cpanel-aws-s3-6

Indicamos el nombre que queramos para el destino, la carpeta y el bucket de destino en Amazon S3, así como los datos de login en sistema, el Access Key ID y el Secret Access Key.

backup-cpanel-aws-s3-7

Ambas claves pueden configurarse aquí.

Para terminar pulsamos en Save and Validate Destination. La copia de seguridad se ha configurado en el sistema, y podemos darle al botón de validate para comprobar que todo está ok.

Los backups comenzarán a subir desde WHM a Amazon S3 según la periodicidad que hayamos indicado. Si no queremos esperar podemos forzar el inicio con el siguiente comando, entrando como root en el servidor con conexión ssh:

/usr/local/cpanel/bin/backup –force

El comando devolverá el log que se está utilizando para la tarea del backup, algo como:

-bash-4.1# /usr/local/cpanel/bin/backup –force
info [backup] Started at Sun Sep 28 12:00:38 2014
info [backup] Process started in background.
info [backup] Log file: /usr/local/cpanel/logs/cpbackup/1411923638.log

Para poder ver si el proceso avanza correctamente analizamos el log con un comando como este:

tail -f /usr/local/cpanel/logs/cpbackup/1411920835.log

Y se puede usar el siguiente comando para ver si los archivos suben sin problemas

-bash-4.1# tail -f /usr/local/cpanel/logs/cpbackup_transporter.log

Lo que mostrará una salida como esta

-bash-4.1# tail -f /usr/local/cpanel/logs/cpbackup_transporter.log
[2014-09-28 12:01:43 -0500] info [cpbackup_transporter] cPanel Backup Transporter Queue Daemon started.
[2014-09-28 12:01:43 -0500] info [cpbackup_transporter] cpbackup_transporter – started
[2014-09-28 12:01:43 -0500] info [cpbackup_transporter] cpbackup_transporter – Checking queue for tasks
[2014-09-28 12:01:43 -0500] info [cpbackup_transporter] cpbackup_transporter – Processing next task
[2014-09-28 12:01:43 -0500] info [cpbackup_transporter] Instantiating Object
[2014-09-28 12:01:43 -0500] info [cpbackup_transporter] Starting a «copy» operation on the «Amazon Backup» destination ID «rxpoY3vkuP1gI9ZYHemw8abH».
[2014-09-28 12:01:43 -0500] info [cpbackup_transporter] Validating destination path /Backups/2014-09-28
[2014-09-28 12:01:44 -0500] info [cpbackup_transporter] Path exists
[2014-09-28 12:01:44 -0500] info [cpbackup_transporter] Uploading /backup/2014-09-28/accounts/cptest2.tar.gz to /Backups/2014-09-28/cptest2.tar.gz
[2014-09-28 12:01:44 -0500] info [cpbackup_transporter] Attempting to upload /backup/2014-09-28/accounts/cptest2.tar.gz to /Backups/2014-09-28/cptest2.tar.gz for destination: Amazon Backup
[2014-09-28 12:01:44 -0500] info [cpbackup_transporter] Upload attempt #1 starting for /backup/2014-09-28/accounts/cptest2.tar.gz to /Backups/2014-09-28/cptest2.tar.gz for destination: Amazon Backup
[2014-09-28 12:01:45 -0500] info [cpbackup_transporter] Successful transfer of /backup/2014-09-28/accounts/cptest2.tar.gz to /Backups/2014-09-28/cptest2.tar.gz for destination Amazon Backup

Una vez haya finalizado la copia de seguridad podemos entrar en nuestro panel de administración en Amazon S3 y veremos un listado de los archivos subidos

backup-cpanel-aws-s3-8

Con este proceso tendremos la posibilidad de recuperar la cuenta de un cliente o incluso nuestro sistema completo de una forma rápida y con un coste de almacenamiento reducido.