# Snippets

Snippets útiles

# SQL snippets

Snippets útiles para consultas SQL

#### Copia de eventos en intervalos de tiempo

> DROP TEMPORARY TABLE IF EXISTS temptab;  
> CREATE TEMPORARY TABLE temptab ( hora TIME );
> 
> DELIMITER //
> 
> FOR i IN 1..55  
> DO  
>  SET @HOUR = 8+TRUNCATE(i/4,0);  
>  SET @MINUTE = (i\*15)%60;  
>  SET @horaCompleta = CONCAT(@HOUR, ':', @MINUTE, ':00');  
>  INSERT INTO temptab(hora) VALUES(@horaCompleta);  
>  INSERT INTO events(`name`,`type`,`dateFrom`,`dateTo`,`time`,`weekdays`,`devices`,`data`)  
>  VALUES(  
>  CONCAT('MarketPuertoRico-AvisoNatural',i),  
>  'media',  
>  '2023-01-01',  
>  '2060-01-01',  
>  @horaCompleta,  
>  127,  
>  '1,138,168,169,170,172,173,174,175,176,177,178,179,180,181,182',  
>  '455'  
>  );  
> END FOR;  
> //
> 
> DELIMITER ;
> 
> SELECT \* FROM temptab;

# Crear certificado privado SSL + root CA

Crear certificado autofirmado con openssl para servidores de pruebas con HTTPS, certificados para tablets, etc.

#### domain.ext

> authorityKeyIdentifier=keyid,issuer  
> basicConstraints=CA:FALSE  
> subjectAltName = @alt\_names  
> \[alt\_names\]  
> DNS.1 = domain  
> DNS.2 = \*.domain

#### Create Private Key and Signing Request (csr)

> openssl req -newkey rsa:2048 -nodes -keyout domain.key -out domain.csr

#### Certificate

> openssl x509 -req -CA rootCA.crt -CAkey rootCA.key -in domain.csr -out domain.crt -days 365 -CAcreateserial -extfile domain.ext

#### Crear nuevo root CA  


> openssl req -x509 -sha256 -days 1825 -newkey rsa:2048 -keyout rootCA.key -out rootCA.crt

# Copiar servidor

Comandos para hacer una copia completa del servidor de Arsys

#### Directo con SSH en destino y puerto 666

> ***Ejecutar en el servidor a clonar:***
> 
> dd if=/dev/sda bs=64M status=progress | pigz -c | ssh root@92.172.240.225 -p 666 'pigz -d | dd of=/dev/sda'

dd if=/dev/sda | pigz | nc -w 3 localhost 62222  
nc -l -p 62222 | dd of=/dev/sda bs=64M

# Registrar version en servidor

<p class="callout info">Ejecutar como usuario</p>

> if \[ -f /home/cvc/system.cfg \]; then  
> set -a &amp;&amp; . /home/cvc/system.cfg &amp;&amp; set +a  
> else  
> set -a &amp;&amp; . /home/cvc/system/system.cfg &amp;&amp; set +a  
> fi  
> curl "https://www.comunicacionvisualcanarias.com/\_ext/logs/log.php?mode=version&amp;client=$CLIENT&amp;device="$ID"&amp;version="$VERSION