Browse Source

Refactor SSH command execution to remove unnecessary quoting and improve command handling

main
Bastian (BaM) 3 months ago
parent
commit
2af2cde9c1
  1. 8
      scripts/auto-boot-ollama-host.lua

8
scripts/auto-boot-ollama-host.lua

@ -119,8 +119,8 @@ local function ssh(command, user, host, port, identity_file)
end
table.insert(pieces, dest)
-- Quote remote command so the local shell treats it as a single arg.
table.insert(pieces, '"' .. command .. '"')
-- Pass remote command as provided; caller is responsible for proper quoting.
table.insert(pieces, command)
-- Join with spaces for os.execute
local function join(args)
@ -180,7 +180,7 @@ local function main()
if port_is_up(OLLAMA_HOST, SSH_PORT, 60) then
log("SSH is reachable. Starting ollama service...")
socket.sleep(2)
ssh("wsl.exe -d Debian -- 'sudo systemctl enable ollama && sudo systemctl start ollama' && true ", "micro", OLLAMA_HOST, SSH_PORT, SSH_IDENTITY_FILE)
ssh('wsl.exe -d Debian -- sudo sh -lc "systemctl enable ollama && systemctl start ollama"', "micro", OLLAMA_HOST, SSH_PORT, SSH_IDENTITY_FILE)
if (port_is_up(OLLAMA_HOST, OLLAMA_PORT, 90)) then
log("Ollama service is reachable again.")
socket.sleep(30)
@ -194,7 +194,7 @@ local function main()
if line:find(FINISH_PATTERN, 1, true) ~= nil and powered_on == true then
log(("Detected finish pattern: %q"):format(FINISH_PATTERN))
log("Shutting down Ollama host to save power...")
ssh("wsl.exe -d Debian -- 'sudo systemctl disable ollama && sudo systemctl stop ollama' && true ", "micro", OLLAMA_HOST, SSH_PORT, SSH_IDENTITY_FILE)
ssh('wsl.exe -d Debian -- sudo sh -lc "systemctl disable ollama && systemctl stop ollama"', "micro", OLLAMA_HOST, SSH_PORT, SSH_IDENTITY_FILE)
ssh("shutdown.exe /s /t 0", "micro", OLLAMA_HOST, SSH_PORT, SSH_IDENTITY_FILE)
socket.sleep(5)
powered_on = false

Loading…
Cancel
Save