HEX
Server: Apache
System:
User: root (0)
PHP: 7.4.30
Disabled: exec, passthru, shell_exec, system, proc_open, popen, parse_ini_file, show_source, apache_child_terminate,apache_setenv,chgrp,chmod,chown,curl_multi_exec,define_syslog_variables,eval,exec,highlight_file,openlog,parse_ini_file,parse_ini_string,passthru,php_uname,popen,posix_kill,posix_setpgid,posix_setsid,posix_setuid,proc_open,shell_exec,show_source,syslog,system
Upload Files
File: //sbin/abrt-harvest-pstoreoops
#!/usr/libexec/platform-python
#
# This script is meant to be run once at system startup
# It scans /sys/fs/pstore/*, reconstructs oops text(s)
# from these files, creates ABRT problem directories from them,
# then removes the files (UEFI storage is a limited resource).
#

import os
import sys
from subprocess import Popen

if __name__ == "__main__":
    # need to allow setting the pstore oops storage dir
    # to make this script testable
    pstoredir = "/sys/fs/pstore"
    dryrun = False

    for arg in sys.argv:
        if arg == "dryrun":
            dryrun = True
            continue

        if arg.startswith("--pstoredir"):
            pstoredir = arg.split('=')[1]

    try:
        os.chdir(pstoredir)
    except OSError as ex:
        # silently ignore if the pstore doesn't exist, because that usually
        # means that we're on the system where pstore boot is not supported
        sys.stderr.write("Can't chdir to {0}: {1}".format(pstoredir, ex))
        sys.exit(0)

    merge_status = Popen(
            ["-c", "abrt-merge-pstoreoops -o * | abrt-dump-oops {0}"
            .format("-o" if dryrun else "-D")],
            shell=True,
            bufsize=-1
        ).wait()
    if merge_status == 0:
        Popen(["abrt-merge-pstoreoops -d *"], shell=True, bufsize=-1)
    else:
        sys.stderr.write("Failed to merge pstore oops")