From ab33bcb45a48b0a0d5ec651a5629da2a44631c80 Mon Sep 17 00:00:00 2001 From: Charlie Root Date: Fri, 17 Feb 2023 11:23:36 -0500 Subject: [PATCH] Initial commit for infra daily scripts We added a script fbsdinfo2csv.sh that should be run as root which prints a CSV output with the following format name,type,hostname,freebsd-version,ipaddr --- README.md | 12 ++++++++++++ fbsdinfo2csv.sh | 24 ++++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 README.md create mode 100755 fbsdinfo2csv.sh diff --git a/README.md b/README.md new file mode 100644 index 0000000..55f5b3c --- /dev/null +++ b/README.md @@ -0,0 +1,12 @@ +# Daily Scripts + +## fbsdinfo2csv.sh +this script will generate a csv file from the host and its jails. + +The output looks like this + +```csv +name,type,hostname,freebsd-version,ipaddr +dev3.bts.djb0,host,dev3.bts.djb0,12.3-RELEASE,10.35.0.203 +jail10,jail,jail0,jail10.dev3.bts.djb0,12.2-RELEASE,10.35.0.200 +``` diff --git a/fbsdinfo2csv.sh b/fbsdinfo2csv.sh new file mode 100755 index 0000000..d7a1944 --- /dev/null +++ b/fbsdinfo2csv.sh @@ -0,0 +1,24 @@ +#!/bin/sh + +printf "name,type,hostname,freebsd-version,ipaddr\n" + +host_name=$(hostname) + +_type="host" +_host_version=$(freebsd-version) + +_ipaddress=$(ifconfig | grep 'inet ' | grep -v '127.0.0.1' | cut -w -f 3) + +echo "${host_name},${_type},${host_name},${_host_version},${_ipaddress}" + + +_type="jail" +for j in $(jls name) +do + name="${j}" + host_name="$(jls -j ${j} host.hostname)" + _ipaddress="$(jexec ${j} ifconfig | grep 'inet ' | grep -v '127.0.0.1' | cut -w -f 3)" + _jail_version="$(jexec ${j} freebsd-version)" + echo "${host_name},${_type},${host_name},${_jail_version},${_ipaddress}" +done +