Отладка dmesg журналы

Команды в сценарии оболочки выполняются последовательно. Если Ваша первая команда rsync, следующая команда не выполнится до rsync завершается.

То, в чем Вы хотите быть уверенными, является этим rsync концы успешно прежде, чем продолжиться к следующей команде.

Это не самое изящное решение, но самое легкое для реализации.

rsync -e ssh -az user-whatever@website.com:/home /location/of/local/folder &&\
tar zcf /var/backups/home-`date +%Y%m%d`.tar.gz /location/of/local/folder

Следует иметь в виду, что это будет только работать если статус выхода rsync 0. Любой другой статус выхода и команда 2 не будут работать.

AND and OR lists are sequences of one of more pipelines separated by the &&
and  ||  control operators, respectively.  AND and OR lists are executed 
with left associativity.  An AND list has the form
    command1 && command2
command2 is executed if, and only if, command1 returns an exit status of zero.

Вы могли добавить больше аналитики к своему сценарию при выполнении различных действий на основе rsync ЗНАЧЕНИЯ ВЫХОДА.

#!/bin/bash
PATH=/bin:/usr/bin:/sbin:/usr/sbin

rsync -e ssh -az user-whatever@website.com:/home /location/of/local/folder

if [ $? != "0" ]
  then
   echo "There was a problem"
  else
   tar zcf /var/backups/home-`date +%Y%m%d`.tar.gz /location/of/local/folder
 fi
3
17.09.2013, 23:28
1 ответ

Дамп ядра сгенерирован, когда программа перестала работать с неожиданными результатами. Вышеупомянутое говорит Вам отказавшую команду и копия программы, которая была в памяти, обработал abrt демоном (команда /usr/libexec/abrt-hook-ccpp). Можно затем использовать инструменты такой как gdb отлаживать отказ.Примечание: gdb не для малодушного!

Довольно часто это результат плохо написанного кода (он должен обработать исключения немного лучше), из проблем памяти, или базовые проблемы, такие как команда были связаны с определенной библиотекой динамической нагрузки, которая была теперь изменена, и программа катастрофического отказа больше не может использовать его в способе, которым он ожидает.

От этой страницы существуют детали о том, что процесс Abrt, и как это обрабатывает ядра.

Когда “abrtd” работает, значение sysctl переменного “ядра core_pattern” отличается от вышеупомянутого как показано ниже:

$sysctl-a|grep core_pattern ядро core_pattern = |/usr/libexec/abrt-hook-ccpp/var/cache/abrt %p %s %u %c

“abrtd” создает подкаталог (назвал что-то как “ccpp-1279914365-14618 ″) в каталоге “/var/cache/abrt” как показано в значении переменной. Это также означает, что базовые файлы будут также храниться в том подкаталоге в “/var/cache/abrt” каталоге (в дополнение к текущему каталогу, где приложение было запущено). Демон ABRT также создает другие файлы в дополнение к файлам дампа ядра в подкаталоге для дальнейшей помощи пользователям в отладке проблемы катастрофического отказа.

4
27.01.2020, 21:20

Теги

Похожие вопросы