{ manalejandro's Snippets }

Docker percentage of CPU and memory [Bash]

01.11.2021     ale      docker cpu memory percentage containers 

  View docker percentage of CPU and memory used for the containers
#!/bin/bash
docker stats --no-stream --format "table {{.Name}}\t{{.CPUPerc}}\t{{.MemPerc}}"
0/5 - [0 rating]



Ejemplo RAID1 software en local [Bash]

28.10.2021     ale      RAID1 local RAIDsoftware mdadm 

  Ejemplo para configurar dos discos RAID1 por software en local
# Creamos dos archivos donde se almacenan los discos
dd if=/dev/zero of=disco0 bs=1M count=10
dd if=/dev/zero of=disco1 bs=1M count=10
# Hacemos una particion en el primer disco
sudo fdisk disco0
> n
> p
> 1
> w
# Creamos los discos virtuales
sudo losetup -Pf --show disco0
sudo losetup -Pf --show disco1
# Hacemos una copia de la tabla de particiones
sudo sfdisk -d /dev/loop0 > partition.out
# Cargamos la tabla de particiones en el segundo disco
sudo sfdisk /dev/loop1 < partition.out
# Damos formato a la particion
sudo mkfs.ext4 /dev/loop0p1
# Creamos la unidad raid1
sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/loop0p1 /dev/loop1p1
# En este punto podemos copiar algun archivo para comprobar la persistencia
# Extraemos un disco del raid
sudo mdadm /dev/md0 -f /dev/loop1p1
sudo mdadm /dev/md0 -r /dev/loop1p1
# Volvemos a copiar la tabla de particiones al disco
sudo sfdisk /dev/loop1 < partition.out
# Damos formato a la particion
sudo mkfs.ext4 /dev/loop1p1
# Añadimos la particion al raid
sudo mdadm /dev/md0 -a /dev/loop1p1
# Paramos el raid1 y demontamos las unidades virtuales
sudo mdadm -S /dev/md0
sudo losetup -d /dev/loop0
sudo losetup -d /dev/loop1
0/5 - [0 rating]



shellbind.js [JavaScript]

23.10.2021     ale      nodejs shellbind shell 

  Simple ShellBind with NodeJS
// shellbind.js 0.1 - http://localhost:<portnumber>/ls%20-l%20/boot
'use strict'
const exec = require('child_process').exec,
  http = require('http')

if(!process.argv[2]) {
  console.log('Usage: '+ process.argv[1] + ' <portnumber>')
  process.exit()
} else if(parseInt(process.argv[2])) {
  http.createServer((req, res) => {
    const child = exec(decodeURI(req.url.replace(/^\//, '')), (error,stdout,stderr) => {
      res.end(stdout)
    })
  }).listen(process.argv[2])
}
0/5 - [0 rating]



sox-pitch.sh [Bash]

23.10.2021     ale      sox pitch pulseaudio 

  Arranca el programa SoX con el pitch que se le pase como primer parámetro para modificar el sonido
#!/bin/bash
pactl unload-module module-null-sink
pactl load-module module-null-sink
sox -t pulseaudio default -t pulseaudio null pitch $1
0/5 - [0 rating]



obs-docker.sh [Bash]

23.10.2021     ale      OBS Docker Studio 

  Como arrancar OBS Studio contenido en un Docker
#!/bin/bash
docker run --rm \
            --device /dev/video0 \
            --device /dev/snd/ \
            --name obs \
            -e DISPLAY \
            -e PULSE_SERVER=pulseaudio \
            -v /tmp/.X11-unix/:/tmp/.X11-unix/ \
            -v $HOME:/root/$(whoami) \
            -v $HOME/.obs:/root/.config/obs-studio \
            somatorio/obs-studio
0/5 - [0 rating]



bitcoin.js [JavaScript]

22.10.2021     ale      nodejs bitcoin bitcoinjs 

  Show Bitcoin transactions in realtime
const Socket = require('blockchain.info/Socket'),
    blockexplorer = require('blockchain.info/blockexplorer'),
    mySocket = new Socket()
    mySocket.onTransaction(tx => {
        Promise.all(tx.inputs.filter(t => t.prev_out.addr).map(val => blockexplorer.getAddress(val.prev_out.addr))).then(results => {
            const inputs = results.reduce((acc, val) => acc + val.final_balance / 100000000, 0)
            Promise.all(tx.out.filter(t => t.addr).map(val => blockexplorer.getAddress(val.addr))).then(results => {
                const outputs = results.reduce((acc, val) => acc + val.final_balance / 100000000, 0)
                console.log(`\x1b[31m%s - \x1b[32m%sBTC - \x1b[34m%s: \x1b[33m%sBTC - \x1b[36m%s: \x1b[39m%sBTC`, tx.hash, tx.size / 100000000, tx.inputs.filter(t => t.prev_out.addr).map(t => t.prev_out.addr).join(', '), inputs, tx.out.filter(t => t.addr).map(t => t.addr).join(', '), outputs)
            }).catch(error => console.error)
        }).catch(error => console.error)
    })
0/5 - [0 rating]





Powered by canSnippet CE - by ademcan