<<< Headline | Index | http | bash | basics | x11 | net | vpn | humor | sles | cXX | php | db | perl | soft | unsorted | hw | ppp | tips | linux | fbsd | mail
[Timeline] [View Photos] [rtfm] [Search] [Index by Title] [Index by Date]
perl => my_perl_tips: == post:perl/posts/my_perl_tips


  Perl tips
# Замена в файле
perl -p -i -e "s/load([\s]+)15([\s]+)30/load\t   20 30/g;s/load5([\s]+)10([\s]+)25/load5\t   15 20/g;s/load15([\s]+)10([\s]+)20/load15\t   10 15/g;" /usr/local/etc/hqdaemon.conf

# decode Mime::Base64
perl -e 'use MIME::Base64; print decode_base64( $ARGV[0])."\n";' \
$(ldapsearch -H ldaps://ldap.server.ru -D 'uid=<login>,ou=users,o=vega' -b 'uid=puppet_svn,ou=virtual,ou=users,o=vega' -w <password> |\
 grep userPassword | awk '{print $2}')

Полезный скрипт для выдачи записей из базы ldap: ldaplist

Работа с Excel: excel

Клиент-сервер: client-server

Парсинг логов и раскладывание в отдельный лог для каждого домена. В общем случае выполняется команда:
for i in {1..4}; do data=201001$i;ls -la *.access_log.$data|awk '{if($5==0) print $9}'|sed 's/.access_log.'$data'//g' > ~john/domains-$data; ~/count.sh $data; done
она запускает скрипт count.sh

Перевод timestamp в удобочитаемый формат:
cat /opt/nagios/archives/nagios-02-02-2010-00.log |grep BGP|sed 's/\[//g;s/\]//g'|perl -e 'while( my $s=<STDIN>) {
my @a = split( / +/, $s); 
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime($a[0]); 
my $Data=sprintf "%4d-%02d-%02d %02d:%02d:%02d",$year+1900,$mon+1,$mday,$hour,$min,$sec; print "$Data $s"; 
}'


  Out of Memory
*Проблема*
[u218851@be109 ~]$ perl -MCPAN -e shell
Terminal does not support AddHistory.

cpan shell -- CPAN exploration and modules installation (v1.9301)
ReadLine support available (maybe install Bundle::CPAN or Bundle::CPANxxl?)

cpan[1]> i Carp
CPAN: Storable loaded ok (v2.18)
Going to read /home/u218851/.cpan/Metadata
Going to read /home/u218851/.cpan/sources/authors/01mailrc.txt.gz
CPAN: Compress::Zlib loaded ok (v2.015)
............................................................................DONE
Going to read /home/u218851/.cpan/sources/modules/02packages.details.txt.gz
Database was generated on Tue, 23 Feb 2010 01:41:02 GMT
CPAN: HTTP::Date loaded ok (v5.810)
...............
New CPAN.pm version (v1.9402) available.
[Currently running version is v1.9301]
You might want to try
install CPAN
reload cpan
to both upgrade CPAN.pm and run the new version without leaving
the current session.

CPAN: Time::HiRes loaded ok (v1.9719)

.............................................................DONE
Going to read /home/u218851/.cpan/sources/modules/03modlist.data.gz
Out of memory during request for 8 bytes, total sbrk() is 133277696 bytes!
Terminal does not support GetHistory.
Lockfile removed.
*Решение*
В файле /etc/login.conf меняем:
shell:\
        :cputime=10m:\
        :datasize=128M:\
        ^^^^^^^^^^^^^^^^ здесь меняем на 192M
        :stacksize=16M:\
        :memorylocked=16M:\
        :memoryuse=64M:\
        :vmemoryuse=192M:\
        :openfiles=128:\
        :maxproc=96:\
        :priority=10:\
        :tc=cgi:
После этого запускаем:
cap_mkdb /etc/login.conf

perl/posts/my_perl_tips -- Last updated 2010-04-27 Tuesday 14:50:26 Edit

© copyright 2010
Design by: lev