domingo, 13 de outubro de 2019

Matando todos os processos de um usuário

kill -9 `ps -fu usuario |awk '{ print $2 }'|grep -v PID`

sexta-feira, 22 de março de 2019

Script Shell para deletar vários arquivos em um servidor FTP

#!/bin/sh

HOST='ftp.dominio.net'
USER='diego'
PASSWD='senha'
DIR='pasta1'

ftp -n $HOST <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
cd $DIR
prompt
mdel *.jpeg
quit
END_SCRIPT
exit 0

terça-feira, 21 de novembro de 2017

Instalando o GNOME no CentOs 7 Minimal

  1. Install CentOS-7 - Minimal
  2. yum groupinstall "X Window System"
  3. yum install gnome-classic-session gnome-terminal nautilus-open-terminal control-center liberation-mono-fonts
  4. unlink /etc/systemd/system/default.target
  5. ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target
  6. reboot

sexta-feira, 25 de agosto de 2017

Matar vários processos de uma vez - Linux

Fiz um script que iniciaria com um loop infinito e usei uma variável que seria o parâmetro para para-lo e agendei na crontab para executá-lo à cada 5 minutos, mas esqueci faz o break. Quando percebi o erro já existiam muitos processos e era inviável matar um a um, então usei o comando abaixo para resolver meu problema:

# kill -9 `ps aux | grep script.sh | grep -v grep | awk '{print $2}'`

sexta-feira, 11 de agosto de 2017

Obtendo informações sobre os pacotes com APT

  1. Descobrir nome dos pacotes;
    • apt-cache search vim
  2. Obter mais informações sobre um pacote;
    • apt-cache show vim
  3. Para saber de quais pacotes ele depende;
    • apt-cache depends vim
  4. Usar o dpkg para achar nomes de pacotes;
    • dpkg -S stdio.h
    • dpkg -S /usr/include/stdio.h
  5. Para saber pacotes instalados no sistema;
    • dpkg -l | grep vim
    • COLUMNS=132 dpkg -l | grep vim
    • apt-cache search "vim"
  6. Como descobrir a qual pacote um arquivo pertence
    • apt-file search nomedoarquivo
    • apt-file list nomedopacote
    • apt-file update

terça-feira, 3 de janeiro de 2017

Instalado o comando "setup" no CentOS mínimo

yum install setuptool -y
yum install system-config-network* -y
yum install system-config-firewall* -y
yum install system-config-securitylevel-tui -y
yum install system-config-keyboard -y
yum install ntsysv -y

quarta-feira, 16 de novembro de 2016

Compilar PHP com suporte a IMAP

  • Descompacte
    • tar -zxvf imap-2007f.tar.gz -C /usr/local
  • Instale
    • make slx SSLTYPE=none
    • mkdir lib
    • mkdir include
    • cp c-client/*.c lib/
    • cp c-client/*.h include/
    • cp c-client/c-client.a lib/libc-client.a
  • Suporte a SSL
    • make slx SSLINCLUDE=/usr/include/openssl/
  • Compile o PHP
    • ./configure --with-imap=/usr/local/imap-2007f

terça-feira, 11 de outubro de 2016

Aumentar um disco em uma vm linux sem reboot - VMWare

fdisk -l
Disk /dev/sdb: 37.5 GB, 37580963840 bytes

Entre na console do VMWare e aumente o tamanho do disco, depois entre no servidor e execute o prodecimento abaixo:

echo "- - -" > /sys/class/scsi_host/host#/scan
echo 1 > /sys/block/sdb/device/rescan

fdisk -l
Disk /dev/sdb: 69.7 GB, 69793218560 bytes

segunda-feira, 10 de outubro de 2016

Recuperar senha de root do webmin

For RHEL/CentOS:
  • /usr/libexec/webmin/changepass.pl /etc/webmin root NEWPASSWORD
For Debian/Ubuntu
  • /usr/share/webmin/changepass.pl /etc/webmin root NEWPASSWORD

Recuperar senha de root do webmin

For RHEL/CentOS:
  • /usr/libexec/webmin/changepass.pl /etc/webmin root NEWPASSWORD
For Debian/Ubuntu
  • /usr/share/webmin/changepass.pl /etc/webmin root NEWPASSWORD

Recuperar senha de root do webmin

For RHEL/CentOS:
  • /usr/libexec/webmin/changepass.pl /etc/webmin root NEWPASSWORD
For Debian/Ubuntu
  • /usr/share/webmin/changepass.pl /etc/webmin root NEWPASSWORD

quinta-feira, 18 de agosto de 2016

domingo, 8 de maio de 2016

Instalando e configurando node.js e forever no CentOS

  1. Instalando
    • yum install nodejs npm
    • npm -g install forever
  2. Testando
    • crie o arquivo teste.js com os dados abaixo:
      • http.createServer(function (req, res) {
      •   res.writeHead(200, {'Content-Type': 'text/plain'});
      •   res.end('Hello Worldn');
      • }).listen(8080);
      • console.log('Server running at port 8080');
    • execute o comando "node teste.js" e verifique no seu navegador 
      • http://seu_server:8080
  3. Script de inicialização como forever
    • #!/bin/bash
    • # chkconfig: 345 88 08
    • # description: Forever for Node.js

    • DEAMON=/caminho/do/seu/app.js
    • LOG=/caminho/do/log/da/aplicacao/forever.log
    • PID=/root/.forever/pids/forever.pid

    • export PATH=$PATH:/usr/bin/node/bin
    • export NODE_PATH=$NODE_PATH:/usr/bin/node/lib/node_modules

    • node=node
    • forever=forever

    • case "$1" in
    •     start)
    •         $forever start -l $LOG --pidFile $PID -a $DEAMON
    •         ;;
    •     stop)
    •         $forever stop --pidFile $PID $DEAMON
    •         ;;
    •     stopall)
    •         $forever stopall --pidFile $PID
    •         ;;
    •     restartall)
    •         $forever restartall --pidFile $PID
    •         ;;
    •     reload|restart)
    •         $forever restart -l $LOG --pidFile $PID -a $DEAMON
    •         ;;
    •     list)
    •         $forever list
    •         ;;
    •     *)
    •         echo "Usage: /etc/init.d/forever {start|stop|restart|reload|stopall|restartall|list}"
    •         exit 1
    •         ;;
    • esac

Instalando e configurando CSF no CentOS 6

  1. Instalando dependências
    • yum install perl-libwww-perl
    • perl -MCPAN -e 'install Bundle::LWP'
  2. Instalando
    • wget  http://www.configserver.com/free/csf.tgz
    • tar -zxvf csf,tgz
    • cd csf
    • ./install.csf
  3. Configurando o módulo do csf no webmin
    • Logue no webmin
    • Em "Configuração do Webmin" clique em "Módulos do Webmin"
    • Selecione o arquivo /usr/local/csf/csfwebmin.tgz
  4. Arquivos de configuração
    • csf.conf - o arquivo de configuração principal
    • csf.allow - uma lista de IPs que devem sempre ser permitidos através do firewall
    • csf.deny - uma lista de IPs que nunca devem ser permitidos através do firewall
    • csf.ignore - uma lista de IPs que devem ser ignorados e não bloqueados , se detectados
  5. Ativando o CSF
    • No arquivo csf.conf altere a seguinte entrada: TESTING = "0"

domingo, 1 de maio de 2016

Quebrar senha de root do MySQL 5.7

  1. Para o servico do MySQL
    • /etc/init.d/mysqld stop
  2. Iniciar o mysqld (servidor daemon) com a opção –skip-grant-tables
    • nohup mysqld_safe --skip-grant-tables &
  3. Conectar no mysql usando o usuário root sem senha
    • mysql -u root
  4. Conectar ao banco mysql
    • use mysql;
  5. Exibir tabelas
    • show tables;
  6. Atualizar a senha de root
    • update user set authentication_string=password('nova_senha') where user='root';
  7. Sair do mysql
    • quit;
  8. Reiniciar o MySQL
    • /etc/init.d/mysqld start
  9. Conecte com a nova senha
    • mysql -u root -p

sexta-feira, 29 de abril de 2016

Instalando GitLab CE pelo repositório de pacotes

  1. Debian/Ubuntu
    • Dependências
      • curl openssh-server ca-certificates postfix
    • curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | bash
    • apt-get update
    • apt-get install gitlab-ce
  2. Red Hat/CentOS
    • Dependências
      • curl openssh-server openssh-clients postfix cronie
    • curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | bash
    • yum update
    • sudo yum install gitlab-ce
  3. Configuração
    • gitlab-ctl reconfigure

quarta-feira, 27 de abril de 2016

Instando o MySQL 5.7 no CentOS 6 via YUM

1. Baixe o repositório do MySQL

wget http://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpm

2. Atualize as informações do repositório

rpm -Uvh mysql57-community-release-el6-7.noarch.rpm
yum update

3. Instale o MySQL Server

yum install mysql-community-server

4. Verificando a versão do MySQL

mysql --version




5. Cadastrando a senha de root do MySQL

inicie o serviço:
/etc/init.d/mysqld start

Verifique a senha temporária:
grep 'temporary password' /var/log/mysqld.log

Execute o comando abaixo:
mysql_secure_installation

Cadastre a nova senha e alguns outros questionamentos de acesso.

6. Acessar o MySQL

mysql -u root -p



quinta-feira, 14 de abril de 2016

Redimensionar fotos via shell Linux

ImageMagick

O ImageMagick é um poderoso programa de comando de linha (Terminal) para tratar imagens em suas diversas formas: converter, redimensionar, criar, editar, cortar, juntar, editar cores e mais um bilhão de funcionalidades.

Instalação

apt-get install imagemagick
ou
yum install imagemagick

Compactação

find ./ -iname "*.jpg" -exec mogrify -resize 50% {} \;

OBS.: este comando substituirá todos os arquivos .jpg das pastas

sexta-feira, 6 de novembro de 2015

Configurando Bonding no CentOS 6

1. Configurando o módulo de interface;

Crie o arquivo /etc/modprobe.d/bonding.conf com o seguinte conteúdo:

alias bond0 bonding
options bond0 mode=active-backup miimon=100 downdelay=200 updelay=200

2. Configurando as placas de rede;

Crie o arquivo /etc/sysconfig/network-scripts/ifcfg-bond0 com o seguinte conteúdo:

DEVICE=bond0
IPADDR=172.20.0.100
NETMASK=255.255.254.0
GATEWAY=172.20.0.1
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
NM_CONTROLLED=no

Edite o arquivo /etc/sysconfig/network-scripts/ifcfg-eth0 e eth1 e deixe com o seguinte conteúdo, caso o eth0 para eth1 no arquivo ifcfg-eth1:

DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
MASTER=bond0
SLAVE=yes
NM_CONTROLLED=no

Reinicie o serviço network e execute o comando ifconfig -a:

bond0     Link encap:Ethernet  Endereço de HW 00:21:5E:93:0F:98
          inet end.: 172.20.0.100  Bcast:172.20.1.255  Masc:255.255.254.0
          endereço inet6: fe80::221:5eff:fe93:f98/64 Escopo:Link
          UP BROADCASTRUNNING MASTER MULTICAST  MTU:1500  Métrica:1
          RX packets:79237 errors:0 dropped:0 overruns:0 frame:0
          TX packets:32303 errors:0 dropped:0 overruns:0 carrier:0
          colisões:0 txqueuelen:0
          RX bytes:7270862 (6.9 MiB)  TX bytes:3288225 (3.1 MiB)

eth0      Link encap:Ethernet  Endereço de HW 00:21:5E:93:0F:98
          UP BROADCASTRUNNING SLAVE MULTICAST  MTU:1500  Métrica:1
          RX packets:54915 errors:0 dropped:0 overruns:0 frame:0
          TX packets:31423 errors:0 dropped:0 overruns:0 carrier:0
          colisões:0 txqueuelen:1000
          RX bytes:5023299 (4.7 MiB)  TX bytes:3194454 (3.0 MiB)

eth1      Link encap:Ethernet  Endereço de HW 00:21:5E:93:0F:98
          UP BROADCASTRUNNING SLAVE MULTICAST  MTU:1500  Métrica:1
          RX packets:24322 errors:0 dropped:0 overruns:0 frame:0
          TX packets:880 errors:0 dropped:0 overruns:0 carrier:0
          colisões:0 txqueuelen:1000
          RX bytes:2247563 (2.1 MiB)  TX bytes:93771 (91.5 KiB)

Também é possível consultar o arquivo /proc/net/bonding/bond0 para maiores informações sobre o bonding.

quinta-feira, 10 de setembro de 2015

Listar pastas e tamanhos

Execute o comando abaixo:

for pastas in $(ls --color=never -l | grep "^d" | awk '{print $9}'); do du -hs $pastas;done

Será listada uma lista como essa:

124K    SpryAssets
20M     _admin
838M    admin
164K    api
178M    assistencia
18M     banners
2.1M    blog
2.1M    campanhas
529K    chamadas
99G     dev
0       download
15M     engines
3.2G    ext
80M     imagens
1.7M    images
31M     includes
19M     info
46M     minishowcase2
4.0K    newgen
6.6M    publicacoes
32K     resized
8.0K    rss
11M     wordpress