CI / test (push) Successful in 1m29s
- сервер отдаёт агенту итоговый каталог (встроенный каталог сервера + переопределения клиента); если каталог не подходит версии агента — встроенный каталог агента и предупреждение - самообновление перед бэкапом: версия сервера новее → скачивание с того же сервера (только /dl/...), проверка sha256 и запуска новой версии, подмена с откатом, перезапуск через exec; при ошибке бэкап идёт текущей версией - галочка «Автообновление» у клиента (по умолчанию включена), версия агента в списке и карточке, отставшие подсвечены; версия сервера в шапке - миграция существующей базы: колонки auto_update и agent_version - backupctl backup --no-update Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
11 lines
280 B
Go
11 lines
280 B
Go
//go:build unix
|
|
|
|
package agent
|
|
|
|
import "syscall"
|
|
|
|
// reexec заменяет текущий процесс новым бинарником (тот же PID, systemd не замечает).
|
|
func reexec(exe string, args, env []string) error {
|
|
return syscall.Exec(exe, args, env)
|
|
}
|