суббота, 24 сентября 2011 г.

bitrix backup script








#!/bin/sh
#http://dev.1c-bitrix.ru/community/blogs/howto/945.php

doc_root=$1
name=$2
if [ -z $doc_root ]; then
    echo Usage: $0 /path/to/document/root [backup_name]
    exit
fi

if [ -z $name ]; then
    name=backup
fi

dbconn=$doc_root/bitrix/php_interface/dbconn.php

readcfg() {
    grep $1 $dbconn | sed 's/.*"\(.*\)".*/\1/'
}

host=`readcfg DBHost`
username=`readcfg DBLogin`
password=`readcfg DBPassword`
database=`readcfg DBName`

utf=`grep 'BX_UTF' $dbconn | grep true`

if [ -z "$utf" ]; then
    charset=cp1251
    else
    charset=utf8
fi

backup_dir=$doc_root/bitrix/backup

if [ ! -e $backup_dir ]; then
    mkdir $backup_dir
fi

cd $doc_root && 
mysqldump -h$host -u$username -p$password --default-character-set=$charset $database > $backup_dir/$name.sql && 
tar -cf $backup_dir/$name.tar $backup_dir/$name.sql &&  
rm $backup_dir/$name.sql &&
tar -rf $backup_dir/$name.tar --exclude '*bitrix/tmp/*' --exclude '*bitrix/updates/*' --exclude '*bitrix/backup/*' --exclude '*bitrix/*cache/*' . && 
gzip -f -9 $backup_dir/$name.tar && 
echo OK && exit
echo Error

вторник, 20 сентября 2011 г.

perl: профилирование

Вариантов много.
perl -d:NYTProf script.pl
nytprofhtml && смотрим в браузере

perl-Class-Accessor-Named.noarch : Better profiling output for Class::Accessor
perl-Devel-Profiler.noarch : Perl profiler compatible with dprofpp
perl-Template-Timer.noarch : Rudimentary profiling for Template Toolkit
perl-Test-Timestamp.noarch : Create timestamp objects for testing or profiling
perl-Devel-NYTProf.x86_64 : Powerful fast feature-rich perl source code profiler
perl-Devel-SmallProf.noarch : Per-line Perl profiler
perl-Template-Timer.noarch : Rudimentary profiling for Template Toolkit

oprofile.x86_64 : System wide profiler

понедельник, 12 сентября 2011 г.

четверг, 8 сентября 2011 г.

Получение заголовков, в частности показ сжатия

#!/usr/local/bin/python

#http://diveintopython.org/http_web_services/gzip_compression.html

import urllib2, httplib
import sys
#httplib.HTTPConnection.debuglevel = 1
if (len(sys.argv)<2):
    print 'Use: '+sys.argv[0]+' site.ru/index.html'
    exit(1)
host = 'http://'+sys.argv[1]
request = urllib2.Request(host)
request.add_header('Accept-encoding', 'gzip')
opener = urllib2.build_opener()
f = opener.open(request)
print(f.headers)
f.close()