__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
#!/bin/sh

#set -ex

# This script should be run on customer system to collect required information about system for support purpose only.

# Must be run under root user.
if [ "$(id -u)" -ne 0 ]; then
	echo "You must run this script as root." >&2
	exit 1
fi

export LANGUAGE="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"

PROVIDER="eset"
RTP_MODULE="eset_rtp"
EWAP_MODULE="eset_wap"
ROOT_PROCESS_NAME="startd"

# Find security product
if [ -f "/opt/${PROVIDER}/eea/etc/pkgid" ]; then
	PRODUCT="eea"
	LSLOG_LOCATION="sbin"
	CFG_LOCATION="lib"
	CLOUD_LOCATION="lib"

elif [ -f "/opt/${PROVIDER}/efs/etc/pkgid" ]; then
	PRODUCT="efs"
	LSLOG_LOCATION="bin"
	CFG_LOCATION="sbin"
	CLOUD_LOCATION="sbin"

else
	echo "Security product not found." >&2
	exit 1
fi

# paths
PRODUCT_PATH="${PROVIDER}/${PRODUCT}"
INSTALL_PATH="/opt/${PRODUCT_PATH}"
VAR_PATH="/var/opt/${PRODUCT_PATH}"
INTERNAL_LOG_PATH="/var/log/${PRODUCT_PATH}/internal"
LOG_PATH="/var/log/${PRODUCT_PATH}/logd"
RUN_PATH="/var/run/${PRODUCT_PATH}"

ECP_LOGS_PATH="${VAR_PATH}/licensed/ecp"
UDEV_FILE_PATH="/etc/udev/rules.d/00-${PROVIDER}.${PRODUCT}.rules"
WAP_USER_DATA_FILE_PATH="${VAR_PATH}/wap/daemon/user_data.txt"
WAP_CERT_CTL_LOG_FILE_PATH="${VAR_PATH}/wap/daemon/cert_ctl.log"
WAP_VAR_DIR="${VAR_PATH}/wap"
MODULES_BACKUPS_DIR="${VAR_PATH}/updated/modules/backup"

RTP_STATS_PATH="/sys/module/${RTP_MODULE}/statistics"

LSLOG_PATH="${INSTALL_PATH}/${LSLOG_LOCATION}/lslog"
CFG_PATH="${INSTALL_PATH}/${CFG_LOCATION}/cfg"
LSDEV_PATH="${INSTALL_PATH}/bin/lsdev"
CLOUD_PATH="${INSTALL_PATH}/${CLOUD_LOCATION}/cloud"

LOCAL_STORAGE_PATH="${VAR_PATH}/storage"

# temp directory
TMP_DIR="$(mktemp -d)"

# inner directory
DATE="$(date --iso-8601=seconds)"
INNER_DIR="${PRODUCT}_logs_${DATE}"
DUMPS_DIR="${TMP_DIR}/${INNER_DIR}/dumps"
INTERNAL_DIR="${TMP_DIR}/${INNER_DIR}/internal"
STORAGE_DIR="${TMP_DIR}/${INNER_DIR}/storage"
mkdir "${TMP_DIR}/${INNER_DIR}"
mkdir "${DUMPS_DIR}"
mkdir "${INTERNAL_DIR}"
mkdir "${STORAGE_DIR}"

# output files
INFO_FILE="${TMP_DIR}/${INNER_DIR}/${PRODUCT}_info"
SYSTEM_FILE="${TMP_DIR}/${INNER_DIR}/${PRODUCT}_system"
KERNEL_FILE="${TMP_DIR}/${INNER_DIR}/${PRODUCT}_kernel"
EVENT_FILE="${TMP_DIR}/${INNER_DIR}/${PRODUCT}_events"
DETECTION_FILE="${TMP_DIR}/${INNER_DIR}/${PRODUCT}_detections"
SCANS_FILE="${TMP_DIR}/${INNER_DIR}/${PRODUCT}_scans"
SENT_FILE="${TMP_DIR}/${INNER_DIR}/${PRODUCT}_sent_files"
BLOCKED_FILE="${TMP_DIR}/${INNER_DIR}/${PRODUCT}_blocked_files"
DEVICES_FILE="${TMP_DIR}/${INNER_DIR}/${PRODUCT}_devices"
CLOUD_FILE="${TMP_DIR}/${INNER_DIR}/${PRODUCT}_cloud"
CFG_DUMP_FILE="${TMP_DIR}/${INNER_DIR}/${PRODUCT}_cfg_dump"
CFG_EXPORT_FILE="${TMP_DIR}/${INNER_DIR}/${PRODUCT}_cfg_export"
LSOF_FILE="${TMP_DIR}/${INNER_DIR}/${PRODUCT}_lsof"
LSUSB_FILE="${TMP_DIR}/${INNER_DIR}/lsusb"
UDEV_FILE="${TMP_DIR}/${INNER_DIR}/udevadm"
TOP_FILE="${TMP_DIR}/${INNER_DIR}/top"
SELINUX_FILE="${TMP_DIR}/${INNER_DIR}/${PRODUCT}_selinux"
DISTRO_FILE="${TMP_DIR}/${INNER_DIR}/distro_info"
MACHINE_FILE="${TMP_DIR}/${INNER_DIR}/machine_info"
NETWORK_FILE="${TMP_DIR}/${INNER_DIR}/network_info"
ERRORS_FILE="${TMP_DIR}/${INNER_DIR}/script_errors"
JOURNAL_FILE="${TMP_DIR}/${INNER_DIR}/journal_log"
PACKAGES_FILE="${TMP_DIR}/${INNER_DIR}/packages_info"
ENVIRON_FILE="${TMP_DIR}/${INNER_DIR}/${PRODUCT}_environ"
PRIO_FILE="${TMP_DIR}/${INNER_DIR}/${PRODUCT}_priority"
WAP_FILE="${TMP_DIR}/${INNER_DIR}/${PRODUCT}_wap"
VASCANLOG_FILE="${TMP_DIR}/${INNER_DIR}/${PRODUCT}_va_scans"
PMRESULTLOG_FILE="${TMP_DIR}/${INNER_DIR}/${PRODUCT}_pm_results"
MODULES_FILE="${TMP_DIR}/${INNER_DIR}/${PRODUCT}_modules"

# redirect all errors into ERRORS_FILE
exec 2> "${ERRORS_FILE}"

section_header() {
	echo ""
	echo "#### $1 ####"
}

small_header() {
	echo ""
	echo "## $1 ##"
}

list_folder() {
	small_header "$1"
	ls -alZ "$1"
}

list_folder_only() {
	small_header "$1"
	ls -alZd "$1"
}

### SYSTEM AND PRODUCT INFO
section_header "STATUS" >> "${INFO_FILE}"
if which systemctl >/dev/null 2>/dev/null ; then
	systemctl status "${PRODUCT}" --full --no-page >> "${INFO_FILE}"
fi

section_header "PROCESSES" >> "${INFO_FILE}"
ps -e -L -w -w -o user:25,group:25,uid,tid,pgid,ppid,pcpu,pmem,vsize,start_time,stat,c,rtprio,policy,pri,ni,time,label,cmd | grep "UID\|/${PROVIDER}/" | grep -v grep >> "${INFO_FILE}"

section_header "KERNEL" >> "${INFO_FILE}"
uname -a >> "${INFO_FILE}"

section_header "SELINUX" >> "${INFO_FILE}"
if which sestatus >/dev/null 2>/dev/null ; then
	sestatus >> "${INFO_FILE}"
fi
if which getenforce >/dev/null 2>/dev/null ; then
	getenforce >> "${INFO_FILE}"
	( cd /var/log/audit && grep denied audit* | grep "${PROVIDER}_${PRODUCT}" ) >> "${SELINUX_FILE}"
else
	echo "No SELinux found" >> "${INFO_FILE}"
fi

section_header "DATE" >> "${INFO_FILE}"
date >> "${INFO_FILE}"

section_header "MEMORY" >> "${INFO_FILE}"
df -h >> "${INFO_FILE}"

section_header "FILE SYSTEMS" >> "${INFO_FILE}"
mount >> "${INFO_FILE}"

if [ -f "/etc/fstab" ] ; then
	section_header "/etc/fstab" >> "${INFO_FILE}"
	cat "/etc/fstab" >> "${INFO_FILE}"
fi

section_header "FOLDERS" >> "${INFO_FILE}"
# root
list_folder_only "/" >> "${INFO_FILE}"
# /opt
list_folder_only "/opt" >> "${INFO_FILE}"
# /opt/eset
list_folder_only "/opt/${PROVIDER}" >> "${INFO_FILE}"
# binaries
echo "" >> "${INFO_FILE}"
ls -RalZ "${INSTALL_PATH}" >> "${INFO_FILE}"
# /var
list_folder_only "/var" >> "${INFO_FILE}"
# /var/run
list_folder_only "/var/run" >> "${INFO_FILE}"

#/var/run/ can be a symlink to /run
if [ -L "/var/run" ]; then
	ls -alZdL "/var/run" >> "${INFO_FILE}"
fi

# /var/run/eset
list_folder_only "/var/run/${PROVIDER}" >> "${INFO_FILE}"
# sockets
list_folder "${RUN_PATH}/" >> "${INFO_FILE}"
# /var/opt
list_folder_only "/var/opt" >> "${INFO_FILE}"
# /var/opt/eset
list_folder_only "/var/opt/${PROVIDER}" >> "${INFO_FILE}"
# /var/opt/eset/product
list_folder "${VAR_PATH}" >> "${INFO_FILE}"
# configuration
list_folder "${VAR_PATH}/confd/" >> "${INFO_FILE}"
# license and activation info
list_folder "${VAR_PATH}/licensed/" >> "${INFO_FILE}"
# modules
list_folder "${VAR_PATH}/lib/" >> "${INFO_FILE}"
# modules - nups
list_folder "${VAR_PATH}/lib/data/updfiles" >> "${INFO_FILE}"
# cache
ls -RalZ "${VAR_PATH}/cache/" >> "${INFO_FILE}"
# /var/log/
list_folder_only "/var/log" >> "${INFO_FILE}"
# /var/log/eset/
list_folder_only "/var/log/${PROVIDER}" >> "${INFO_FILE}"
# logs
list_folder "${LOG_PATH}" >> "${INFO_FILE}"
list_folder "${LOG_PATH}/ods" >> "${INFO_FILE}"

### DISTRIBUTION INFO
section_header "VERSION" >> "${DISTRO_FILE}"
cat "/proc/version" >> "${DISTRO_FILE}"

section_header "RELEASE" >> "${DISTRO_FILE}"
if [ -x "/usr/bin/lsb_release" ] ; then
	"/usr/bin/lsb_release" -a >> "${DISTRO_FILE}"
elif [ -f "/etc/redhat-release" ] ; then
	cat "/etc/redhat-release" >> "${DISTRO_FILE}"
elif [ -f "/etc/sles-release" ] ; then
	cat "/etc/sles-release" >> "${DISTRO_FILE}"
elif [ -f "/etc/os-release" ] ; then
	cat "/etc/os-release" >> "${DISTRO_FILE}"
fi

### MACHINE INFO
section_header "STATUS" >> "${MACHINE_FILE}"
if which hostnamectl >/dev/null 2>&1; then
	hostnamectl status >> "${MACHINE_FILE}"
fi

section_header "DMIDECODE" >> "${MACHINE_FILE}"
dmidecode >> "${MACHINE_FILE}"

section_header "LSCPU" >> "${MACHINE_FILE}"
lscpu >> "${MACHINE_FILE}"

section_header "CPU" >> "${MACHINE_FILE}"
cat "/proc/cpuinfo" >> "${MACHINE_FILE}"

section_header "MEMINFO" >> "${MACHINE_FILE}"
cat "/proc/meminfo" >> "${MACHINE_FILE}"

section_header "SECURE BOOT STATUS" >> "${MACHINE_FILE}"
if which mokutil >/dev/null 2>&1; then
	mokutil --sb-state >> "${MACHINE_FILE}" 2>&1
else
	od --address-radix=n --format=u1 /sys/firmware/efi/efivars/SecureBoot* >> "${MACHINE_FILE}" 2>&1
fi

### NETWORK INFO
section_header "IP ADDR" >> "${NETWORK_FILE}"
ip addr list >> "${NETWORK_FILE}"

if which netstat >/dev/null 2>/dev/null ; then
	section_header "NETSTAT" >> "${NETWORK_FILE}"
	netstat -tulpn >> "${NETWORK_FILE}"

elif which ss >/dev/null 2>/dev/null ; then
	section_header "SS" >> "${NETWORK_FILE}"
	ss -tulwnp >> "${NETWORK_FILE}"
fi

if [ -f "/etc/sysconfig/network" ] ; then
	section_header "/etc/sysconfig/network" >> "${NETWORK_FILE}"
	cat "/etc/sysconfig/network" >> "${NETWORK_FILE}"
fi

### KERNEL MODULE INFO AND LOGS
section_header "MODINFO" >> "${KERNEL_FILE}"
modinfo "${RTP_MODULE}" >> "${KERNEL_FILE}"

section_header "ERTP statistics" >> "${KERNEL_FILE}"
if [ -f "${RTP_STATS_PATH}" ] ; then
	cat "${RTP_STATS_PATH}" >> "${KERNEL_FILE}"
fi

section_header "DMESG LOGS" >> "${KERNEL_FILE}"
if which dmesg >/dev/null 2>/dev/null ; then
	dmesg -r | grep "${RTP_MODULE}" >> "${KERNEL_FILE}"
fi

### SYSTEM LOGS
if which journalctl >/dev/null 2>/dev/null ; then
	journalctl -x | grep -i "${PROVIDER}" >> "${SYSTEM_FILE}"
	journalctl -xe >> "${JOURNAL_FILE}"
fi

if [ -f "/var/log/messages" ] ; then
	( cd /var/log && cp ./*messages* "${TMP_DIR}/${INNER_DIR}" )
fi

if [ -f "/var/log/syslog" ] ; then
	( cd /var/log && cp ./*syslog* "${TMP_DIR}/${INNER_DIR}" )
fi

if [ -f "/var/log/debug" ] ; then
	( cd /var/log && cp ./*debug* "${TMP_DIR}/${INNER_DIR}" )
fi

### CONFIGURATION
cp "${VAR_PATH}/confd/settings.json" "${TMP_DIR}/${INNER_DIR}"

ROOT_PROCESS_PID="$(pidof $ROOT_PROCESS_NAME)"
### following info is collected only for running product
if [ -n "$ROOT_PROCESS_PID" ]; then
	## ENVIRONMENT VARIABLES AND THREAD PRIORITES OF RUNNING SERVICES
	ALL_SERVICES_PIDS="$ROOT_PROCESS_PID $(cat /proc/"$ROOT_PROCESS_PID"/task/"$ROOT_PROCESS_PID"/children)"
	for pid in $ALL_SERVICES_PIDS; do
		{ cat "/proc/$pid/cmdline"; echo ""; } | tee -a "$ENVIRON_FILE" >> "$PRIO_FILE"
		{ cat "/proc/$pid/environ"; echo ""; } >> "$ENVIRON_FILE"
		# list io priority of threads
		ps -eT | awk -v pattern="$pid" '$0~pattern{print $2}' | xargs ionice -p >> "$PRIO_FILE"
	done

	## PRODUCT LOGS
	"${LSLOG_PATH}" --csv --events >> "${EVENT_FILE}"
	"${LSLOG_PATH}" --csv --detections >> "${DETECTION_FILE}"
	"${LSLOG_PATH}" --csv --scans >> "${SCANS_FILE}"
	"${LSLOG_PATH}" --csv --sent-files >> "${SENT_FILE}"
	"${LSLOG_PATH}" --csv --blocked-files >> "${BLOCKED_FILE}"
	if "${LSLOG_PATH}" -h | grep "\-\-urls" >/dev/null ; then
		echo "Url log row count (including header):" "$("${LSLOG_PATH}" --urls | wc -l)" >> "${WAP_FILE}"
	fi
	if "${LSLOG_PATH}" -h | grep "\-\-va\-scans" >/dev/null ; then
		"${LSLOG_PATH}" --csv --va-scans >> "${VASCANLOG_FILE}"
	fi
	if "${LSLOG_PATH}" -h | grep "\-\-pm\-results" >/dev/null ; then
		"${LSLOG_PATH}" --csv --pm-results-with-id >> "${PMRESULTLOG_FILE}"
	fi
	"${CFG_PATH}" --dump >> "${CFG_DUMP_FILE}"
	"${CFG_PATH}" --export-xml="${CFG_EXPORT_FILE}"

	## DEVICE CONTROL
	if [ -f "${LSDEV_PATH}" ] ; then
		section_header "DEVICES" >> "${DEVICES_FILE}"
		"${LSDEV_PATH}" --csv --list >> "${DEVICES_FILE}"
		section_header "LOGS" >> "${DEVICES_FILE}"
		"${LSLOG_PATH}" --csv --device-control  >> "${DEVICES_FILE}"
	fi

	## CLOUD
	if [ -f "${CLOUD_PATH}" ] ; then
		section_header "EDTD" >> "${CLOUD_FILE}"
		"${CLOUD_PATH}" --edtd-status >> "${CLOUD_FILE}"
	fi
else
	echo "Warning: Product is not running. Please start it if possible." | tee "$ERRORS_FILE"
fi

### WAP
if [ -f "${WAP_USER_DATA_FILE_PATH}" ] ; then
	cp "${WAP_USER_DATA_FILE_PATH}" "${TMP_DIR}/${INNER_DIR}"
fi

if [ -f "${WAP_CERT_CTL_LOG_FILE_PATH}" ] ; then
	cp "${WAP_CERT_CTL_LOG_FILE_PATH}" "${TMP_DIR}/${INNER_DIR}"
fi

if [ -d "${WAP_VAR_DIR}" ] ; then
	ls -lR "${WAP_VAR_DIR}" >> "${WAP_FILE}"
fi

section_header "NFTABLES" >> "${WAP_FILE}"

if [ -x /usr/sbin/nft ] ; then
	NFT_COMMAND=/usr/sbin/nft
elif [ -x /sbin/nft ] ; then
	NFT_COMMAND=/sbin/nft
fi

WAP_CHAIN_NAME="${PROVIDER}_${PRODUCT}_wap"
WAP_CHAIN_NAME6="${PROVIDER}_${PRODUCT}_wap6"

if [ -n "${NFT_COMMAND}" ] ; then
	echo "${NFT_COMMAND}" >> "${WAP_FILE}"
	${NFT_COMMAND} list chain ip ${WAP_CHAIN_NAME} output >> "${WAP_FILE}" 2>&1
	${NFT_COMMAND} list chain ip ${WAP_CHAIN_NAME} prerouting >> "${WAP_FILE}" 2>&1
	${NFT_COMMAND} list chain ip ${WAP_CHAIN_NAME} postrouting >> "${WAP_FILE}" 2>&1
	${NFT_COMMAND} list chain ip ${WAP_CHAIN_NAME} excludes >> "${WAP_FILE}" 2>&1
	${NFT_COMMAND} list chain ip6 ${WAP_CHAIN_NAME6} output >> "${WAP_FILE}" 2>&1
	${NFT_COMMAND} list chain ip6 ${WAP_CHAIN_NAME6} prerouting >> "${WAP_FILE}" 2>&1
	${NFT_COMMAND} list chain ip6 ${WAP_CHAIN_NAME6} postrouting >> "${WAP_FILE}" 2>&1
	${NFT_COMMAND} list chain ip6 ${WAP_CHAIN_NAME6} excludes >> "${WAP_FILE}" 2>&1
else
	echo "nft command not found" >> "${WAP_FILE}"
fi

section_header "SYSCTL" >> "${WAP_FILE}"

sysctl net.ipv4.conf.default.route_localnet >> "${WAP_FILE}"
sysctl net.ipv4.ip_forward >> "${WAP_FILE}"
sysctl net.ipv6.conf.all.forwarding >> "${WAP_FILE}"

section_header "USER AGENT" >> "${WAP_FILE}"

if [ -f /usr/lib/systemd/user/${PRODUCT}-user-agent.service ] ; then
	if [ -f /etc/login.defs ]; then
		UID_MIN="$(awk '/^UID_MIN/ {print $2}' /etc/login.defs 2>/dev/null)"
	fi
	UID_MIN=${UID_MIN:=1000}

	for uid in $(pgrep -f '\<systemd .*--user\>' | xargs -L1 ps -o euid= -p | awk "\$1>=$UID_MIN"); do
		echo "$uid" >> "${WAP_FILE}"
		XDG_RUNTIME_DIR="/run/user/$uid" DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/$uid/bus" sudo -u "#$uid" --preserve-env=XDG_RUNTIME_DIR,DBUS_SESSION_BUS_ADDRESS systemctl --user status ${PRODUCT}-user-agent >> "${WAP_FILE}"
	done
fi

### DEVICE FILE FOR WAP KERNEL MODULE
section_header "UDEV" >> "${WAP_FILE}"
if [ -e /dev/${EWAP_MODULE} ] ; then
	ls -l /dev/${EWAP_MODULE} >> "${WAP_FILE}" 2>&1
	if which udevadm >/dev/null 2>/dev/null ; then
		udevadm info -n ${EWAP_MODULE} >> "${WAP_FILE}" 2>&1
	fi
fi

### WAP KERNEL MODULE INFO AND LOGS
if modinfo "${EWAP_MODULE}" >/dev/null 2>/dev/null ; then
	section_header "MODINFO" >> "${WAP_FILE}"
	modinfo "${EWAP_MODULE}" >> "${WAP_FILE}"

	section_header "DMESG LOGS" >> "${WAP_FILE}"
	if which dmesg >/dev/null 2>/dev/null ; then
		dmesg -r | grep "${EWAP_MODULE}" >> "${WAP_FILE}"
	fi
fi

## UDEV FILE
if [ -f "${UDEV_FILE_PATH}" ] ; then
	cp "${UDEV_FILE_PATH}" "${TMP_DIR}/${INNER_DIR}"
fi

### ECP LOGS
if [ -d "${ECP_LOGS_PATH}" ] ; then
	cp -r "${ECP_LOGS_PATH}" "${TMP_DIR}/${INNER_DIR}"
fi

### LSOF
if which lsof >/dev/null 2>/dev/null ; then
	for p in $(ps -Af | grep "${PRODUCT_PATH}" | grep -v grep | awk '{ print $2; }'); do
		echo "" >> "${LSOF_FILE}"
		lsof -p "$p" 2>/dev/null >> "${LSOF_FILE}"
	done
fi

### LSUSB
if which lsusb >/dev/null 2>/dev/null ; then
	lsusb --tree 2>/dev/null >> "${LSUSB_FILE}"
	echo "" >> "${LSUSB_FILE}"
	lsusb --verbose 2>/dev/null >> "${LSUSB_FILE}"
fi

### UDEVADM
if which udevadm >/dev/null 2>/dev/null ; then
	udevadm info --export-db 2>/dev/null >> "${UDEV_FILE}"
fi

### TOP
if which top >/dev/null 2>/dev/null; then
	top -b -w 512 -c -d 1 -n 5 2>/dev/null >> "${TOP_FILE}"
fi

# check installed packages
if which yum >/dev/null 2>/dev/null ; then
	yum list installed >> "${PACKAGES_FILE}"
elif which dpkg >/dev/null 2>/dev/null ; then
	dpkg -l >> "${PACKAGES_FILE}"
elif which rpm >/dev/null 2>/dev/null ; then
	rpm -qa >> "${PACKAGES_FILE}"
else
	echo "No supported package manager found" >> "${PACKAGES_FILE}"
fi

### MODULES
section_header "MODULES" >> "${MODULES_FILE}"
grep -ais "version\|type:" "${VAR_PATH}"/lib/*.dat >> "${MODULES_FILE}"

section_header "BACKUPS FOLDER" >> "${MODULES_FILE}"
list_folder "${MODULES_BACKUPS_DIR}/" >> "${MODULES_FILE}"

if [ -f "${MODULES_BACKUPS_DIR}/db.xml" ] ; then
	section_header "db.xml" >> "${MODULES_FILE}"
	cat "${MODULES_BACKUPS_DIR}/db.xml" >> "${MODULES_FILE}"
fi

### UNSENT BREAKPAD DUMPS
if [ -d "${VAR_PATH}/dumps" ]; then
	cp -r "${VAR_PATH}/dumps" "${DUMPS_DIR}"
fi
if [ -d "${VAR_PATH}/cache/data/Diagnostics" ]; then
	cp -r "${VAR_PATH}/cache/data/Diagnostics" "${DUMPS_DIR}"
fi

### LOGS FROM MODULES
if [ -d "${VAR_PATH}/cache/data/Logs" ]; then
	cp "${VAR_PATH}/cache/data/Logs/"* "${TMP_DIR}/${INNER_DIR}"
fi

### INTERNAL LOGS
if [ -d "${INTERNAL_LOG_PATH}" ]; then
	cp "${INTERNAL_LOG_PATH}/"* "${INTERNAL_DIR}"
fi

### PKGID
cp "${INSTALL_PATH}/etc/pkgid" "${TMP_DIR}/${INNER_DIR}"

### PRODUCT DATABASE
if [ -f "${LOG_PATH}/reports.db" ] ; then
	cp "${LOG_PATH}/reports.db" "${TMP_DIR}/${INNER_DIR}"
fi

### LOCAL STORAGE
if [ -d "${LOCAL_STORAGE_PATH}" ]; then
	cp -r "${LOCAL_STORAGE_PATH}/"* "${STORAGE_DIR}"
fi

### ARCHIVE
ARCHIVE_PATH="${PWD}/${PRODUCT}_logs.tar.gz"
( cd "${TMP_DIR}" && tar czf "${ARCHIVE_PATH}" "${INNER_DIR}" )

echo "Logs has been collected to: ${ARCHIVE_PATH}"

rm -rf "${TMP_DIR}"

Filemanager

Name Type Size Permission Actions
cls Folder 0755
cfg File 103.16 KB 0755
cloud File 66.94 KB 0755
collect_logs.sh File 15.98 KB 0755
ecp_logging.sh File 2.52 KB 0755
efs_logs.tar.gz File 3.39 MB 0644
lic File 86.98 KB 0755
setgui File 119.36 KB 0755
startd File 424.4 KB 0755
Filemanager