This commit is contained in:
ekzyis 2025-01-28 15:17:10 +01:00
parent 439397ceb8
commit f3545980b7
4 changed files with 36 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.env

13
schema.sql Normal file
View File

@ -0,0 +1,13 @@
CREATE TABLE host (
id SERIAL PRIMARY KEY,
created_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
name VARCHAR(255) NOT NULL UNIQUE
);
CREATE TABLE host_uptime (
id SERIAL PRIMARY KEY,
created_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
host_id INT NOT NULL REFERENCES host(id),
-- uptime in seconds
uptime INT NOT NULL
);

17
status Executable file
View File

@ -0,0 +1,17 @@
#!/usr/bin/env bash
set -e
export $(cat .env | xargs)
psql -w <<EOF
WITH host_upsert AS (
INSERT INTO host (name) VALUES ('$(hostname)')
ON CONFLICT (name) DO UPDATE SET name = EXCLUDED.name
RETURNING id
)
INSERT INTO host_uptime (host_id, uptime)
SELECT id, '$(uptime -r | awk '{print $2}' | awk -F. '{print $1}')'
FROM host_upsert
RETURNING *;
EOF

5
template.env Normal file
View File

@ -0,0 +1,5 @@
PGHOST=
PGPORT=
PGUSER=
PGPASSWORD=
PGDATABASE=