Anterior Proxima

Obtendo a temperatura com Perl

Por vezes, nós precisamos obter algumas informações de algum site automaticamente, para automatizar algum relatório ou mostrar algum status. O módulo LWP::UserAgent do Perl pode lhe ajudar nessa tarefa, fazendo as vezes de um "navegador" e permitindo que façamos consultas e acessemos informações de sites programaticamente. Executando: $ perl climate.pl Referência: https://metacpan.org/pod/LWP::UserAgent

Por: Daniel Vinciguerra


Lista encadeada em C

azk

Implementação de uma simples lista encadeada e dinâmica em C. Código em en_US. azk4n

Por: Alexandre (azk)


DBI Básico - Banco de Dados Perl

Quando estamos aprendendo linguagens de programação, sempre chegamos a um ponto onde armazenar e trabalhar com dados se torna importante. O Perl tem um meio muito interessante de fazer isso através do modulo DBI (Perl Database Interface) que inspirou algumas linguagens, como Ruby e Python. Baixe o código deste script e leia com atenção os comentários para conhecer o básico de como trabalhar com o banco de dados em Perl. PRÉ-REQUISITOS: - Perl 5.10 ou superior - Banco MySQL instalado - Driver dbi DBD::mysql instalado REFERÊNCIAS: http://dbi.perl.org https://metacpan.org/pod/DBI EXECUTANDO: Para executar o script: $ perl dbi-basico.pl Para ver mais mensagens de debug execute com a flag debug: $ DEBUG=1 perl dbi-basico.pl Obs.: altere a string de conexão dentro do script.

Por: Daniel Vinciguerra


Relatório minuto a minuto de todas as conexões do servidor

Olá, seguindo minha linha de scripts de automação e segurança, trago para os membros do VOL um script que desenvolvi, que salva todas as conexões do servidor dentro de uma pasta. O arquivo é salvo em txt com data e horário e 2 vezes por dia é enviado por email, sendo que fica uma cópia no formato .tar.gz dentro de uma pasta. O sistema usa o netstat e o cron para automatização. Mãos ao shell! Primeiro você deve criar 2 pastas no home: mkdir /home/minuto-a-minuto mkdir /home/minuto-a-minuto/con Depois você deve criar 2 scripts. O primeiro pega as conexões e salva: cd /bin nano minuto-a-minuto.sh Depois, o segundo script é para você receber 2 vezes por dia, por email, as conexões no horário da meia noite e meio dia. Você pode mudar o horário: cd /bin nano conexoes-diarias.sh Adicionamos ao cron: crontab -e */1 * * * * /bin/minuto-a-minuto.sh 0 0,12 * * * /bin/conexoes-diarias.sh Mais ou menos, um exemplo de como o sistema funciona. Obs.: quando postei o exemplo aqui no VOL ficou meio bagunçado, mas no seu servidor vai ficar tudo alinhado, facilitando muito para visualizar. Monitoramento de Conexões Por Minuto : 21.02.2016_05-04-01 Monitoring Of Connections Per Minute Dom Fev 21 05:04:01 BRT 2016 1 108.162.221.104 1 112.111.185.125 1 177.119.72.164 1 187.78.0.105 1 191.5.84.131 1 8.8.8.8 1 91.212.124.11 2 189.96.241.80 2 192.168.1.1 4 177.206.102.84 5 127.0.0.1 8 185.58.207.221 14 39 0.0.0.0 1 tcp 0 0 0.0.0.0:110 0.0.0.0:* OUÇA 24507/dovecot 1 tcp 0 0 0.0.0.0:143 0.0.0.0:* OUÇA 24507/dovecot 1 tcp 0 0 0.0.0.0:2077 0.0.0.0:* OUÇA 20494/cpdavd - acce 1 tcp 0 0 0.0.0.0:2078 0.0.0.0:* OUÇA 20494/cpdavd - acce 1 tcp 0 0 0.0.0.0:2079 0.0.0.0:* OUÇA 20494/cpdavd - acce 1 tcp 0 0 0.0.0.0:2080 0.0.0.0:* OUÇA 20494/cpdavd - acce 1 tcp 0 0 0.0.0.0:2082 0.0.0.0:* OUÇA 2210/cpsrvd (SSL) - 1 tcp 0 0 0.0.0.0:2083 0.0.0.0:* OUÇA 2210/cpsrvd (SSL) - 1 tcp 0 0 0.0.0.0:2086 0.0.0.0:* OUÇA 2210/cpsrvd (SSL) - 1 tcp 0 0 0.0.0.0:2087 0.0.0.0:* OUÇA 2210/cpsrvd (SSL) - 1 tcp 0 0 0.0.0.0:2095 0.0.0.0:* OUÇA 2210/cpsrvd (SSL) - 1 tcp 0 0 0.0.0.0:2096 0.0.0.0:* OUÇA 2210/cpsrvd (SSL) - 1 tcp 0 0 0.0.0.0:21 0.0.0.0:* OUÇA 30729/pure-ftpd (SE 1 tcp 0 0 0.0.0.0:25 0.0.0.0:* OUÇA 24783/exim 1 tcp 0 0 0.0.0.0:3306 0.0.0.0:* OUÇA 16640/mysqld 1 tcp 0 0 0.0.0.0:443 0.0.0.0:* OUÇA 4169/httpd 1 tcp 0 0 0.0.0.0:465 0.0.0.0:* OUÇA 24783/exim 1 tcp 0 0 0.0.0.0:5128 0.0.0.0:* OUÇA 28541/sshd 1 tcp 0 0 0.0.0.0:587 0.0.0.0:* OUÇA 24783/exim 1 tcp 0 0 0.0.0.0:80 0.0.0.0:* OUÇA 4169/httpd 1 tcp 0 0 0.0.0.0:993 0.0.0.0:* OUÇA 24507/dovecot 1 tcp 0 0 0.0.0.0:995 0.0.0.0:* OUÇA 24507/dovecot 1 tcp 0 0 :::110 :::* OUÇA 24507/dovecot 1 tcp 0 0 127.0.0.1:2086 127.0.0.1:52214 TIME_WAIT - 1 tcp 0 0 127.0.0.1:3350 0.0.0.0:* OUÇA 1975/dbus-daemon 1 tcp 0 0 127.0.0.1:49476 127.0.0.1:953 TIME_WAIT - 1 tcp 0 0 127.0.0.1:53 0.0.0.0:* OUÇA 27813/named 1 tcp 0 0 127.0.0.1:5432 0.0.0.0:* OUÇA 8983/postmaster 1 tcp 0 0 127.0.0.1:783 0.0.0.0:* OUÇA 6128/spamd child 1 tcp 0 0 127.0.0.1:953 0.0.0.0:* OUÇA 27813/named 1 tcp 0 0 127.0.0.200:5432 0.0.0.0:* OUÇA 8983/postmaster 1 tcp 0 0 :::143 :::* OUÇA 24507/dovecot 1 tcp 0 0 ::1:5432 :::* OUÇA 8983/postmaster 1 tcp 0 0 :::21 :::* OUÇA 30729/pure-ftpd (SE 1 tcp 0 0 :::25 :::* OUÇA 24783/exim 1 tcp 0 0 :::443 :::* OUÇA 4169/httpd 1 tcp 0 0 :::465 :::* OUÇA 24783/exim 1 tcp 0 0 :::4949 :::* OUÇA 9448/munin-node 1 tcp 0 0 :::5128 :::* OUÇA 28541/sshd 1 tcp 0 0 :::587 :::* OUÇA 24783/exim 1 tcp 0 0 192.168.1.1:53 0.0.0.0:* OUÇA 27813/named 1 tcp 0 0 192.168.1.1:53 0.0.0.0:* OUÇA 27813/named 1 tcp 0 0 192.168.1.1:110 63.141.239.172:43923 ESTABELECIDA24528/dovecot/pop3- 1 tcp 0 0 192.168.1.1:32816 63.141.239.172:80 TIME_WAIT - 1 tcp 0 0 192.168.1.1:32828 63.141.239.172:80 TIME_WAIT - 1 tcp 0 0 192.168.1.1:43923 63.141.239.172:110 ESTABELECIDA- 1 tcp 0 0 192.168.1.1:53 0.0.0.0:* OUÇA 27813/named 1 tcp 0 0 192.168.1.1:80 108.162.221.104:37286 TIME_WAIT - 1 tcp 0 0 192.168.1.1:80 112.111.185.125:9740 ESTABELECIDA13957/httpd 1 tcp 0 0 192.168.1.1:80 177.206.102.84:26369 TIME_WAIT - 1 tcp 0 0 192.168.1.1:80 177.206.102.84:26370 TIME_WAIT - 1 tcp 0 0 192.168.1.1:80 177.206.102.84:26373 TIME_WAIT - 1 tcp 0 0 192.168.1.1:80 177.206.102.84:26374 TIME_WAIT - 1 tcp 0 0 192.168.1.1:80 185.58.207.221:60043 ESPERA_FIN2 - 1 tcp 0 0 192.168.1.1:80 185.58.207.221:60049 ESPERA_FIN2 - 1 tcp 0 0 192.168.1.1:80 185.58.207.221:60050 ESPERA_FIN2 - 1 tcp 0 0 192.168.1.1:80 185.58.207.221:60051 ESPERA_FIN2 - 1 tcp 0 0 192.168.1.1:80 185.58.207.221:60052 ESPERA_FIN2 - 1 tcp 0 0 192.168.1.1:80 185.58.207.221:60053 ESPERA_FIN2 - 1 tcp 0 0 192.168.1.1:80 185.58.207.221:60054 ESPERA_FIN2 - 1 tcp 0 0 192.168.1.1:80 185.58.207.221:60056 ESPERA_FIN2 - 1 tcp 0 0 192.168.1.1:80 91.212.124.11:59976 ESPERA_FIN2 - 1 tcp 0 0 192.168.1.1:53 0.0.0.0:* OUÇA 27813/named 1 tcp 0 0 192.168.1.1:110 63.141.239.174:51519 ESTABELECIDA24534/dovecot/pop3- 1 tcp 0 0 192.168.1.1:53 0.0.0.0:* OUÇA 27813/named 1 tcp 0 0 :::80 :::* OUÇA 4169/httpd 1 tcp 0 0 :::993 :::* OUÇA 24507/dovecot 1 tcp 0 0 :::995 :::* OUÇA 24507/dovecot 1 tcp 0 117612 192.168.1.1:80 187.78.0.105:27514 ESTABELECIDA23981/httpd 1 tcp 0 39440 192.168.1.1:80 191.5.84.131:55769 ESTABELECIDA29813/httpd 1 tcp 0 50 192.168.1.1:51519 63.141.239.174:110 ESTABELECIDA- 1 tcp 1 0 192.168.1.1:2086 177.119.72.164:59195 ESPERANDO_FECHAR18328/whostmgrd - s 1 tcp 1 0 192.168.1.1:2086 189.96.241.80:33878 ESPERANDO_FECHAR8760/whostmgrd - se 1 tcp 1 0 192.168.1.1:2086 189.96.241.80:33919 ESPERANDO_FECHAR25517/whostmgrd - s 1 tcp 88 0 127.0.0.1:3350 127.0.0.1:34978 ESPERANDO_FECHAR- 1 tcp 88 0 127.0.0.1:3350 127.0.0.1:34985 ESPERANDO_FECHAR- 1 tcp 88 0 127.0.0.1:3350 127.0.0.1:34986 ESPERANDO_FECHAR- 1 udp 0 0 127.0.0.1:53 0.0.0.0:* 27813/named 1 udp 0 0 ::1:41611 ::1:41611 ESTABELECIDA8983/postmaster 1 udp 0 0 192.168.1.1:53 0.0.0.0:* 27813/named 1 udp 0 0 192.168.1.1:53 0.0.0.0:* 27813/named 1 udp 0 0 192.168.1.1:53 0.0.0.0:* 27813/named 1 udp 0 0 192.168.1.1:53 0.0.0.0:* 27813/named 1 udp 0 0 192.168.1.1:53 0.0.0.0:* 27813/named 7 udp 79 tcp

Por: marcio mendes mendes


Fila dinâmica em C

azk

Implementação de uma simples fila dinâmica em C. Código em en_US. azk4n

Por: Alexandre (azk)


Manipulação de Arquivos Orientada a Objetos

Sabemos que Perl não é uma linguagem totalmente orientada a objetos e vejo muitas pessoas dizendo que trabalhar com o paradigma orientado a objetos em Perl é complicado ou que Perl fica impossível de ser lida. A verdade é que a orientação a objetos em Perl é uma excelente prática e por muitas vezes faz com que seu código fique mais legível e organizado, fazendo com que você consiga reaproveitar seus códigos se você escrever suas aplicações da forma correta. Abaixo vou mostrar de forma breve e simples como manipular arquivos usando a classe IO::File

Por: Daniel Vinciguerra


Telegram Installer

Você conhece o Telegram né? Este script é minha primeira contribuição ao site. Ele basicamente baixa a última versão do Telegram (e do Telegram Updater) para o seu PC e instala ele para você. O script foi testado no Debian Jessie e Ubuntu, mas deve funcionar em todas as distribuições já que não é amarrado a um formato de pacote (deb, rpm etc) nem faz uso de nenhum installer como APT ou YUM. Após a instalação, o telegram vai estar disponível apenas digitando telegram no terminal. Para atualizar a versão, você pode simplesmente usar o sudo ou entrar como root para o comando telegram-updater P.S.: caso você não possua, é necessário que você tenha o sudo instalado e habilitado para o usuário que você está utilizando. Agradeço qualquer ajuda ou atualização, o script está disponível no github em: https://github.com/gustavohmsilva/telegram_installer

Por: Perfil removido


Criar grupos e usuários

Script básico para ajudar a criar vários usuários e grupos.

Por: Harley Sousa



Anterior Proxima



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts