Category Archives: sadmin

sadmin

Sublime

Тук ще описвам интересни бележки за Sublime

Любими плъгини:
Emmet
BracketHighlighter
Color Highlighter
ColorPicker (Ctrl + Shift + C )
Theme Centurion
AutoFileName
TabsExtra
SublimeLinter
sublimelinter
sublimelinter-php
sublimelinter-jshint
HTML-CSS-JS Prettify
SideBarEnhancements
Super Calculator

 

Инсталиране на jshint linux:
apt-get update && apt-get install nodejs npm nodejs-legacy php;
npm install -g jshint;
npm install -g csshint;

Монтиране на ssh на отдалечена машина
apt-get install && apt-get install -y sshfs;
sshfs amri@server.bg:/w/ ~/Desktop/server.bg -o port=33

Синтаксис по подразбиране PHP(може и Html и други):

File: ~/.config/sublime-text-3/Packages/User/default_syntax.py

import sublime, sublime_plugin

class DefaultSyntaxCommand(sublime_plugin.EventListener):
def on_new(self, view):
view.set_syntax_file('Packages/PHP/PHP.tmLanguage')

 

Инсталиране на пакети (в случая emmet за отворени/затворени тагове)

В този случай : emmet
https://packagecontrol.io/installation

ctrl+` или View > Show Consol

import urllib.request,os,hashlib; h = 'df21e130d211cfc94d9b0905775a7c0f' + '1e3d39e33b79698005270310898eea76'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)

Ctrl + Shift + P или  Preferences > Package Control > Package Control: Install Package
Emmet и това е 🙂
Комбинацията е Control + Shift + ' и се маркира затварящия таг

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

Инсталиране на yuicompressor (оптимизиране на js, css)

1. Инсталиране на java
mkdir -p /usr/share/java

wget https://github.com/yui/yuicompressor/releases/download/v2.4.8/yuicompressor-2.4.8.jar -P /usr/share/java

vi /usr/bin/yc

#!/bin/sh

java -jar /usr/share/java/yuicompressor-2.4.8.jar "$@"
chmod +x /usr/bin/yc
yc default.css -o default-min.css

yc sample.js -o sample-min.js

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

Показване на дублираните редове в libfreoffice и linux

1. В gnu/linux терминал:

cat a.txt b.txt |sort|uniq -u

2. В libreoffice:

1. В колона “A” поставяме малкия списък
2. В колона “B” поставяме пълния списък
3. Маркираме цялата колона A и сортираме по азбучен ред> Sort Ascending → Current selection
4. Маркираме цялата колона B и сортираме по азбучен ред > Sort Ascending → Current selection
5. В колона “C” слагаме формулата =COUNTIF(A$1:A$10000,B1) на цялата колона
6. Маркираме цялата колона C и сортираме по азбучен ред> Sort Ascending → Extend selection

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

joomla съобщение: "Unable to load Cache Storage: database"

Днес на един сайт на joomla излязоха следните съобщения:

Unable to load Cache Storage: database
Unable to load Cache Storage: database
Unable to load Cache Storage: database

за да се фиксне е необходимо в configuration.php да се направят следните корекции:

ПРЕДИ
var $cache_handler = 'database';

СЛЕД
var $cache_handler = 'file';

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

Squirrelmail с проблем при кирилица

При отваряне или препращане на писма с кирилица понякога не се прави коректно от squirrelmail затова е необходимо да конвертираме всичко в utf8 и да го сетнем.
squirrelmail-cyrillic-problem

Ето го и решението:

cd /usr/share/squirrelmail_nuts;
find . -iname squirrelmail.po|grep bg
cd locale/bg_BG/LC_MESSAGES/;

iconv -f CP1251 -t UTF-8 squirrelmail.po > squirrelmail.utf-8.po;
sed 's/cp1251/UTF-8/' squirrelmail.utf-8.po > squirrelmail.po;
rm squirrelmail.utf-8.po;
msgfmt -o squirrelmail.mo squirrelmail.po;

cd /usr/share/squirrelmail_nuts;
find . -iname i18n.php

vim ./functions/i18n.php
$languages["bg_BG"]["NAME"] = 'Bulgarian';
$languages["bg_BG"]["CHARSET"] = 'utf-8';
$languages["bg_BG"]["LOCALE"] = 'bg_BG.UTF-8';
$languages["bg"]["ALIAS"] = 'bg_BG';

vim  locale/bg_BG/setup.php
$languages['bg_BG']['NAME']    = 'Bulgarian';
$languages['bg_BG']['CHARSET'] = 'utf-8';
$languages['bg_BG']['LOCALE']  = 'bg_BG.UTF-8';
$languages['bg']['ALIAS']      = 'bg_BG';

/etc/init.d/apache2 reload

thx to Hipo

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

Windows tips (Дата на инсталиране на Windows и програми)

Определяне кога са инсталирани приложенията в Windows:

1. В регистри: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall

InstallDate
YYYYMMDD (eg 20090301 for here March 1, 2009)

2. Чрез Control Panel -> Programs and Features
Колоната "Installed on"

Определяне кога е инсталиран съответния Windows

1. В cmd се изпълнява: systeminfo|find /i "original"

2. В cmd: WMIC OS GET installdate

Резултат:
20131019011658
Извод: 2013(year) 10(month) 19(date) 01(hour) 16(minutes) 58(seconds)

3. В регистри:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\InstallDate

Конвертира се в decimal, и примерно излиза: 1414160971
Това като се конвертира чрез онлайн приложението unix time conversion(http://www.onlineconversion.com/unix_time.htm) Или local излиза същата дата както през systeminfo

Как да се редактира дата на създаване, дата на редактиране на файл или папка под Windows:

Чрез Attribute Changer- http://www.petges.lu/home/

Кога е създадена папка или файл под Windows?
File Properties -> Created

Кога е инсталиран Linux?

ls -ld /var/log/installer
ls -ld /lost+found
Датите на двете папки са едни и същи и тези дати са всъщност датите на инсталиране

PS: Съдебна експертиза, Съдебни експертизи, експертиза, expertiza, xpertiza

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

Cron не изпълнява своите задачи

Cron не се изпълнява своите задачи. Cron е пуснат като демон и работи, но не изпълнява задачите си 🙂

Всъщност проблема беше, че в един момент задачите в /etc/crontab не искаха да се изпълняват .
Пуснахме cron в режим "higher log level" от тук :
/etc/default/cron
EXTRA_OPTS="-L 2"

# service cron restart
Restarting periodic command scheduler: cron.

и видяхме следното нещо в /var/log/syslog:

tail -f /var/log/syslog|grep CRON

Feb 24 11:59:14 beta /usr/sbin/cron[16571]: (CRON) INFO (pidfile fd = 3)
Feb 24 11:59:14 beta /usr/sbin/cron[16572]: (CRON) STARTUP (fork ok)
Feb 24 11:59:14 beta cron[16572]: Error: bad minute; while reading /etc/crontab
Feb 24 11:59:14 beta /usr/sbin/cron[16572]: (*system*) ERROR (Syntax error, this crontab file will be ignored)
Feb 24 11:59:14 beta /usr/sbin/cron[16572]: (CRON) INFO (Skipping @reboot jobs --- not system startup)

Т.е. има синтактична грешка която пречи на cron да изпълни задачите си и понеже има много задачи там като разгледахме ред по ред видяхме, че на една от задачите наистина имаше грешка. Скед като се отстрани грешката се рестартира cron и готово 🙂

tail -f /var/log/syslog|grep CRON

Feb 24 12:00:11 beta /usr/sbin/cron[16708]: (CRON) INFO (pidfile fd = 3)
Feb 24 12:00:11 beta /usr/sbin/cron[16709]: (CRON) STARTUP (fork ok)
Feb 24 12:00:11 beta /usr/sbin/cron[16709]: (CRON) INFO (Skipping @reboot jobs --- not system startup)

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

Кодиране на кирилица за url

Идеята е, че имаме 200 url-та които искаме да кодираме с  php. Ето го решението(може да се направи от file,mysql или тук ако са малко директно в масив):

# cat cyr_url_encoder.php

<?php
$links=array(
'http://www.example.bg/',
'http://www.example.bg/cart',
'http://www.example.bg/adds/Камиони',
'http://www.example.bg/listing/931/Двигател',
'http://www.example.bg/contact',
'http://www.example.bg/parts/Бусове',
'http://www.example.bg/статия/Авточасти%20За%20Hyundai',
'http://www.example.bg/listing/935/Радиатор%20Парно',
'http://www.example.bg/listing/891/Шарнир%20Долен',
'http://www.example.bg/listing/854/Глава'
);//End of $links=array(


$myfile = fopen("decoded.txt", "w") or die("Unable to open file!");
foreach ($links as $link)
{
echo "[1]Orig: $link\n";
$link=urldecode($link);
echo "[2]Decoded: $link\n";
$info=parse_url($link);
$scheme=$info['scheme'];
$host=$info['host'];
$path=$info['path'];
$path=urlencode($path);
$urlencode="$scheme://$host$path";
$urlencode=str_replace("%2F","/",$urlencode);
echo "[3]Encoded: $urlencode\n\n";
fwrite($myfile, "$urlencode\n");
};

Резултата:

# php cyr_url_encoder.php

[1]Orig: http://www.example.bg/
[2]Decoded: http://www.example.bg/
[3]Encoded: http://www.example.bg/

[1]Orig: http://www.example.bg/cart
[2]Decoded: http://www.example.bg/cart
[3]Encoded: http://www.example.bg/cart

[1]Orig: http://www.example.bg/adds/Камиони
[2]Decoded: http://www.example.bg/adds/Камиони
[3]Encoded: http://www.example.bg/adds/%D0%9A%D0%B0%D0%BC%D0%B8%D0%BE%D0%BD%D0%B8

[1]Orig: http://www.example.bg/listing/931/Двигател
[2]Decoded: http://www.example.bg/listing/931/Двигател
[3]Encoded: http://www.example.bg/listing/931/%D0%94%D0%B2%D0%B8%D0%B3%D0%B0%D1%82%D0%B5%D0%BB

[1]Orig: http://www.example.bg/contact
[2]Decoded: http://www.example.bg/contact
[3]Encoded: http://www.example.bg/contact

[1]Orig: http://www.example.bg/parts/Бусове
[2]Decoded: http://www.example.bg/parts/Бусове
[3]Encoded: http://www.example.bg/parts/%D0%91%D1%83%D1%81%D0%BE%D0%B2%D0%B5

[1]Orig: http://www.example.bg/статия/Авточасти%20За%20Hyundai
[2]Decoded: http://www.example.bg/статия/Авточасти За Hyundai
[3]Encoded: http://www.example.bg/%D1%81%D1%82%D0%B0%D1%82%D0%B8%D1%8F/%D0%90%D0%B2%D1%82%D0%BE%D1%87%D0%B0%D1%81%D1%82%D0%B8+%D0%97%D0%B0+Hyundai

[1]Orig: http://www.example.bg/listing/935/Радиатор%20Парно
[2]Decoded: http://www.example.bg/listing/935/Радиатор Парно
[3]Encoded: http://www.example.bg/listing/935/%D0%A0%D0%B0%D0%B4%D0%B8%D0%B0%D1%82%D0%BE%D1%80+%D0%9F%D0%B0%D1%80%D0%BD%D0%BE

[1]Orig: http://www.example.bg/listing/891/Шарнир%20Долен
[2]Decoded: http://www.example.bg/listing/891/Шарнир Долен
[3]Encoded: http://www.example.bg/listing/891/%D0%A8%D0%B0%D1%80%D0%BD%D0%B8%D1%80+%D0%94%D0%BE%D0%BB%D0%B5%D0%BD

[1]Orig: http://www.example.bg/listing/854/Глава
[2]Decoded: http://www.example.bg/listing/854/Глава
[3]Encoded: http://www.example.bg/listing/854/%D0%93%D0%BB%D0%B0%D0%B2%D0%B0

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