Category Archives: sadmin

sadmin

Експорт на всички снимки от docx под linux/terminal

Идеята е да не се занимаваме с глупости, а с един ред да изведем всички снимки от съответния Word document (docx). Това работи при docx. Ако документа е doc трябва да се конвертира в docx и тогава да се експортне по този метод:

unzip novini.docx

Archive:  novini.docx
inflating: _rels/.rels
inflating: word/fontTable.xml
inflating: word/_rels/document.xml.rels
inflating: word/settings.xml

extracting: word/media/image19.jpeg
extracting: word/media/image32.jpeg

extracting: word/media/image52.jpeg
extracting: word/media/image39.jpeg

inflating: word/styles.xml
inflating: docProps/app.xml
inflating: docProps/core.xml
inflating: [Content_Types].xml
inflating: word/document.xml

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

Postifx: Проблем със Courier IMAP Error (FAM/Gamin library)

Courier IMAP Error: check for configuration errors with the FAM Gamin libraryПри свързване на мейл клиент Thunderbird и Outlook с мейл сървъра ми показваше следната грешка:

Filesystem notification initialization error — contact your mail administrator (check for configuration errors with the FAM/Gamin library)

Проблема е, че няма libgamin и трябва да се инсталира вместо libfam. Мейл сървъра е postfix

Решението е:

1. Инсталиране на gamin

apt-get update && apt-get -y install gamin

The following extra packages will be installed:
  libgamin0
The following packages will be REMOVED:
  libfam0
The following NEW packages will be installed:
  gamin libgamin0

Removing libfam0 …

Unpacking gamin (from …/gamin_0.1.10-2+b1_i386.deb) …
Setting up gamin (0.1.10-2+b1) …
Setting up libgamin0 (0.1.10-2+b1) …

2. Рестартиране на courier

find /etc/init.d/ | grep courier | while read line; do $line restart; done

Stopping Courier POP3-SSL server: pop3d-ssl.
Starting Courier POP3-SSL server: pop3d-ssl.
Stopping Courier POP3 server: pop3d.
Starting Courier POP3 server: pop3d.
Stopping Courier authentication services: authdaemond.
Starting Courier authentication services: authdaemond.
Stopping Courier IMAP-SSL server: imapd-ssl.
Starting Courier IMAP-SSL server: imapd-ssl.
Stopping Courier IMAP server: imapd.
Starting Courier IMAP server: imapd.

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 7 share на linux

Идеята е под Windows 7 да се сподели директория която да се ползва от linux:

regedit
1. HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa => ‘everyoneincludesanonymous’ -- 1
2. HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa => ‘NoLmHash’ -- 0
3. HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters => ‘restrictnullsessaccess’ -- 0

windows-7-share-linux

2

 

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

Пренасочване от http към https (.htaccess)

Идеята е също да пренасочи и домейна(понеже преди така е бил така и трябва да остане-водеща версия с www, t.e. www.domain.com)

cat .htaccess

RewriteEngine On

RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)

mysql tips random

идеята е една колона в mysql таблица да се напълни със случайни числа от 1 до 3, но от mysql.

Решението: update articles set sezon_id=ceil(RAND()*3)

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

Оптимизиране на изображенията (png,jpg)

Идеята е да се оптимизират изображнията за по- бързо зареждане и според Google PageSpeed Insights:

find . -iname '*.jpg' -print0 | xargs -0 jpegoptim --max=90 --strip-all --preserve --totals;
find $PWD -type f -name "*.jpg*" -execdir jpegoptim -v --strip-all --max=85 --preserve '{}' \;
find . -iname '*.png' -print0 | xargs -0 optipng -o7 -preserve;

Резултата:

./images/back.jpg 85x203 24bit Adobe  [OK] 1044 --> 724 bytes (30.65%), optimized.
./images/322.jpg 100x100 24bit JFIF  [OK] 3044 --> 2666 bytes (12.42%), optimized.
./images/257.jpg 100x100 24bit JFIF  [OK] 2929 --> 2533 bytes (13.52%), optimized.
Average compression (1636 files): 48.48% (10643k)



** Processing: ./selector-arrow.png
13x10 pixels, 4 bits/pixel, 16 colors (1 transparent) in palette
Input IDAT size = 81 bytes
Input file size = 211 bytes

Trying:
  zc = 9  zm = 9  zs = 0  f = 0		IDAT size = 68
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 68
  zc = 8  zm = 9  zs = 0  f = 0		IDAT size = 68
  zc = 8  zm = 8  zs = 0  f = 0		IDAT size = 68
  zc = 7  zm = 9  zs = 0  f = 0		IDAT size = 68
  zc = 7  zm = 8  zs = 0  f = 0		IDAT size = 68
  zc = 6  zm = 9  zs = 0  f = 0		IDAT size = 68
  zc = 6  zm = 8  zs = 0  f = 0		IDAT size = 68
  zc = 5  zm = 9  zs = 0  f = 0		IDAT size = 68
  zc = 5  zm = 8  zs = 0  f = 0		IDAT size = 68
  zc = 4  zm = 9  zs = 0  f = 0		IDAT size = 68
  zc = 4  zm = 8  zs = 0  f = 0		IDAT size = 68
  zc = 3  zm = 9  zs = 0  f = 0		IDAT size = 68
  zc = 3  zm = 8  zs = 0  f = 0		IDAT size = 68
  zc = 3  zm = 9  zs = 1  f = 0		IDAT size = 68
  zc = 3  zm = 8  zs = 1  f = 0		IDAT size = 68
                               
Selecting parameters:
  zc = 3  zm = 8  zs = 1  f = 0		IDAT size = 68

Output IDAT size = 68 bytes (13 bytes decrease)
Output file size = 198 bytes (13 bytes = 6.16% decrease)

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

ssh "Connection reset by peer"

Когато се логна към ssh сървър и не правя нищо известно време излиза със съобщението "Connection reset by peer". За да се фиксне това трябва да се променим времето на почивка на сървъра и на клиента.

Фикс на ssh server:

Файл "/etc/ssh/sshd_config"

ClientAliveInterval 540

Фикс на ssh клиент:

Файл "/etc/ssh/ssh_config"

ServerAliveInterval 540

След този фикс ssh конекцията може да бъде работеща 9 минути без да се прави нищо.

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

Vim трик

За коригиране на lineendings на файла, чрез vim

:e ++ff=dos
:e ++ff=mac
:e ++ff=unix
VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)

Бележки при конвертиране на бази/файлове -- cp1251,utf8,latin1 и т.н.

1. При дъмпване на файл използвам аргумента --extended-insert=FALSE, чрез които не се обединява всички insert-и, а ги разбива на ред по ред. Идеята е, че ако има проблеми да можем лесно да открием и фикснем проблема.
т.е.:
mysqldump --extended-insert=FALSE -uUSER -pPASS DB > db.sql

2. При конвертиране с iconv виждаме следната грешка:

iconv: illegal input sequence at position 23945

за да открием точно къде е проблема отварям файла с vim

и с goto:

:goto 23945

и така откриваме проблема веднага.

3. Фиксване на Utf8 таблица с cp1251 съдържание.

cat 1.sql | iconv -f utf-8 -t latin1//TRANSLIT > 2.sql
cat 2.sql | iconv -f cp1251 -t utf-8 > final.sql;

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