Category Archives: Administration
График LA в командной строке
Оказывается, в shell есть команда для построения графика изменения la с течением времени — tload Результат — А я всё по старинке пользовался top-ом). http://linux.about.com/library/cmd/blcmdl1_tload.htm
Проблема при работе с расширением memcached в php
Работал раньше сайт с memcache. Решили перейти на memcached. И повалились ошибки SERVER HAS FAILED AND IS DISABLED UNTIL TIMED RETRY, причём сначала одна CLIENT ERROR, а уже потом куча SERVER HAS FAILED AND IS DISABLED UNTIL TIMED RETRY. Гугление ничего не дало, а проблема оказалась в следующем: первая ошибка возникала из-за некорректного ключа (пробел …
Борьба с утечками памяти в php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
$limit = 512; $thresholdDelta = 10; ini_set('memory_limit', $limit . 'm'); ... $memoryThresholdReached = false; $memoryThreshold = ( $limit - $thresholdDelta ) * 1024 * 1024; ... while ( $user = $db->plain_fetch( $result ) ) { ... // тут работа с данными ... // проверка на превышение опасного порога использования памяти if ( ! $memoryThresholdReached && memory_get_usage( true ) > $memoryThreshold ) { $memoryThresholdReached = true; try { throw new SystemException( 'Превышен порог использования памяти...' ); } catch ( Exception $e ) {} } } |
Более серьёзные способы — просмотр стека (strace -f -p $pid) и дебаг php C-шным дебаггером DBG.
Перемещение большого количества файлов в linux shell
Сбойнул один старый скрипт и написал он много маленьких (2-3 кб) файлов в одну директорию. Посмотрел я, сколько файлов оказалось, командой для подсчёта количества файлов в директории
1 |
ls -1 | wc -l |
Оказалось файлов таких за миллион. На эти файлы смотрел скрипт демонский, который по ним рассылал почты много. Решил я эти файлы из директории той убрать (чтоб пользователей …
MySQL. Восстановление из бэкапа
Понадобилось восстановить бэкап mysql размером примерно в гигабайт. Всякие phpMyAdmin даже сжатый файл кушать отакзываются — ограничение по размеру, а доступа к настройкам нет. Нашёл хороший способ — в командной строке
1 2 3 4 |
mysql mysql>use database <>; mysql>source path/to/backup_file.sql; |
Очень быстро и хорошо) http://forums.mysql.com/read.php?104,145923,148081#msg-148081
Как проверить, какие порты слушаются какими программами в linux
Вывод всех портов и программ, которые их слушают:
1 |
netstat -anp | grep LISTEN |
Или
1 |
netstat -plutn |
Вот так можно посмотреть, кто слушает или обращается к определённому порту:
1 |
lsof -i :<port> |
Запуск проекта Django
Запустить новый проект Перед запуском надо записать изменения в базу данных:
1 |
python manage.py syncdb |
Также можно проверить на ошибки:
1 |
python manage.py validate |
Запустить проект:
1 |
python manage.py runserver |
Кстати, тут много про запуск Django в продакшн-окружении.
Генерация SSH-ключей в linux
Проверяем, есть ли SSH
1 |
$ ssh -v |
Генерируем ключик
1 |
$ ssh-keygen |
Для пользователей Ubuntu для доступности ключа
1 2 3 |
chmod 644 ~/.ssh/id_rsa.pub ssh-agent bash ssh-add |
Всё) Ссылка на оригинал
SSL в nginx
Всё просто — нужно его сгенерировать и дописать конфиг — подробнее: http://wiki.enchtex.info/howto/nginx_ssl Для использования в связке с php-fpm нужно указать:
1 |
fastcgi_param HTTPS on; |
Монтирование Windows-разделов на Ubuntu linux
Командой sudo fdisk -l узнаём названия разделов, к примеру
1 2 3 4 5 6 7 8 9 10 11 |
Устр-во Загр Начало Конец Блоки Id Система /dev/sda1 * 1 8924 71681998+ 7 HPFS/NTFS /dev/sda2 8925 19215 82655250 5 Расширенный Раздел 2 не заканчивается на границе цилиндра. /dev/sda4 19215 19458 1952768 83 Linux /dev/sda5 8925 15452 52436128+ 7 HPFS/NTFS /dev/sda6 18607 19215 4882432 83 Linux /dev/sda7 17512 17877 2929664 82 Linux своп / Solaris /dev/sda8 17878 18073 1574336+ 83 Linux /dev/sda9 18074 18606 4281291 83 Linux /dev/sda10 16194 17511 10585088 83 Linux |
Находим свой любимый NTFS-раздел. Далее правим файл /etc/fstab — добавляем строку (для раздела /dev/sda5)
1 |
/dev/sda5 /media/d ntfs-3g defaults 0 0 |
Не забыть в конце файла пустую строку. После чего перезагружаемся — всё лежит там, где бы мы хотели. Подмонтировать сразу можно командой sudo mount -a.