Descobrir o nr. do NIT/PIS pela Internet
Seguindo a dica do site que citarei abaixo, consegui descobrir o NIT de uma pessoa seguindo os passos abaixo:
1) Entrei neste site: http://www1.dataprev.gov.br/cadint/sp2cgi.exe?sp2application=cadint
2) Preenchi os seguintes dados como se fosse cadastrar a pessoa:
- Nome
- Data de nascimento
- Nome damãe completo
- CPF
- Dígito (do CPF)
3) Cliquei em Cadastrar e já apareceu que a pessoa já tinha inscrição e me forneceu o nr. do NIT. Simples assim
Fonte:http://www.leonardomarques.net/site/como-descobrir-seu-pis-pasep-nit.html
Extraindo imagens de documentos do Word
Algumas vezes precisamos extrair alguma figura ou logomarca de um documento do Microsoft Word para utilizá-los em outro local. A solução para isso é muito simples.
1) Faça uma cópia do seu arquivo .doc ou docx.
2) Renomeie a cópia para extensão .zip (exemplo: arquivo.zip)
3) Clique com o botão direito encima do arquivo e peça para o Winzip (ou Winrar) extrair para…
4) Entre na pasta extraida pelo winzip. Dentro desta pasta existirá uma outra pasta com nome “word”. Entre nela e aparecerá a pasta “media”. Dentro desta pasta estará todas as imagens constantes no arquivo.
Simples assim.
OBS: [em 13/07/2010] Se o seu arquivo estiver em formato .DOC, então deve-se abrir o documento no word, mandá-lo salvar como DOCX e daí sim renomear o arquivo.docx para arquivo.zip. Caso você esteja utilizando uma versão anterior ao Word 2007 existe um pacote de compatibilidade da própria Microsoft, que possibilita a gravação de um arquivo no formato DOCX. Maiores detalhes: http://office.microsoft.com/pt-br/word-help/abrir-um-documento-do-word-2007-em-uma-versao-mais-antiga-do-word-HA010044473.aspx
Espero que este post seja útil.
Arrumar problema MySQL / Ubuntu – Access denied for user ‘debian-sys-maint’@’localhost’
Atualizei um server de Debian para versão 8.04 do Ubuntu. Depois que restaurei o backup no Ubuntu, comecei a notar que direto dava erro de corrupção de tabelas no sistema. Achei muito estranho pois nunca tive este tipo de problema.
Vi também que quando restartava a máquna aparecia a seguinte mensagem de erro:
/usr/bin/mysqlcheck: Got error: 1045: Access denied for user 'debian-sys-maint'@'localhost' (using password: YES) when trying to connect
Conversando com meu amigo Marrrrcelo (www.qos.net.br) descobri que tinha algo com o usuário do Ubuntu que faz a “manutenção” no server MySQL, chamado debian-sys-maint.
Procurando na internet achei a solução para este problema. Simples e direta:
1) Verificar o conteúdo do arquivo /etc/mysql/debian.cnf
sudo cat /etc/mysql/debian.cnf
[client]
host = localhost
user = debian-sys-maint
password = wpouSFhcW8XcpUXw
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
user = debian-sys-maint
password = wpouSFhcW8XcpUXw
socket = /var/run/mysqld/mysqld.sock
basedir = /usr
Note que a senha para o usuário debian-sys-maint é wpouSFhcW8XcpUXw.
2) Conecte ao seu servidor MySQL:
mysql -u root -pSENHA
3) Execute o seguinte comando no console do MySQL:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY 'wpouSFhcW8XcpUXw';
4) Execute um mysql restart:
sudo /etc/init.d/mysql restart
E pronto, problema resolvido. Espero que este artigo ajude alguém.
Fonte: http://tiagoafg.blogspot.com/2009/01/mysql-access-denied-for-user-debian-sys.html
Excluindo arquivos antigos no Linux
Me deparei com a necessidade de excluir arquivos criados a mais de 10 dias.
Solução:
find ./ -mtime +1 -exec rm {} \;
Exclui todos os arquivos modificados a mais de um dia, na pasta corrente.
find ./tmp* -mtime +1 -exec rm {} \;
Exclui todos os arquivos modificados a mais de um dia, na pasta corrente, e que iniciam com nome tmp
Espero que este post seja útil.
Utilizando rsync para backup de dados automático entre servidores
Precisei sincronizar algumas pastas do nosso servidor principal para um servidor secundário. Utilizamos dois servidores Ubuntu 8.04. A solução veio com o Rsync, que já vem instalado por padrão nesta distribuição.
No computador destino criei a pasta /home/tiago/sincronizacao-servidor.
Lendo o man do rsync cheguei a conclusão que, para o meu caso, alguns parâmetros serão úteis:
v - verbose
-r, --recursive recurse into directories
-u, --update skip files that are newer on the receiver
-h, --human-readable output numbers in a human-readable format
-i, --itemize-changes output a change-summary for all updates
-P same as --partial --progress
-t Preserva a data original do arquivo
--delete-excluded
Então minha linha de comando ficaria mais ou menos assim:
rsync -vtruhiP --delete-excluded /var/www/ tiago@192.168.0.3:/home/tiago/sincronizacao-servidor/
Este comando funciona corretamente, mas pede a senha do usuário tiago na máquina destino. Como desejo que o rsync seja executado sem minha intervenção, precisarei de uma solução para isto.
Na máquina origem execute a seguinte instrução (no meu caso como usuário root):
ssh-keygen -t dsa -f ~/.ssh/id_dsa
E vá teclando enter nas opções que for pedido. Não informe nada.
Copie o arquivo criado /home/tiago/.ssh/id_dsa.pub para o servidor destino
scp /root/.ssh/id_dsa.pub tiago@192.168.0.3:/home/tiago/.ssh/
No servidor destino, execute o seguinte comando
cat /home/tiago/.ssh/id_dsa.pub >> /home/tiago/.ssh/authorized_keys
Execute o comando rsync novamente e veja que não é mais solicitado senha. Se ainda pedir, reinicie os servidores. Caso reinicie e continue pedindo, execute todos os passos anteriores deste post novamente.
Criei um script para executar o rsync e criar um log disso (script achei na internet, citarei as fontes no final)
vim executa_sincronizacao.sh
E inseri neste arquivo o seguinte código:
#!/bin/bash
INICIO=`date +%d/%m/%Y-%H:%M:%S`
LOG=/var/log/rsync/`date +%Y-%m-%d`.txt
echo " " >> $LOG
echo " " >> $LOG
echo "|--------------------------------------------" >> $LOG
echo " Sincronizacao iniciada em $INICIO" >> $LOG
rsync -vruhiP --delete-excluded /var/www/ tiago@192.168.0.3:/home/tiago/sincronizacao-servidor/ >> $LOG
FINAL=`date +%d/%m/%Y-%H:%M:%S`
echo " Sincronizacao Finalizada em $FINAL" >> $LOG
echo "|--------------------------------------------" >> $LOG
echo " " >> $LOG
echo " " >> $LOG
E dei permissão para execução no arquivo>
chmod 775 executa_sincronizacao.sh
Criei a pasta rsync dentro de /var/log/, para sejam criados os logs nesta pasta:
mkdir /var/log/rsync
Depois disso coloquei no crontab para executar o executa_sincronizacao.sh de tempos em tempos.
Espero que este post seja útil:
Fontes consultadas:
http://www.dicas-l.com.br/dicas-l/20041227.php
http://www.guiadohardware.net/comunidade/sincronizar-pastas/942084/
Firebird 2.x e PHP 5.x – Mudança no tipo de campo retornardo em ibase_field_info
Em um sistema web eu desenvolvi um formatador e criador de relatórios automático em PDF. Para fazer as totalizações automaticamente, eu sempre testei se o tipo de campo de determinada coluna era INT64, utilizando $col_info['type']. Mas quando atualizamos o server com Firebird 2 e PHP 5.x esta função parou de funcionar. Fiz alguns testes e vi que nesta versão de PHP/Firebird os números com ponto flutuante retornam como NUMERIC(tamanho, precisão), e não mais como INT64. No meu caso específico, retorna como NUMERIC(18,2), que foi como criei os meus campos.
O problema disso é que se crio um campo com ponto flutuante com tamanho diferente de 18,2, terei que criar uma regra em minha classe PHP para tratar disso. Mas tudo bem, o importante é que achei a solução do problema citado.
Espero que este post seja útil.
Instalando IbWebAdmin – Ferramenta de gerenciamento de banco de dados Firebird via Web
Ótimo artigo explicando como instalar o IBWebAdmin. Para quem não conhece o IbWebAdmin é um gerenciador de banco de dados, na mesma linha do IBExpert, mas roda totalmente no browser.
Vale lembrar que o artigo toma como base que você irá instalá-lo em um servidor Linux. Penso que em servidor windows não mude grande coisa.
Espero que este post seja útil.
Apache2 – Não listar conteúdo de diretórios
Se você instalou o apache, e você não deseja que seus visitantes vejam todo o conteúdo de uma pasta que não contém o arquivo index.php ou index.htm, edite o arquivo /etc/apache2/sites-available/nome_do_seu_site e insira o conteúdo Options -Indexes abaixo da linha DocumentRoot. Segue abaixo os passos:
vim /etc/apache2/sites-available/nome_do_seu_site
2) Conteúdo do arquivo /etc/apache2/sites-available/nome_do_seu_site:
<VirtualHost *>
ServerAdmin seu_email@seu_site_com_br
ServerName seu_dominio.com.br
ServerAlias www.seu_dominio.com.br
# Indexes + Directory Root.
DirectoryIndex index.html index.htm index.php
DocumentRoot /var/www/pasta_do_seu_site/
Options -Indexes
# CGI Directory
ScriptAlias /cgi-bin/ /var/www/pasta_do_seu_site/cgi-bin/
Options +ExecCGI
# Logfiles
ErrorLog /var/log/apache2/nome_do_seu_site.error.log
CustomLog /var/log/apache2/nome_do_seu_site.access.log combined
</VirtualHost>
Espero que este post seja útil.
Alteração no formato de data no PHP 5 -> Firebird 2.0
Quando migrei os dados de um servidor Debian 4 com PHP4 e Firebird 1.5 para Ubuntu 8.04 com Firebird 2 tive problemas em tratar a exibição de datas retornadas do banco. Como tenho muitos scripts que dependem do formato da data antiga (Mês/Dia/Ano) resolvi alterar diretamente no servidor o formato, ao invés de alterar os vários scripts que tinha.
A solução foi adicionar ao arquivo /etc/php5/apache2/php.ini a diretiva [interbase], e colocar o novo formato de data que eu queria. Para isso executei os seguintes comandos (como usuário root):
vim /etc/php5/apache2/php.ini
E no final deste arquivo eu inseri o seguinte conteúdo:
[interbase]
ibase.dateformat="%m/%d/%Y"
Restartei o Apache
/etc/init.d/apache2 restart
E pronto..tudo funcionou perfeitamente como era antes.
Espero que este post seja útil.
Arrumar problema de acentuação em retorno de AJAX
Para quem já se deparou com caracteres estranhos no conteúdo retornado por uma função AJAX, a solução é bastante simples.
Se você utiliza PHP como linguagem, inclua no início do arquivo que você chamou via include() a seguinte linha:
header('Content-type: text/html; charset=iso-8859-1');
No meu caso, como tenho um arquivo com a minha classe php, e algumas funções mandam outros headers, deu aquele problema de que outro header já tinha sido enviado. Para contornar este problema alterei diretamente no apache.
Editei o arquivo /etc/apache2/conf.d/charset :
vim /etc/apache2/conf.d/charset
E inseri esta linha no final do arquivo:
AddDefaultCharset ISO-8859-1
Restartei o apache e funcionou corretamente.
Espero que este pos seja útil.