Skip to content


У ПриватБанка появилась возможность прямого перевода на карты MasterCard

В чем разница между visa и mastercardНа днях ПриватБанк в своём сервисе интернет-банкинга Приват24 анонсировал новую возможность --- прямой перевод на карты MasterCard (до этого такая возможность была лишь для карт Visa).

Тарифы:

  • на карту MasterCard украинского банка -- 3 грн. + 0,5% от суммы перевода
  • на карту MasterCard зарубежного банка -- 10 грн. + 1% от суммы перевода

Для сравнения по картам Visa (при переводе на карты других банков) тариф составляет аж 1,95 USD + 1%. Переводы на MasterCard получаются намного экономнее. Лично я пока таких переводов не делал, поэтому подозреваю, что кроме этих комиссий могут возникнуть еще какие-то дополнительные комиссии (например, для "кредиток"). Это было бы вполне в духе ПриватБанка.

Регламент проведения платежа:

  • на карту Visa/MasterCard ПриватБанка – мгновенно (в отдельных случаях до одного банковского дня);
  • на карту Visa/MasterCard другого банка – до 3 банковских дней (в отдельных случаях до 5 банковских дней, зависит от банка эмитента).

Перевод возможно совершить на карты MasterCard, выпущенных в следующих странах: Азербайджан, Албания, Армения, Болгария, Босния и Герцеговина, Венгрия, Грузия, Израиль, Казахстан, Кипр, Косово, Македония, Мальта, Молдова, Польша, Россия, Румыния, Сербия, Словакия, Словения, Турция, Украина, Хорватия, Черногория, Чехия.

Данные актуальны по состоянию на 2012-05-18.


Кстати, еще про отличия между MasterCard и Visa (это общая информация, безотносительно к ПриватБанку).

  • Карт Visa в мире выпущено больше (57% у Visa против 26% у MasterCard --- по данным wikipedia). Несмотря на это, очень сложно найти терминал, который принимал бы только карты одной платёжной системы и не принимал бы карты другой.
  • Карты MasterCard всегда требуют ввода PIN-кода, в отличие от карт Visa. Кому-то это может показаться доводом в пользу Visa (пожалуй, только людям со совсем дырявой памятью, не способным запомнить 4 цифры пин-кода), но тут следует учесть, что в случае оспаривания платежа платежные системы будут возлагать ответственность на обслуживающую точку, где не потребовали ввода пин-кода. А если эта точка была где-то в другой стране, то компенсации от неё будет добиться весьма и весьма непросто. Как следствие, при утере или краже карты Visa расстаться со своими деньгами навсегда значительно проще --- другой человек может воспользоваться ею в торговой сети.
  • По картам Visa есть месячный лимит снятия средств со счёта, как правило на уровне 10000USD. При его превышении требуется связываться с банком. Причём это ограничение устанавливается банками, а не самой платёжной системой.
  • При расчётах за границей, комиссия за конвертацию валюты зависит от валюты, которой банк рассчитывается с платёжной системой. Как правило, для Visa это доллары, для MasterCard – евро. Таким образом, рассчитываться в Европе, Африке (Алжир - исключение), а также на Кубе (ну не любят там пиндосов и всё что с ним связано) лучше картами MasterCard, а на американских континентах (кроме Кубы), Австралии, Таиланде --- картами Visa, иначе будете терять дополнительные деньги из-за двойной конвертации. Для выбора валюты счета в основном используется следующее правило: по операциям внутри Украины банк отдает платежной системе (например, Visa) гривну; по операциям в евро – евро; по операциям за рубежом в валюте, отличной от евро – доллар. То есть при поездке в еврозону стоит открывать картсчет в евро, а при поездке в США или Японию – долларовый. Еще нюанс - при конвертации со счёта не всегда списывается вся сумма сразу, чаще только основная её часть, а комиссии могут списываться позже. Так что если карта не имеет кредитного лимита или неснижаемого остатка, то лучше за границей снимать с нее деньги, оставляя «запас», так как иначе может возникнуть несанкционированный овердрафт, что приведет к непредвиденным расходам (а если его вовремя не заметить, то к весьма большим расходам). То есть операции с конвертацией валют происходят по следующей схеме.

    Конвертация по картам VISA производится в 2 этапа:
    1) Из валюты операции осуществляется перевод в валюту платежной системы (всегда доллары США) по курсу платежной системы (если валюта операции – доллары США, то данная конвертация не производится).
    2) Из валюты платежной системы (доллары США) производится перевод в валюту карточного счета по курсу банка (если валюта счета – доллары США, то данная конвертация не производится).

    Конвертация по картам MasterCard производится в 2 этапа:
    1) Из валюты операции осуществляется перевод в валюту платежной системы (всегда евро) по курсу платежной системы (если валюта операции – евро, то данная конвертация не производится).
    2) Из валюты платежной системы (евро) производится перевод в валюту карточного счета по курсу банка (если валюта счета – евро, то данная конвертация не производится).

Вот еще полезные статьи на тему расчётов картами за границей:

А вот здесь можно узнать курсы конверсии платёжных систем:

Что касается сайта Visa, то украинский Дельта-Банк для своих клиентов выдаёт такие рекомендации по использованию тамошнего валютного конвертера:

  1. В выпадающем списке "My Card Is In" независимо от валюты карточного счёта всегда выбирать "United States Dollar (USD)".
  2. В выпадающем списке "My Transaction Was In" выбрать валюту, в которой была проведена операция (для Украины это обычно "Ukrainian Hryvnia (UAH)".
  3. В поле "Enter Bank Fee (0-5%)" ввести число 0 (ноль).
  4. В поле "Date Requested" ввести дату проведения операции.

Posted in Money.


Как прибить процесс средствами одного только bash

Однажды одно криво написанное java-приложение серьёзно поднапрягло сервер - почти на любую команду в консоли вылазила такая вот ошибка:

"bash: fork: Resource temporarily unavailable"

Конечно, первым желанием было запустить top или ps чтобы вычислить и пристрелить зажравшийся процесс, но, вот незадача, консоль всё тупо продолжала гнуть свою линию в виде "bash: fork: Resource temporarily unavailable" на все мои попытки запустить какую-либо внешнюю (не из списка bash builtins) команду... Я сразу заподозрил, что зажравшимся процессом, скорей всего, является java. Но вот как прибить оный, не зная его PID-а? И тут я вспомнил, про файловую систему /proc... Затем после пары минут экспериментов родился такой вот скрипт, который успешно позволил решить мне задачу нахождения PID-а процесса java, используя только встроенные в коммандный интерпретатор (bash) команды:

#!/bin/bash
for p in /proc/[0-9]* ; do
  exec 9< $p/cmdline
  read -u 9 line
  [[ $line =~ java ]] && echo "|$p|: |$line|"
  exec 9<&-
done

В строке 3 мы назначаем файловому дескриптору 9 псевдо-файл /proc/<pid>/cmdline, далее читаем из него в переменную line, потом сравниваем эту переменную со строкой "java" и в случае совпадения выводим имя файла, имя которого соответствует PID-у процесса. В строке 6 освобождаем файловый дескриптор 9. Затем оставалось только набрать команду kill с найденным таким образом вожделенным PID-ом (к счастью, kill является встроенной в bash). И, о чудо, консоль снова стала себя адекватно вести, LA упало, память освободилась. Уже потом, по графикам cacti стало понятно, что причиной такого безобразия стало неимоверно большое количество потоков (около 70000), которое успело наплодить вышеупомянутое криво написанное java-приложение.

А вот если бы мне не удалось прибить процесс, тогда, пожалуй, пришлось бы сервер перезагружать. Поскольку стоит он далеко, за морями-океанами, то нажать кнопочку reset на корпусе тут не получилось бы. Тогда бы я просто набрал в консоли

echo s > /proc/sysrq-trigger
echo u > /proc/sysrq-trigger
echo b > /proc/sysrq-trigger

Что привело бы к сбросу дисковых буферов (строка 1), перемонтированию файловых систем в режим read-only (строка 2) и немедленной перезагрузке (строка 3). Если же к консоли всё таки имеется непосредственный доступ (физически или через IP-KVM), то следует предусмотрительно в /etc/sysctl.conf добавить строчку

kernel.sysrq = 1

Тогда будет работать волшебная комбинация клавиш AltGr+PrtScr+<command>, где <command> - однобуквенная команда, посылаемая ядру. Список всех поддерживаемых команд с их очень кратким описанием можно получить на консоли (и в /var/log/messages) если нажать комбинацию AltGr+PrtScr+h или выполнить команду:

echo h > /proc/sysrq-trigger

Полный список магических буковок можно найти тут.

Posted in *nix, Howto.

Tagged with , , , .


Trustlink дарит серьёзным блогам 3000 руб.

С 13.03.2012 по 15.04.2012 ссылочная биржа Trustlink проводит весьма интересную акцию «Блоги 3000».

Блог, на котором система Trustlink проиндексирует 1000 и более страниц, получит бонус в размере 3000 российских рублей на счет в TrustLink. Деньги можно будет вывести через два месяца после добавления блога в биржу.

Условия акции:

  1. ТИЦ блога от 10 и выше;
  2. ёмкость блога 1000 и более страниц;
  3. при добавлении выбрать в качестве тематики «Блоги».
  4. успешно пройти модерацию.

В акции принимают участие блоги на любом движке, добавленные в систему и прошедшие модерацию. К участию в акции принимаются только блоги, добавленные в систему с параметрами "по умолчанию": "Режим беззаботный", отсутствием ограничений по закупке в зависимости от времени.

Posted in Money.


tinyproxy: Could not allocate memory for child counting

tinyproxy - это маленький и не требовательный к ресурсам HTTP/SSL-прокси-сервер. Его целесообразно применять там, где не хочется ставить что-то более навороченное, типа squid-а.

Заметил я однажды на одном из серверов, что tinyproxy не взлетает, ругаясь в свой лог-файл /var/log/tinyproxy/tinyproxy.log таким вот образом:

INFO   Feb 16 10:40:57 [25015]: Now running as group "tinyproxy".
INFO   Feb 16 10:40:57 [25015]: Now running as user "tinyproxy".
ERROR  Feb 16 10:40:57 [25015]: Could not allocate memory for child counting.

Само собой, сразу полез проверять что с памятью, но свободной памяти оказалось предостаточно. На всякий случай остановил даже тяжелые по памяти процессы, съедающие обычно по нескольку гигабайт RSS --- безрезультатно, ошибка никуда не делась.

Запустив tinyproxy через strace, я увидел следующее:

munmap(0x2b2ae6a30000, 4096)            = 0
umask(0177)                             = 0177
gettimeofday({1329484731, 868249}, NULL) = 0
getpid()                                = 13041
open("/tmp/tinyproxy.shared.P0QttN", O_RDWR|O_CREAT|O_EXCL, 0600) = 3
unlink("/tmp/tinyproxy.shared.P0QttN")  = 0
ftruncate(3, 40)                        = 0
mmap(NULL, 40, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0) = 0x2b2ae6a30000
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x2b2ae6a3ce40) = 13042
--- SIGCHLD (Child exited) @ 0 (0) ---
exit_group(0)                           = ?

Эта попытка создать файл в директории /tmp навела меня на мысль проверить права доступа к ней. Оказалось, что права там нестандартные:

[avz@ds1 /tmp]# ls -ld /tmp
lrwxrwxrwx 1 root root 24 Апр 10  2009 /tmp -> /mnt/disk2/tmp/
[avz@ds1 /tmp]# ls -ld /mnt/disk2/tmp
drwxrwxr-x 4 root www 4096 Фев 17 13:18 /mnt/disk2/tmp/

Как видно, отсутствует права на запись для пользователей, не входящих в группу www. А сам tinyproxy как раз должен работать от имени пользователя tinyproxy, который в группу www не входит. После комнады chmod o+w /mnt/disk2/tmp tinyproxy успешно запустился :)

Posted in *nix.

Tagged with .