Читаем core dump файлы

Недавно у одного из клиентов было нужно понять почему периодический заваливался asterisk. Для диагностики использовался отличный отладчик gdb, а также core-файлы, которые создавались в папке /tmp при крахе приложения. Просто приведу пример использования:

gdb /usr/sbin/asterisk /tmp/core.pbx.local-2014-03-31T04\:02\:41+0400

После анализа gdb выведет функцию или модуль в котором произошла ошибка.

В моем случае это была ошибка при выходе из функции конвертирования mp3.

Вышло новое ядро Linux 3.10

В воскресенье вечером официально вышло новое ядро Linux 3.10. По словам Линуса Торвальдса, ядро получилось самым большим по объему нововведений за последние несколько лет. Первоначально Линус предполагал выпустить еще один релиз-кандидат, но склонился к тому, чтобы выпустить финальный релиз 3.10 — и в своем сообщении он замечает, что новое ядро, как и Linux 3.9, не склонно к проблемам с работоспособностью, и готово к повседневному использованию.

В анонсе RC-версии Торвальдс писал, что обычно он включал список имен людей, которые прислали те или иные части кода, однако на сей раз этот список был столь велик, что его нельзя было привести целиком в одном листе рассылки.

Неполный список внесённых в ядро 3.10 изменений: (далее…)

Самый простой backup-скрипт на bash Linux

В этой заметке я покажу пример самого простого бэкап-скрипта на bash Linux.

#!/bin/bash
# This is my backup file - created by 

# here I am setting a time stamp variable which I like to use for logging
TIMESTAMP=`date +%Y%m%d.%H%M`

# here I am setting up the backup directory as a variable
DEST_DIR="/backup/my-backup"

# here I am setting up the directory in which I want to backup, again another variable
SRC_DIR="/home//Documents"

# let's create a variable for the backup file name file
FNAME="MyBackup"

# let's create a variable for the log file, let's also name the log file with the filename and timestamp it
LOG="/home//log/$FNAME-$TIMESTAMP.log"

# start the backup, create a log file which will record any messages run by this script
echo -e "Starting backup of  $SRC_DIR directory" >> ${LOG}

# compress the directory and files, direct the tar.gz file to your destination directory
tar -vczf ${DEST_DIR}/${FNAME}-${TIMESTAMP}.tar.gz ${SRC_DIR} >> ${LOG}

# end the backup, append to log file created by this script
echo -e "Ending backup of  $SRC_DIR" >> ${LOG}

Сохраняем его в удобном для вас каталоге и задаем выполнение по расписанию. Для этого открываем файл /etc/crontab и в конец добавляем строку:

00 00   * * *   root    sh /home/backup/backup1c.sh

Mount LVM Partition in the RHEL / CentOSМонтирование LVM в RHEL / CentOS

lvm
Mount LVM-partition in Linux differs from typical mounting of standard file system partition (for example, ext2 and ext3). Let’s have a look at our disk:

fdisk -l /dev/hda
Disk /dev/hda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/hda1 * 1 13 104391 83 Linux
/dev/hda2 14 19457 156183930 8e Linux LVM

lvm
Монтирование LVM-разделов в Linux несколько отличается от типичного монтирования разделов стандартных файловых систем (например, ext2 или ext3). Взглянем на наш диск:

fdisk -l /dev/hda
Disk /dev/hda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/hda1 * 1 13 104391 83 Linux
/dev/hda2 14 19457 156183930 8e Linux LVM

(далее…)

Примеры отправки писем из консоли Linux

Иногда бывает просто необходимо отправить себе письмо. В данной заметке я покажу 2 маленьких примера. Но предварительно нам понадобится утилита uuencode. Если у вас она еще не установлена, то установите ее:

# RHEL, CentOS
yum install sharutils
# Debian, Ubuntu
apt-get install sharutils

В первом мы отправим простое письмо с текстом. А во втором – отправим письмо с вложением из консоли Linux:

#Простое письмо
mail -s "Example" [email protected] < text_file.txt

#Письмо с вложением
uuencode attachment_image.jpg attachment_image.jpg | mail -s "Example" [email protected]