From fa0adc957cc2ef3629b979e2ee628f0d3bc002a2 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Thu, 26 Oct 2017 23:20:11 +0200 Subject: Initial commit --- platten-finden | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100755 platten-finden diff --git a/platten-finden b/platten-finden new file mode 100755 index 0000000..64ef479 --- /dev/null +++ b/platten-finden @@ -0,0 +1,63 @@ +#!/bin/bash + +all=$( + find /dev -mindepth 1 -maxdepth 1 -type b -regextype grep \ + \( \ + -regex '.*/sd[a-z]\+' -o \ + -regex '.*/md[0-9]\+' -o \ + -regex '.*/dm-[0-9]\+' \ + \) \ + -printf '%f\n' | \ + sort -u +) + +crypts=$( + grep '^[^#]' /etc/crypttab | \ + awk '{print $2}' | \ + xargs -rn1 readlink -f | \ + sed 's|^.*/||' | \ + sort -u +) + +legs=$( + sed -n ' + s/^md[0-9]\+ : active raid[0156] // + T + p + ' /proc/mdstat | \ + tr ' ' '\n' | \ + sed ' + s/\[[^]]\+]$// + /^sd/s/[0-9]\+$// + ' | \ + sort -u +) + +mounts=$( + mount | \ + cut -d' ' -f1 | \ + grep '^/dev/\(sd[a-z]\+\|md[0-9]\+\|dm-[0-9]\+\)$' | \ + sed 's|^.*/||' +) + +{ + echo "$all" + echo "$crypts" + echo "$legs" + echo "$mounts" +} | \ + sort | \ + uniq -u | \ + while read dev; do + printf '%s:' "$dev" + if mdadm --examine "/dev/$dev" &> /dev/null; then + printf ' mdadm' + fi + if cryptsetup luksDump "/dev/$dev" &> /dev/null; then + printf ' luks' + fi + if e2label "/dev/$dev" &> /dev/null; then + printf ' ext[234]' + fi + printf '\n' + done -- cgit v1.2.3