Utilitários unidos – inotifywait and grep

#!/bin/bash
#
#    Copyright (C) 2017 Leonardo Serra 
#
#    This program is free software: you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation, either version 3 of the License, or
#    any later version.
#
#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License
#    along with this program.  If not, see .
#

echo $((2**24)) > /proc/sys/fs/inotify/max_user_watches

inotifywait -m -r -e modify --format '%w%f' /var/www| while read FILE
do
  case $FILE in
    *.php*)
#      echo 'Scanning file '$FILE' ...'
      if /bin/grep -q 'create_function' $FILE
      then
        date=`date '+%Y/%m/%d %H:%M:%S'`
        echo $date' Found create_function at file: '$FILE
      fi
  esac
done

Migrando e Instalando GitLab

Neste documento vamos migrar um GitLab do tipo CE / Edição 9.5.3 , porem outros tipos/edições podem ser utilizadas

Servidor antigo (192.168.0.x)

$ sudo gitlab-rake gitlab:backup:create

Em nosso exemplo, dentro da pasta /var/opt/giblab/backups do servidor antigo, foi criado um arquivo com o nome  1519781652_2018_02_27_9.5.3_gitlab_backup.tar

Copie o arquivo 1519781652_2018_02_27_9.5.3_gitlab_backup.tar para o novo servidor (IP 192.168.0.y) . Em nosso caso usamos o comando scp para copiar usando SSH com usuario chamado user_ssh.

$ sudo scp /var/opt/giblab/backups/1519781652_2018_02_27_9.5.3_gitlab_backup.tar user_ssh@192.168.0.y:/var/opt/giblab/backups

Também copie os arquivos /etc/gitlab/gitlab.rb e /etc/gitlab/gitlab-secrets.json para o novo servidor usando os seguintes comandos:

$ sudo scp /etc/gitlab/gitlab.rb user_ssh@192.168.0.y:/etc/gitlab/gitlab.rb
$ sudo scp /etc/gitlab/gitlab-secrets.json user_ssh@192.168.0.y:/etc/gitlab/gitlab-secrets.json

Servidor novo (IP 192.168.0.y)

Primeiro etapa é a instalação do GitLab correto. É necessário escolher para a instalação o mesmo tipo (CE/EE) e a mesma versão para o backup poder ser restaurado corretamente.

Escolha abaixo o comando adequado para a instalação do GitLab de acordo com o sistema operacional de seu ambiente.

Comandos para instalar em servidor com Sistema Operacional Debian 9 (stretch):
$ curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
$ sudo apt-get install gitlab-ce=9.5.3-ce.0
$ gitlab-ctl reconfigure
Comandos para instalar em servidor com Sistema Operacional CentOS 7:
$ curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
$ sudo yum install gitlab-ce-9.5.3-ce.0.el7.x86_64
$ gitlab-ctl reconfigure
Abaixo os comandos para restaurar o backup criado no servidor antigo:
$ sudo gitlab-ctl stop unicorn
$ sudo gitlab-ctl stop sidekiq
$ sudo gitlab-rake gitlab:backup:restore BACKUP=1519781652_2018_02_27_9.5.3
$ sudo gitlab-ctl restart
$ sudo gitlab-rake gitlab:check SANITIZE=true

Referencias

HowTo/Tutorial construindo imagem Debian para usar no Google Cloud/Google Compute Engine utilizando ferramenta bootstrap-vz

Em uma maquina rodando Debian 8 (Jessie) vamos instalar a ferramenta bootstrap-vz. Para isto em um terminal execute o seguinte comando:

$ sudo apt install python-pip debootstrap

Depois o seguinte comando:

$ sudo pip install bootstrap-vz

Agora você já tem a ferramenta bootstrap-vz instalada em seu Debian.

A próxima etapa sera criar uma imagem com Debian para ser usava no Google Cloud / Google Compute Engine utilizando a ferramente bootstrap-vz. Para isto precisamos de um arquivo onde estará definido os recursos que esta imagem devera possuir.

Vamos usar um arquivo de exemplo do próprio bootstrap-vz para auxiliar esta tarefa, para isto baixe ele usando o seguinte comando:

$ wget https://raw.githubusercontent.com/andsens/bootstrap-vz/master/manifests/official/gce/jessie.yml

O comando anterior baixou o arquivo jessie.yml para a pasta atual, e agora é importante editar este arquivo para definir parâmetros de construção da imagem. Utilize seu editor preferido, caso não conheça nenhum tente usar o editor nano.

Após editar este arquivo e definir os parâmetros escolhidos para a geração da imagem, execute o seguinte comando:

$ sudo bootstrap-vz jessie.yml

Referencias:

 

Solução para puppet em falha de conexão SSH com usuário travado/locked

=-=from log=-=

Jan 1 12:34:56 hostname sshd[1234]: User myusername not allowed because account is locked

=-=arquivo manifest=-=

user { ‘myusername’:
  ensure => present,
  password => ‘*’,
}

Referencias: