Phpmyadmin – mysql – erro secure-file-priv

 

estava recebendo o erro no phpmyadmin do mysql:

#1290 – O servidor MySQL está rodando com a opção –secure-file-priv razão pela qual não pode executar esse commando

a solução foi adicionar o valor ‘ secure-file-priv = “” ‘ no arquivo ‘ /etc/mysql/mysql.conf.d/mysqld.cnf ‘ abaixo da chave ‘ [mysqld]

exemplo:

[mysqld]
#
# * Basic Settings
#
#local-infile = 1
secure-file-priv = “”
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock

 

após reinicie o serviço do mysql:
sudo /etc/init.d/mysql restart

fonte da dica: https://www.digitalocean.com/community/questions/mysql-can-t-use-load-data-infile-secure-file-priv-option-is-preventing-execution

Anúncios

Utilizando Logrotate com apache

dica do site: https://www.dicas-l.com.br/arquivo/utilizando_logrotate.php

segue cópia integral do texto:

A ferramenta logrotate tem como objetivo rotacionar automaticamente logs de aplicativos segundo a necessidade e a organização que o administrador de sistemas (SysAdmin) deseje. Todo administrador experiente reconhece a importância dos logs e principalmente o quão relevante é ter os logs disponíveis e organizados para um momento onde é necessária uma rápida consulta aos mesmos. Esta ferramenta é muito útil para os SysAdmin e possui recursos flexíveis que por vezes não são explorados. É relevante salientar que alguns aplicativos possuem seu desempenho comprometido quando seus arquivos de log chegam a tamanhos muito grandes.

Instalar logrotate

Para instalar o logrotate basta efetuar o procedimento padrão da distribuição Linux que está sendo utilizada.

Gentoo

# emerge -va app-admin/logrotate

Ubuntu

# apt-get install logrotate

CentOS

# yum install logrotate

Arquivos de configuração do logrotate

Depois de instalado é preciso efetuar a personalização da configuração do logrotate.

logrotate é executado automaticamente segundo o agendamento desejado, no entanto além de permitir um ajuste mais detalhando no próprio arquivo de configuração do logrotate a ferramenta também possui sua execução vinculada ao cron. Dessa forma ao listar o conteúdo do cron.daily devemos encontrar o script do logrotate que foi adicionado automaticamente no momento da instalação da ferramenta.
# ls /etc/cron.daily é esperado encontrar na lista de scripts localizadas neste diretório o “logrotate”

logrotate possui basicamente um arquivo de configuração geral/global:

/etc/logrotate.conf

Neste arquivo são inseridas as configurações “padrão” de rotacionamento de logs para todos os arquivos de log que foram especificados nas confgirações do logrotate.

Um diretório, no qual podem ser inseridos arquivos específicos para determinados aplicativos:

/etc/logrotate.d

Neste diretório podem ser criados arquivos com configurações específicas de rotacionamento de logs para determinados aplicativos segundo a necessidade do administrador. Muitos aplicativos ao serem instalados, como por exemplo o Apache, geram um arquivo de rotacionamento de logs dentro do diretório /etc/logrotate.d com configurações próprias mas que podem ser facilmente personalizadas, bastando apenas editar o arquivo referente ao aplicativo.

Configurar logrotate

Inicialmente vamos analisar o arquivo de configuração geral/global do logrotate (/etc/logrotate.conf), conforme mencionado anteriormente a execução do logrotate está vinculada ao cron (agendamento) do sistema operacional diário, no entanto é necessário personalizar o período de rotacionamento dos logs diretamente no logrotate.

Vamos analisar algumas opções do arquivo de configuração geral

/etc/logrotate.conf (o conteúdo abaixo está personalizado):

 

# See “man logrotate” for details
# período em que os arquivos de log devem ser rotacionados
daily
rotate 35
compress
dateext
size 5M
copytruncate
notifempty
nomail
noolddir

# administrador ou aplicativos podem inserir
# seus arquivos de configuração específicos de
# rotacionamento de log neste diretório

include /etc/logrotate.d

# também podem ser inseridas configurações de
# rotacionamento de logs diretamente neste arquivo.
# para isso basta definir o nome do arquivo
# de log a ser rotacionado e suas configurações
# específicas que sobrescrevem as gerais definidas
# anteriormente.

/var/log/wtmp {
monthly
create 0664 root utmp
rotate 1
}

# é preciso especificar os arquivos a serem
# rotacinados pelo logrotate

/var/log/mail.info /var/log/mail.log /var/log/mail.err {
rotate 31
}

# outra forma de especificar os arquivos a serem
# rotacionados pelo logrotate

/var/log/*log {
rotate 31
}

 

Apenas para verificarmos, na instalação do Apache no Ubuntu foi gerado o arquivo /etc/logrotate.d/apache2 com o seguinte conteúdo:

/var/log/apache2/*.log {
weekly
missingok
rotate 52
compress
delaycompress
notifempty
create 640 root adm
sharedscripts
postrotate
/etc/init.d/apache2 reload > /dev/null
endscript
}

Analisando algumas diretivas de configuração disponíveis no logrotate:

Período em que os arquivos de log devem ser rotacionados

As opções para esta configuração são:

daily diariamente
weekly semanalmente
monthly mensalmente

Diretivas de configuração

rotate 35 indica o número de arquivos de log rotacionados a serem mantidos, o arquivo rotacionado mais velho sempre é substituído.
compress comprimir os arquivos de log rotacionados (padrão é o gzip).
create imediatamente após rotacionar um arquivo de log o arquivo de log é recriado com o mesmo nome e com as permissões especificadas. Exemplo de sintaxe: create 640 root adm
delaycompress comprimir o arquivo de log rotacionado apenas no próximo rotacionamento. Útil quando um aplicativo continua escrevendo um arquivo de log por um determinado tempo após o rotacionamento. Esta diretiva deve ser utilizada de forma concomitante com a diretiva compress.
dateext inserir a data em que os arquivos foram rotacionado como parte do nome do arquivo de log rotacionado. Um exemplo de arquivo rotacionado gerado com a data no nome: /var/log/syslog-20111218.gz
size 5M tamanho que o arquivo de log deve ter para ser rotacionado, o “M” indica megabytes, também pode ser utilizado “k” que indica kilobytes. Neste exemplo o arquivo de log só será rotacionado se tiver o tamanho mínimo de 5 megabytes.
copytruncate esta opção é muito útil pois permite “limpar” o conteúdo de um arquivo de log depois que uma cópia dele é gerada para o rotacionamento, dessa forma não se perde o arquivo “original” de log. Caso o arquivo original de log seja rotacionado será preciso gerar um novo arquivo de log com as pemissões corretas para que o aplicativo possa escrever nele novamente, por vezes isso é um problema.
notifempty não rotacionar o arquivo de log se ele estiver vazio.
ifempty rotacionar o arquivo de log mesmo que este esteja vazio. Esta é a opção padrão.
nomail não enviar o arquivo de log por e-mail.
mail quando os arquivos de logs forem rotacionados com o número máximo de versões (diretiva rotate) estipulado os arquivos de log serão enviados por e-mail para o endereço definido nesta diretiva. Exemplo de sintaxe: mail
missingok se o arquivo de log não existir o logrotate passa para a interpretação do próximo arquivo sem gerar mensagens de erro.
noolddir manter os arquivos de log no diretório de origem, é possível mover os arquivos de log rotacionados para um outro diretório desde que no mesmo dispositivo físico.
olddir diretório para onde os arquivos de log rotacionados devem ser movidos. Exemplo de sintaxe: olddir /var/log/logs_antigos
postrotate/endscript os comandos definidos entre estas duas diretivas são executadas logo após o arquivo de log ser rotacionado. Este conjunto de diretivas só deve ser configurado para uma definição específica de rotacionamento de log, não pode ser configurado nas diretivas globais do logrotate.
prerotate/endscript os comandos definidos entre estas duas diretivas são executadas antes o arquivo de log ser rotacionado. Este conjunto de diretivas só deve ser configurado para uma definição específica de rotacionamento de log, não pode ser configurado nas diretivas globais do logrotate.
sharedscripts geralmente os scripts definidos nas diretivas postrotateprerotate são executados para cada um dos logs rotacionados no padrão definido previamente, isso significa que um mesmo script pode ser executado várias vezes. Quando esta diretiva é especificada os script definidos nas diretivas postrotate e prerotate são executados uma única vez. No entanto, caso não haja necessidade de rotacionar os arquivos de log definidos no padrão, os scripts não serão executados. Esta diretiva requer a configuração da diretiva create.

Executando manualmente o logrotate

É possível executar manualmente o logrotate caso se queira efetuar algum teste inicial, por exemplo com uma configuração específica para os arquivos de log de um determinado aplicativo.

No terminal, preferencialmente logado com o usuário root execute:

# logrotate /etc/logrotate.conf

Para forçar a execução do rotacionamento execute:

# logrotate --force /etc/logrotate.conf

Para verificar com mais detalhes o que está sendo executado pelo logrotate vamos ativar o modo “verbose” na execução manual

# logrotate --force --verbose /etc/logrotate.conf

Referências

http://linuxcommand.org/man_pages/logrotate8.html

contar linhas de arquivos muito grandes

dicas do site: https://stackoverflow.com/questions/12716570/count-lines-in-large-files

6

 (GREP, SED, AWK, PERL, WC). Here is the result of the test that I ran on a file which had 23782409 lines

time grep -c $ my_file.txt;

real 0m44.96s user 0m41.59s sys 0m3.09s

time wc -l my_file.txt;

real 0m37.57s user 0m33.48s sys 0m3.97s

time sed -n '$=' my_file.txt;

real 0m38.22s user 0m28.05s sys 0m10.14s

time perl -ne 'END { $_=$.;if(!/^[0-9]+$/){$_=0;};print "$_" }' my_file.txt;

real 0m23.38s user 0m20.19s sys 0m3.11s

time awk 'END { print NR }' my_file.txt;

real 0m19.90s user 0m16.76s sys 0m3.12s

erro no phpmy admin – mysql – Warning in ./libraries/sql.lib.php#613 count

estava com o alerta de erro no phpmyadmin:

Warning in ./libraries/sql.lib.php#613 count(): Parameter must be an array or an object that implements Countable

com dica do site https://stackoverflow.com/questions/48001569/phpmyadmin-count-parameter-must-be-an-array-or-an-object-that-implements-co

bastou fazer as alteração na linha indicada do erro 613 do arquivo:

reinicia o apache:

sudo nano /usr/share/phpmyadmin/libraries/sql.lib.php

localize o trecho:

((empty($analyzed_sql_results['select_expr']))
    || (count($analyzed_sql_results['select_expr'] == 1)
        && ($analyzed_sql_results['select_expr'][0] == '*')))

substitua por:

((empty($analyzed_sql_results['select_expr']))
    || (count($analyzed_sql_results['select_expr']) == 1)
        && ($analyzed_sql_results['select_expr'][0] == '*'))

reinicia o apache:

sudo service apache2 restart

 

besteira de parenteses no lugar errado

alterar usuário do apache

alterar usuário do apache

não é recomendável, por questão de segurança, alterar o usuário que usa os serviços do apache, mas se mesmo assim for necessário, segue a dica:

abara o arquvivo:
sudo nano /etc/apache2/envvars

altere os campos para os dados do seu usuário, remova o “www-data” e adicione o “seu-usuario”
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data

salve e reinicie o serviço do apache:
sudo /etc/init.d/apache restart

limitar a banda da internet via linha de comando

Dica, caso precise realizar algum teste com a velocidade da rede/internet menor que a atual.

eu só testei o wondershaper e funcionou pra mim

dica do site: https://askubuntu.com/questions/20872/how-do-i-limit-internet-bandwidth

You have 2 easy to use via terminal. Wondershaper and Trickle. There are more here: How to limit internet speed?

Anyway the basics are:

sudo apt-get install wondershaper

In terminal find out what is the name of the interface connected to your internet by using ifconfig. Could be eth0, eth1, eth2, etc… In my case is eth1. So, I would do this:

sudo wondershaper eth1 1024 256

This will give me a Download speed of 1024 Kbits and 256 Kbits Upload. Which are 128KB and 16KB.

If you want to reset that do this sudo wondershaper clear eth1

NOTE: That will limit ANYTHING in your PC, for example the torrent downloader, firefox, etc..

Another program is Trickle

To install do this:

sudo apt-get install trickle

To run firefox with a maximum of 120KB/s download and 32KB/s upload, run

trickle -d 120 -u 32 firefox

In my case I recommend wondershaper.

If you want more info for any of the two after installed type man wondershaper or man trickledepending on the one you installed.

SSHPASS – PASSANDO SENHA COMO PARÂMETRO NO SSH E SCP SEM REGISTRO DE CHAVE PÚBLICA

dica do site: https://www.vivaolinux.com.br/dica/sshpass-Passando-senha-como-parametro-no-SSH-e-scp-sem-registro-de-chave-publica

como acessar um servidor remoto através do SSH, passando a senha como parâmetro pela linha de comando, ou no shell script, sem que seja necessário registrar uma chave pública.

Para poder fazer isso, primeiro você precisa baixar/instalar um programinha chamado sshpass.

Em distribuições baseadas no Debian, você pode instalar com:

# aptitude install sshpass

OBS.: para mim a instalação funcionou com:
# apt-get install sshpass

Agora, cada vez que você quiser passar a senha como parâmetro, é só você colocar o sshpass antes do comando.

Exemplo:

 sshpass -p “seu_password” scp root@seu_ip:/etc/hosts /root
Ou:
 sshpass -p “seu_password” ssh root@seu_ip

Também dá pra passar uma variável como parâmetro:

 sshpass -p “$PASS_SERVER” scp -P52000 root@$IP_SERVER:/etc/hosts /root