__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
import logging
import sys
import tarfile
import tempfile
from uaclient import messages
from uaclient.actions import collect_logs
from uaclient.cli.commands import ProArgument, ProArgumentGroup, ProCommand
from uaclient.cli.parser import HelpCategory
from uaclient.util import replace_top_level_logger_name
PRO_COLLECT_LOGS_FILE = "pro_logs.tar.gz"
LOG = logging.getLogger(replace_top_level_logger_name(__name__))
def action_collect_logs(args, *, cfg, **kwargs):
output_file = args.output or PRO_COLLECT_LOGS_FILE
with tempfile.TemporaryDirectory() as output_dir:
collect_logs(cfg, output_dir)
try:
with tarfile.open(output_file, "x:gz") as results:
results.add(output_dir, arcname="logs/")
except PermissionError as e:
LOG.error(e)
return 1
except FileExistsError as e:
LOG.error(e)
print(
messages.E_FILE_ALREADY_EXISTS.format(
filename=output_file,
),
file=sys.stderr,
)
return 1
return 0
collect_logs_command = ProCommand(
"collect-logs",
help=messages.CLI_ROOT_COLLECT_LOGS,
description=messages.CLI_COLLECT_LOGS_DESC,
preserve_description=True,
action=action_collect_logs,
help_category=HelpCategory.TROUBLESHOOT,
argument_groups=[
ProArgumentGroup(
arguments=[
ProArgument(
"--output",
short_name="-o",
help=messages.CLI_COLLECT_LOGS_OUTPUT,
)
]
)
],
)
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| __pycache__ | Folder | 0755 |
|
|
| __init__.py | File | 9.28 KB | 0644 |
|
| api.py | File | 2.4 KB | 0644 |
|
| attach.py | File | 5.48 KB | 0644 |
|
| auto_attach.py | File | 958 B | 0644 |
|
| cli_util.py | File | 8.08 KB | 0644 |
|
| collect_logs.py | File | 1.6 KB | 0644 |
|
| commands.py | File | 3.68 KB | 0644 |
|
| config.py | File | 10.72 KB | 0644 |
|
| cve.py | File | 6.73 KB | 0644 |
|
| cves.py | File | 3.78 KB | 0644 |
|
| detach.py | File | 3.38 KB | 0644 |
|
| disable.py | File | 10.65 KB | 0644 |
|
| enable.py | File | 18.81 KB | 0644 |
|
| fix.py | File | 28.63 KB | 0644 |
|
| formatter.py | File | 8.75 KB | 0644 |
|
| help.py | File | 1.67 KB | 0644 |
|
| parser.py | File | 2.72 KB | 0644 |
|
| refresh.py | File | 2.42 KB | 0644 |
|
| security_status.py | File | 2.79 KB | 0644 |
|
| status.py | File | 2.37 KB | 0644 |
|
| system.py | File | 1.05 KB | 0644 |
|