Talk apresentada no 1o. Meetup do DBFloripa. Uma talk introdutória para apresentar alguns utilitários de linha de comando como sed, awk, xargs, csvkit e jq para o cinto de utilidades de desenvolvedores e DBAs
Dicas de sobrevivência de um DBA sem mouse
Dickson S. Guedes
1o. DBFloripa - 11/11/2017
Dickson S. Guedes Dicas de sobrevivência de um DBA sem mouse
Disclaimer
Esta talk foi apresentada no 1o. Meetup do DBFloripa, que foi
transmitido, gravado e disponibilizado online no Youtube.
A seguir, os slides :)
Dickson S. Guedes Dicas de sobrevivência de um DBA sem mouse
Pipe
Um exemplo
lista_telefones.py /tmp/tels.txt | filtra_ddd.pl 48
Quando não cabe na tela
lista_telefones.py /tmp/lista_tels.txt |
filtra_ddd 48 |
aplicar_mascara_telefone
Outro exemplo real
cat /etc/host | grep "172.10.*"
# ou
grep "172.10.*" /etc/host
Gerar uma senha aleatoriamente
echo "usuarioSenhA" | sha1sum | tr [a-z] [A-Z]
DC2E4447E9BE68E22E475E6F4BAAF913AC69126A -
Dickson S. Guedes Dicas de sobrevivência de um DBA sem mouse
Liberar memória
Comandos redirecionados usar su -c no lugar de sudo
$ free
. total used free shared buffers cached
Mem: 8105876 6092848 2013028 76464 403920 2050000
buffers/cache: 3638928 4466948
Swap: 7811068 768964 7042104
$ su - -c "echo 3 > /proc/sys/vm/drop_caches"
$ free
. total used free shared buffers cached
Mem: 8105876 2693520 5412356 76464 14200 300660
buffers/cache: 2378660 5727216
Swap: 7811068 768964 7042104
Dickson S. Guedes Dicas de sobrevivência de um DBA sem mouse
Edição sem cursor
sed: simple editor
sed 's/192.168.1.1/10.1.1.2/' ips.conf > ips.bkp
cp ips.conf ips.conf.orig
cp ips.bkp ips.conf
sed -i
sed -i 's/192.168.1.1/10.1.1.2/' ips.conf
sed -i.bkp para criar um arquivo .bkp do original
sed -i.bkp 's/192.168.1.1/10.1.1.2/' ips.conf
ls ips.*
ips.conf ips.conf.bkp
Dickson S. Guedes Dicas de sobrevivência de um DBA sem mouse
Alinhando textos delimitados
Arquivo delimitado por pipe
$ cat /tmp/lista_pessoas.txt
nome|endereco|telefone
joao da silva|rua alguma coisa|888999999
maria de oliveira|rua mais que outra coisa |882738
Visualização alinhada
$ cat /tmp/lista_pessoas.txt | column -s"|" -t
nome endereco telefone
joao da silva rua alguma coisa 888999999
maria de oliveira rua mais que outra coisa 882738
Dickson S. Guedes Dicas de sobrevivência de um DBA sem mouse
Matando vários processos
O modo fácil: seleciona um por um e da um kill
$ ps -ef | grep postgres:
postgres 23044 9.6/main: checkpointer process
postgres 23045 9.6/main: writer process
postgres 23046 9.6/main: wal writer process
postgres 23047 9.6/main: archiver process
postgres 22325 9.6/main: guedes [local] SELECT
postgres 23048 9.6/main: stats collector process
postgres 22319 9.6/main: guedes [local] SELECT
Dickson S. Guedes Dicas de sobrevivência de um DBA sem mouse
E se . . .
$ ps -ef | grep postgres:
postgres 23044 9.6/main: checkpointer process
postgres 23045 9.6/main: writer process
postgres 23046 9.6/main: wal writer process
postgres 23047 9.6/main: archiver process
postgres 22325 9.6/main: guedes [local] SELECT
postgres 23048 9.6/main: stats collector process
postgres 22193 9.6/main: guedes [local] SELECT
postgres 25191 9.6/main: guedes [local] SELECT
postgres 22132 9.6/main: guedes [local] SELECT
postgres 23023 9.6/main: guedes [local] SELECT
postgres 21233 9.6/main: guedes [local] SELECT
postgres 12443 9.6/main: guedes [local] SELECT
postgres 22144 9.6/main: guedes [local] SELECT
postgres 29213 9.6/main: guedes [local] SELECT
Dickson S. Guedes Dicas de sobrevivência de um DBA sem mouse
Matar varios processos com xargs
ps -ef |
grep postgres: |
grep SELECT |
awk '{ print $2 }' |
xargs kill
Dickson S. Guedes Dicas de sobrevivência de um DBA sem mouse
csvkit
Kit de utilidades para manipular arquivos CSV. Alguns exemplos:
in2csv ne_1033_data.xlsx > data.csv
csvlook data.csv | less -S
csvcut -n data.csv
comandos csv*
site: http://csvkit.readthedocs.io
demo:
https://asciinema.org/a/wmMQAc3mR2KZw1e9FbWCLgBVh
Dickson S. Guedes Dicas de sobrevivência de um DBA sem mouse
jq
Kit de utilidades para manipular arquivos JSON
site: https://stedolan.github.io/jq/
demo:
https://asciinema.org/a/I5e8RqPbdLKDHv7LpkOYoRU4G
Dickson S. Guedes Dicas de sobrevivência de um DBA sem mouse