Поправяне на повредена mysql таблица

Понеже забелязах, че има доста питания за поправяне на повредена таблица в mysql база реших в тази публикация да напиша някои от начините които ползвам.

Обикновено когато таблицата е повредена излиза следното съобщение:

"… is marked as crashed and should be repaired …"

Първи начин:

myisamchk -r <DatabaseName>\*.MYI

Втори начин:

repair table powredena_tablica_w_mysql

Ето набързо написах един прост script които предлага repair, optimize и check на таблиците в mysql:

#!/bin/sh
#Mysql Table Fixer v 0.75 |  Written by amri

#Variables

MUSER=$2
MPASS=$3
DBNAME=$4

Usage() {
echo "Usage: $0"
echo " --optimize mysqluser mysqlpass tablename"
echo " --repair mysqluser mysqlpass tablename"
echo " --check mysqluser mysqlpass tablename"
return
}

repair_mysql_table()
{
TABLENAMES=`mysql -u$MUSER -p$MPASS -D $DBNAME -e "SHOW TABLES\G;"|grep 'Tables_in_'|sed -n 's/.*Tables_in_.*: \([_0-9A-Za-z]*\).*/\1/p'`
for TABLENAME in $TABLENAMES
do
mysql -u$MUSER -p$MPASS -D $DBNAME -e "$1 TABLE $TABLENAME;"
done
}

if [ $# -eq 0 ] ; then
Usage
exit 1
fi

case $1 in
--repair) repair_mysql_table "repair";;
--optimize) repair_mysql_table "optimize";;
--check) repair_mysql_table "check";;
--help) Usage; exit 1;;
*) Usage; exit 1;;
esac

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Прекъсна интернет свързаността от BTC

btc_problemДнес във 14:00 часа прекъсна интернет свързаността от BTC. След проведен разговор с тяхната поддръжка става ясно, че имат сериозен проблем които обхваща свързаността им в цяла България. Дори мога да цитирам "Нямам интернет дори в нашият офис". В 14:55 проведохме разговор отново и също отново разбрахме, че работят по отстраняване на проблема и щял да бъде отстранен във 15:00 часа. Не беше отстранен в 15:00 часа, но дори и след 10 мин закъснение проблемът беше оправен в 15:10 часа. В момента няма проблем с интернета на BTC и се надявам скоро да няма.

Редакция малко по- късно: Свързаността или по- просто казано интернетът на BTC отново бе прекъснат в 15:42 часа до 17:19 часа . След като отново проведохме разговор ни обясниха, че стабилизират мрежата. Голямо стабилизиране голямо нещо близо два часа.

Сумарно над два часа нямаше Интернет от BTC

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Списък със сайтове в България предоставящи sms реклама

Уеб сайт: www.etaj55.com
Описание: Развлекателен сайт -- запознанства, музика, клипове, блогове, игри, виртуален магазин.
Активност: 5 000 импресии
Мобилни оператори: ГлоБул, ВиваКом и Мтел.
Цена на изпратен SMS: 1.20 лв (вкл. ДДС)
Префикс при изпращане: неизвестен
Номер за изпращане на sms:неизвестен
Пример за изпращане: неизвестен
Директна връзка към страницата за SMS реклама: ТУК
Статус: Не активен

Уеб сайт: www.stranabg.com
Описание: Страна БГ -- дайджест на българските медии
Активност: 7 дни
Мобилни оператори: ГлоБул, ВиваКом и Мтел.
Цена на изпратен SMS: 4.80 лв (вкл. ДДС)
Префикс при изпращане: payst или „pay st"
Номер за изпращане на sms: 1703
Пример за изпращане: „payst www.referati.org"
Директна връзка към страницата за SMS реклама: ТУК
Статус: Активен

Уеб сайт: www.stroitelbg.com
Описание: Строителен Форум
Активност: 7 дни
Мобилни оператори: неизвестни
Цена на изпратен SMS: 1.20 лв (вкл. ДДС)
Префикс при изпращане: неизвестен
Номер за изпращане на
sms: неизвестен
Пример за изпращане:
неизвестен
Директна връзка към страницата за
SMS реклама: ТУК
Статус: Не активен

Уеб сайт: www.bulgar-bg.com
Описание:
Булгар-портал за БЪЛГАРИ!
Активност: Всяко следващо съобщение избутва предишните и се позиционира на първо място. (от 10 позиции)
Цена на изпратен SMS: 0.60 лв (вкл. ДДС)
Префикс при изпращане:paybul"
Номер за изпращане на sms: 1518
Пример за изпращане:
paybul www.referati.org"
Директна връзка към страницата за
SMS реклама: ТУК
Статус: Активен

Уеб сайт: www.music-joy.net
Описание: Музикален сайт
Активност: Рекламният линк е активен, докато не бъде изместен от други линкове
Цена на изпратен SMS: 1.20 лв (вкл. ДДС)
Префикс при изпращане: неизвестен
Номер за изпращане на sms: неизвестен
Пример за изпращане: неизвестен
Директна връзка към страницата за
SMS реклама: ТУК
Статус: Не активен

Уеб сайт: www.prosoccer.bg
Описание: Сайт за професионални спортни прогнози
Активност: Рекламният линк е активен, докато не бъде изместен от други линкове
Цена на изпратен SMS: 1.20 лв (вкл. ДДС)
Префикс при изпращане:PAY REK"
Номер за изпращане на sms: 2323
Пример за изпращане: "PAY REK www.referati.org"
Директна връзка към страницата за
SMS реклама: ТУК
Статус: Активен

Уеб сайт: www.bgflash.org
Описание: Он-лайн флаш игри, Класации, Турнири, Награди, Снимки, Профили
Активност: 2 500, 5000 и 10 000 импресии
Цена на изпратен SMS: 0.60, 1.20 и 2.40 лв (вкл. ДДС)
Префикс при изпращане:pay bgflash"
Номер за изпращане на sms: 2225
Пример за изпращане: "pay bgflash"
Директна връзка към страницата за
SMS реклама: ТУК
Допълнителна информация: След като изпратите sms трябва да отворите допълнителната форма и да въведете номера от които изпращате предния sms. В тази форма може да добавяте информация за линка или линк към банер.
Статус: Активен

Уеб сайт: www.dupeta.net
Описание: Сайт за запознанства
Активност: 10 000 импресии
Цена на изпратен SMS: 4.80 лв (вкл. ДДС)
Префикс при изпращане:media"
Номер за изпращане на sms: 1703
Пример за изпращане: "media"
Директна връзка към страницата за
SMS реклама: ТУК
Допълнителна информация: След като изпратите sms  ще получите уникален код които трябва да въведете ТУК.
Статус: Активен

Уеб сайт: www.cs-bg.info
Описание: Counter-Strike портал
Активност: 10 000 и 50 000 импресии
Цена на изпратен SMS: 1.20 лв. , 2.40 лв. (вкл. ДДС)
Префикс при изпращане: неизвестен
Номер за изпращане на sms: неизвестен
Пример за изпращане: неизвестен
Директна връзка към страницата за
SMS реклама: ТУК
Допълнителна информация: Преди да изпратите SMS трябва да се регистрирате в сайта.
Статус: Активен

Уеб сайт: www.moetodete.com
Описание: Моето Дете: Сайт-форум за настоящи и бъдещи родители и педагози
Активност: 10 000 импресии
Цена на изпратен SMS: 1.20 лв. (вкл. ДДС)
Префикс при изпращане: pay mdrec
Номер за изпращане на sms: 1923
Пример за изпращане: pay mdrec 25
Директна връзка към страницата за SMS реклама: ТУК
Допълнителна информация: Необходимо е да изпратите рекламен банер на adres nfmoetodete[at]abv.bg и ще получите ID на банера си. За да закупите 1 000 импресии за Вашият банер изпратете един смс
Статус: Активен

Уеб сайт: www.auto.italiabg.com
Описание: Уеб сайт за автомобили
Активност: Всеки линк е в режим на публикуване, докато не достигне минимум 100 клика
Цена на изпратен SMS: 1.20 лв. (вкл. ДДС)
Префикс при изпращане: "payit"
Номер за изпращане на sms: 2216
Пример за изпращане: "payit www.referati.org"
Директна връзка към страницата за SMS реклама: ТУК
Статус: Активен

Уеб сайт: www.pismo.bg
Описание: Електронна поща
Активност: 24 часа
Цена на изпратен SMS: 1.20 лв. , 2.40 лв. (вкл. ДДС)
Префикс при изпращане: "get pismo 4"
Номер за изпращане на sms: 2323
Пример за изпращане: "get  pismo  4"
Директна връзка към страницата за SMS реклама: ТУК
Допълнителна информация: Изпратете текст „get pismo 4" след което ще получите обратен смс със идентификатор които трябва да въведете ТУК
Статус: Активен

Уеб сайт: www.obiavite.biz
Описание: Сайт за безплатни обяви
Активност: 1, 4 и 14 дневна VIP обява
Цена на изпратен SMS: 0.60 лв, 1.20 лв. , 2.40 лв. (вкл. ДДС)
Префикс при изпращане: неизвестен
Номер за изпращане на sms: неизвестен
Пример за изпращане: неизвестен
Директна връзка към страницата за SMS реклама: ТУК
Статус: Активен

Уеб сайт: www.naemite.com
Описание: Специализиран портал за безплатни обяви за наеми
Активност: Рекламният линк е активен, докато не реализира 30 клика
Цена на изпратен SMS: 0.30 лв. (вкл. ДДС)
Префикс при изпращане: неизвестен
Номер за изпращане на sms: неизвестен
Пример за изпращане: неизвестен
Директна връзка към страницата за SMS реклама: ТУК
Статус: Не активен

VN:F [1.9.22_1171]
Rating: 5.0/5 (2 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Инсталиране на NVIDIA Driver в Debian Lenny

debian-kfreebsdЕто тук една малка публикация как се инсталира Nvidia Driver в Debian Lenny. Идеята на статията е да обясни от къде може да се изтегли Nvidia драйвера и как да бъде инсталиран напълно безопасно. Нивото на познание необходимо за реализирането на написаното в статията е много малко поради елементарния начин на написване на тази статия- Прост и изчистен(Това, че инсталирането става лесно също допринася за леснотата при изпълнение). Ето я и самата статия:

Инсталиране на NVIDIA Driver в Debian Lenny

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Възстановяване на нормалния текст във Firefox

firefoxПредполагам знаете, че Firefox има възможност да уголемявате и респективно да намалявате текста на всяка уеб страница. Пример за увеличаване е клавишната комбинация (Shortcut) "Ctrl" и "+" и за смаляване на текста "Ctrl" и "-" .

Проблем тук е, че тези две клавишни комбинации са доста широко разпространени за сметка на третата комбинация за възстановяване на първоначалната големина на текста. Възстановяването става чрез натискане на следните бутони "Ctrl" и "0"(нула) .

На практика съм виждал доста хора които ползват функцията за увеличаване на текст върху конкретен сайт и след това незнаят какво увеличение са направили на сайта поради това сайтът се чупи. Опитват да затворят браузъра и да отворят сайта отново, но уви сайтът е отново счупен. За целта се използва клавишната комбинация "Ctrl" + "0"(нула) която възстановява стандартната големина на текста в конкретната страниаца.

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Динамично добавяне на ред в html

Икона на htmlДнес се наложи да правя/редактирам едно малко приложение в което се налага да се менажират редовете в таблица без да се релоадва страницата. Тъй като съм го правил доста пъти реших да потърся другите методи и начини и да понапиша малко за това. Преводох, добавях, редактира и като цяло ето една публикация която има за цел да ви обясни как динамично, чрез javascript да добавяте,редактиране,изтриване редове или коловини в таблиците на html :).
Ето я публикацията: Динамично добавяне на ред в таблица, чрез innerHTML срещу DOM срещу cloneNode

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Скриване на изходящ резултат в bash

Един приятел ме пита как се скриваше резултат в bash. Понеже реших, че това може да е полезно затова го пиша и тук.
Ето как става да се скрие изхода в bash:

killall -9 process 2> /dev/null > /dev/null;

По този начин каквото и съобщение да изведе "killall" няма да бъде изведено.

Това е всичко:)

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Използване на аргументи в php command line

Реших да напиша как се използват и викат аргументи от командния ред(php-cli) на PHP, че явно не е толкова популярно. Масива в които се съхраняват аргументите е $argv. За извеждане на аргументите може да ползвате print_r($argv) както  и други … .

Пример за използване на аргументи в php:

Код за primer.php

<?php
print_r($argv);
?>

При изпълнение на php primer.php edno dwe tri

Ще изведе:

Array
(
[0] => primer.php
[1] => edno
[2] => dwe
[3] => tri
)

Това е просто за тези които го знаят :)

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Обединяване на два log файла в Apache чрез awstats или logresolvemerge.pl

awstats_logoСлучвало ли ви се е да ви се наложи да обедините няколко access файла от Apache. Идеята е да направите статистика на сайта с awstats,webalizer или някои друго приложение но това приложение извлича информацията от един файл. За тази цел трябва да обедими файловете ime.access.log и ime.access.log.1 (или всички логове от ime.access.log*) в един файл ime.access.log.FULL. Това може се направи със едно perl скриптче в пакета awstats. За целта първо трябва да инсталирате awstats (apt-get install awstats) и
cp /usr/share/doc/awstats/examples/logresolvemerge.pl /usr/local/bin за
да копирате logresolvermerge като системна команда.
Но сега всичко е наред докато не решите да стартирате logresolvemerge.pl просто за да разберем, че работи нормално(ще ни изведе help страницата си):

dhs:~# logresolvemerge.pl
-bash: /usr/local/bin/logresolvemerge.pl: /usr/bin/perl^M: bad interpreter: No such file or directory

Тук logresolvemrge се чупи не защото има проблем с perl, а защото в сорса има Windows break lines. за да поправим този "проблем" конвертираме към UNIX break lines със dos2unix което приложение се намира в пакета sysutils. за целта инсталираме sysutils:

apt-get install sysutils

след това конвертираме от Windows break lines към Unix break lines:
dos2unix /usr/local/bin/logresolvemerge.pl /usr/local/bin/logresolvemerge.pl

След това тестово изпълняваmе logresolvemrge.pl за да видим дали работи коректно. Ако работи коретно ще ни изведе следната помощна страница:

----- logresolvemerge 1.2 (build 1.34) (c) Laurent Destailleur -----
logresolvemerge allows you to get one unique output log file, sorted on date,
built from particular sources:
-- It can read several input log files,
-- It can read .gz/.bz2 log files,
-- It can also makes a fast reverse DNS lookup to replace
all IP addresses into host names in resulting log file.
logresolvemerge comes with ABSOLUTELY NO WARRANTY. It's a free software
distributed with a GNU General Public License (See COPYING.txt file).
logresolvemerge is part of AWStats but can be used alone as a log merger
or resolver before using any other log analyzer.

Usage:
logresolvemerge.pl [options] file
logresolvemerge.pl [options] file1 … filen
logresolvemerge.pl [options] *.*
perl logresolvemerge.pl [options] *.* > newfile
Options:
-dnslookup     make a reverse DNS lookup on IP adresses
-dnslookup=n   same with a n parallel threads instead of serial requests
-dnscache=file make DNS lookup from cache file first before network lookup
-showsteps     print on stderr benchmark information every 8192 lines
-addfilenum    if used with several files, file number can be added in first
-addfilename   if used with several files, file name can be added in first
field of output file. This can be used to add a cluster id
when log files come from several load balanced computers.

This runs logresolvemerge in command line to open one or several
server log files to merge them (sorted on date) and/or to make a reverse
DNS lookup (if asked). The result log file is sent on standard output.
Note: logresolvemerge is not a 'sort' tool to sort one file. It's a
software able to output sorted log records (with a reverse DNS lookup
included or not) even if log records are dispatched in several files.
Each of thoose files must be already independently sorted itself
(but that is the case in all web server log files). So you can use it
for load balanced log files or to group several old log files.

Don't forget that the main goal of logresolvemerge is to send log records to
a log analyzer in a sorted order without merging files on disk (NO NEED
OF DISK SPACE AT ALL) and without loading files into memory (NO NEED
OF MORE MEMORY). Choose of output records is done on the fly.

So logresolvemerge is particularly usefull when you want to output several
and/or large log files in a fast process, with no use of disk or
more memory, and in a chronological order through a pipe (to be used by a log
analyzer).

Note: If input records are not 'exactly' sorted but 'nearly' sorted (this
occurs with heavy servers), this is not a problem, the output will also
be 'nearly' sorted but a few log analyzers (like AWStats) knowns how to deal
with such logs.

WARNING: If log files are old MAC text files (lines ended with CR char), you
can't run this tool on Win or Unix platforms.

WARNING: Because of important memory holes in ActiveState Perl version, use
another Perl interpreter if you need to process large lof files.

Now supports/detects:
Automatic detection of log format
Files can be .gz/.bz2 files if zcat/bzcat tools are available in PATH.
Multithreaded reverse DNS lookup (several parallel requests) with Perl 5.8+.
New versions and FAQ at http://awstats.sourceforge.net

След като установихме, че работи перфектно ;) сега ще обединим двата файла ime.access.log и ime.access.log.1 (или всички логове от ime.access.log*) в един файл ime.access.log.FULL като това става със следната команда:

logresolvemerge.pl /var/log/apache2/ime.access.log.* > /var/log/apache2/ime.access.log.FULL

Ето и един доста по- прост начин за обединяване на логовете в Apache, а именно, чрез cat:

cat /var/log/apache2/access.log.1 /var/log/apache2/access.log > /var/log/apache2/access.log.ALL

Това е всичко. Вече имаме един обединен Дневник както се казва в някои български литератури- Logfile на Apache.

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Два добри плъгина (NextGen gallery и youtuber) за WordPress.

Преди малко ми се наложи на една wordpress платформа да предоставя възможност на потребителите да качат снимки като галерия(не говоря за стандартната) и да добавят youtube клипове.

Потърсих в http://wordpress.org/extend/plugins/ и намерих следните два плъгина.:

Първия плъгин е добър за галерия и се казва NextGEN Gallery
Инсталира се по нормалния метод. При галерията NextGEN gallery добавянето на снимки става абсолютно лесно както и активирането на галерията- използват се двата тага: [nggallery id=x] или [slideshow id=x]. Галерията има и други тагове които оставам на вас да разгледате сами.

Втория плъгин е за добавяне на youtube клипове с име Youtuber.
Инсталирането на Youtuber става отново по нормалния начин а използването става по …. -- отново по -- лесен начин, а именно:Ако искате да добавите клип с URL:  http://www.youtube.com/watch?v=cNVFiZHFLSE тогава копираме стойнсотта на аргумент "v" , а именно "cNVFiZHFLSE" и го поставяме в тагът на youtuber или [youtube]cNVFiZHFLSE[/youtube]

О забравих да споделя, че авторите на плъгините са:
NextGent gallery -- Alex Rabe
Youtuber-- Roy Tanck

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Личен Блог на Мартин Петров