|
@@ -129,10 +129,13 @@ def _run_ynh_app(job, instance, backup_dir):
|
|
|
archive = _archive_name(instance, app_id, backup_dir)
|
|
archive = _archive_name(instance, app_id, backup_dir)
|
|
|
|
|
|
|
|
cmd = ["sudo", "yunohost", "backup", "create", "--apps", app_id, "--name", archive]
|
|
cmd = ["sudo", "yunohost", "backup", "create", "--apps", app_id, "--name", archive]
|
|
|
|
|
+ run_env = None
|
|
|
if core_only:
|
|
if core_only:
|
|
|
- cmd = ["sudo", "env", "BACKUP_CORE_ONLY=1"] + cmd[1:]
|
|
|
|
|
|
|
+ # sudo env ... n'est pas autorisé dans sudoers ; on passe la variable
|
|
|
|
|
+ # via l'environnement du processus sudo et env_keep dans sudoers.
|
|
|
|
|
+ run_env = {**os.environ, "BACKUP_CORE_ONLY": "1"}
|
|
|
|
|
|
|
|
- result = subprocess.run(cmd, capture_output=True, text=True, timeout=3600)
|
|
|
|
|
|
|
+ result = subprocess.run(cmd, capture_output=True, text=True, timeout=3600, env=run_env)
|
|
|
log = (result.stdout + result.stderr).strip()
|
|
log = (result.stdout + result.stderr).strip()
|
|
|
|
|
|
|
|
if result.returncode != 0:
|
|
if result.returncode != 0:
|