diff --git a/tasks.py b/tasks.py index f20b5ad..3d61274 100644 --- a/tasks.py +++ b/tasks.py @@ -80,6 +80,17 @@ def zj(ctx: Context) -> None: ) +@task(aliases=["login"]) +def login_as_app(ctx: Context, app: str) -> None: + """SSH и переключиться на пользователя приложения: inv login gitea""" + # sudo -i: login shell, -u: от имени пользователя + # bash -i: интерактивный режим (job control), -l: login (читает профиль) + subprocess.run( + f"""ssh {_remote_user()}@{_remote_host()} -t 'sudo -iu {app} bash -c "cd /mnt/applications/{app} && exec bash -il"'""", + shell=True, + ) + + @task def btop(ctx: Context) -> None: """Запустить btop на удалённом сервере"""