Rev 3 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
# This configuration file specifies which programs should be run# when the specified event occurs in problem directory lifetime.## It consists of directives and rules.## Directives start with a reserved word. Currently, there is only one# directive, "include". Its format is "include FILE".# It causes files which match FILE to be read and# parsed as if they are inserted textually where this directive# occurs. FILE can use shell pattern metacharacters (*,?,etc) to# specify multiple files. Relative paths are interpreted relative# to current file.## Rule starts with a line with non-space leading character.# All subsequent lines which start with space or tab form one rule.# Note that separating newline is *retained*. Example:# EVENT=post-create date >/tmp/dt # semicolon is not needed here!# echo $HOSTNAME `uname -r`## Rules may be commented out with #. One # is sufficient to comment out# even a multi-line rule (no need to comment out every line).## Rules specify which programs to run on the problem directory.# Each rule may have conditions to be checked before the program is run.## Conditions have form VAR=VAL or VAL~=REGEX, where VAR is either# word "EVENT" or a name of problem directory element to be checked# (for example, "executable", "package", hostname" etc).## If all conditions match, the remaining part of the rule# (the "program" part) is run in the shell.# All shell language constructs are valid.# All stdout and stderr output is captured and passed to abrt# and possibly to abrt's frontends and shown to the user.## If the program terminates with nonzero exit code,# the event processing is considered unsuccessful and is stopped.# Last captured output line, if any, is considered to be# the error message indicating the reason of the failure,# and may be used by abrt as such.## If the program terminates successfully, next rule is read# and processed. This process is repeated until the end of this file.# Determine in which package/component the crash happened (if not yet done):EVENT=post-create component= remote!=1abrt-action-save-package-data# Example: if you want all users (not just root) to be able to see some problems:#EVENT=post-createrm uid; chmod a+rX .# uid file is missing for problems visible to all users# (oops scanner is often set up to not create it).# Record username only if uid element is present:EVENT=post-createif [ -f uid ]; then getent passwd "`cat uid`" | cut -d: -f1 >username; fiEVENT=notify package!= uid!=if [ ! -x "/bin/dbus-send" ]; then exit 0; fidbus-send --system --type=signal /com/redhat/abrt com.redhat.abrt.Crash \string:"`cat package`" string:"$DUMP_DIR" string:"`cat uid`"EVENT=notify package!= uid=if [ ! -x "/bin/dbus-send" ]; then exit 0; fidbus-send --system --type=signal /com/redhat/abrt com.redhat.abrt.Crash \string:"`cat package`" string:"$DUMP_DIR" >& /dev/nullEVENT=notify_dup package!= uid!=if [ ! -x "/bin/dbus-send" ]; then exit 0; fidbus-send --system --type=signal /com/redhat/abrt com.redhat.abrt.Crash \string:"`cat package`" string:"$DUMP_DIR" string:"`cat uid`"EVENT=notify_dup package!= uid=if [ ! -x "/bin/dbus-send" ]; then exit 0; fidbus-send --system --type=signal /com/redhat/abrt com.redhat.abrt.Crash \string:"`cat package`" string:"$DUMP_DIR"# Example: if you want to save sosreport immediately at the moment of a crash:# (alternatively, you can add similar command to EVENT=analyze_foo's,# if you would rather perform this collection later):EVENT=post-createnice sosreport --tmp-dir "$DUMP_DIR" --batch \--only=anaconda --only=bootloader --only=devicemapper \--only=filesys --only=hardware --only=kernel --only=libraries \--only=memory --only=networking --only=nfsserver --only=pam \--only=process --only=rpm -k rpm.rpmva=off --only=ssh \--only=startup --only=yum --only=general --only=x11 \>sosreport.log 2>&1 \&& {rm sosreport.logrm sosreport*.md5mv sosreport*.tar.bz2 sosreport.tar.bz2mv sosreport*.tar.xz sosreport.tar.xzexit 0} 2>/dev/null# Error in sosreport run. Let user see the problem.echo "sosreport run failed with exit code $?, log follows:"# sosreport prints many useless empty lines, nuke them:# it looks awful in syslog otherwise.cat sosreport.log | sed 's/ *$//' | grep -v '^$'rm sosreport.logexit 1# Example:# if you want to upload data immediately at the moment of a crash to# a remote directory:# (this example shows how to upload the crash data on# a ABRT centralized crash collection client; man abrt-upload-watch)#EVENT=post-createreporter-upload -u scp://user:password@server.name/var/spool/abrt-upload/ || :# Example:# if you want to upload data immediately at the moment of a crash to# a remote file#EVENT=post-createreporter-upload -u scp://user:password@server.name/tmp/crash.tar.gz || :