diff --git a/SicherPC.sh b/SicherPC.sh index 0dcb73e..092dc8e 100755 --- a/SicherPC.sh +++ b/SicherPC.sh @@ -1,63 +1,62 @@ #!/bin/sh -# Sichere wichtige Einstellungen +# Save some data on a mounted filesystem # -# Ulf@ulf-bartholomaeus.de -VERSION="Version 0.2.3 from 28.09.2021" +# (c) LUG-VS (GPL) +VERSION="$(basename $0) Version 1.0.0 from 2021-11-01" -# 0.2.3 -# update pathes -# 0.2.2 -# fixed test -f /proc/mdstat -> removed "cat" and remove ";" after "do" -# 0.2.1 -# lspcci Umleitung in Datei gefixt -# 0.2.0 -# verschiedene HW info hinzu (ab "HW-Info") -# 0.1.9 -# home.luna -> home.maxi -# 0.1.8 -# /var/lib/named ebenfalls sichern -# 0.1.7 -# Fehler /bin/etc -> /usr/etc -# 0.1.6 -# Backup um /var/yp/ und /usr/lib/ypbind/ ergänzen -# 0.1.5: -# /mnt/data2/PC-Sicherungen => /home.luna/users/PC-Sicherungen aktualisiert -# Check /mnt/backup and /mnt/bkp -# 0.1.4: -# /bin/etc hinzu +## +# Requires root rights! +# Input: -v for verbose +# Output: saved data -if [ -d /home.maxi/users/PC-Sicherungen ] ; then - MyDest=/home.maxi/users/PC-Sicherungen -else - if [ -d /home/users/PC-Sicherungen ] ; then - MyDest=/home/users/PC-Sicherungen - else - echo "*** Error: No Destination found" - exit 10 - fi +## +# 1.0.0 +# branch for sharing + +## Define destination (e.g. NFS or DavFS mounted remote NAS or trusted Server) +MyDest="/mnt/remote" + +## Check if Destination exists +if [ ! -d ${MyDest} ] ; then + echo "*** Error: No Destination found" + exit 10 fi + +## Generate dedicated subdirectory for each host PC if [ -d ${MyDest}/$(hostname) ] ; then MyDest=${MyDest}/$(hostname) fi + +## Short message (in this case in German) showing the what was done if [ "$1"="-v" ] ; then echo "Sichere /etc und /root sowie SmartCtl in Ziel <${MyDest}>" fi -#tgz ${MyDest}/$(hostname)_$(date +%F)_etc.tgz /etc /usr/etc + +## Save main settings and personal data of root tar -cvzf ${MyDest}/$(hostname)_$(date +%F)_etc.tgz /etc /usr/etc -#tgz ${MyDest}/$(hostname)_$(date +%F)_root.tgz /root tar -cvz --exclude=/root/.duc.db -f ${MyDest}//$(hostname)_$(date +%F)_root.tgz /root [ -d /var/lib/named/ ] && tgz ${MyDest}/$(hostname)_$(date +%F)_named.tgz /var/lib/named/ [ -d /var/yp/ ] && tgz ${MyDest}/$(hostname)_$(date +%F)_yp.tgz /var/yp/ [ -d /usr/lib/ypbind/ ] && tgz ${MyDest}/$(hostname)_$(date +%F)_ypbind.tgz /usr/lib/ypbind/ -## HW-Info -which hwinfo &> /dev/null && hwinfo &> ${MyDest}/hwinfo_$(date +%F).txt -which hwinfo &> /dev/null && hwinfo --short &> ${MyDest}/hwinfo-short_$(date +%F).txt -which inxi &> /dev/null && inxi -Fxd &>> ${MyDest}/inxi-Fxd_$(date +%F).txt ## disabled da inxi sich in scripten aufhängt -which lspci &> /dev/null && lspci &> ${MyDest}/lspcci _$(date +%F).txt + +## Some other informations like HW interfaces and disks +which lsusb &> /dev/null && lsusb &> ${MyDest}/lsusb_$(date +%F).txt +which lspci &> /dev/null && lspci &> ${MyDest}/lspcci_$(date +%F).txt which fdisk &> /dev/null && fdisk -l &>> ${MyDest}/fdisk-l_$(date +%F).txt which lsblk &> /dev/null && lsblk &>> ${MyDest}/lsblk_$(date +%F).txt -cp /etc/fstab ${MyDest}/fstab_$(date +%F).txt -which mdadm &> /dev/null && for dev in $( mdadm -Ebsc=partitions | cut -d' ' -f2 ) ; do mdadm -D $dev &>> ${MyDest}/mdadm-D_$(date +%F).txt ; done -[ -f /proc/mdstat ] && cp /proc/mdstat ${MyDest}/mdstat_$(date +%F).txt + +## If sensors then save sensor informations like temperature and voltages which sensors &> /dev/null && sensors &> ${MyDest}/sensors_$(date +%F).txt which sensors &> /dev/null && sensors -u &>> ${MyDest}/sensors-u_$(date +%F).txt + +## If inxi is installed then save this info +which inxi &> /dev/null && inxi -Fxd &>> ${MyDest}/inxi-Fxd_$(date +%F).txt ## disabled da inxi sich in scripten aufhängt + +## If mdadm is installed and /proc/mdstat exists than save raid infos +which mdadm &> /dev/null && for dev in $( mdadm -Ebsc=partitions | cut -d' ' -f2 ) ; do mdadm -D $dev &>> ${MyDest}/mdadm-D_$(date +%F).txt ; done +[ -f /proc/mdstat ] && cp /proc/mdstat ${MyDest}/mdstat_$(date +%F).txt + +## Store some HW-Info +# if hwinfo (e.g. at openSUSE) existis +which hwinfo &> /dev/null && hwinfo &> ${MyDest}/hwinfo_$(date +%F).txt +which hwinfo &> /dev/null && hwinfo --short &> ${MyDest}/hwinfo-short_$(date +%F).txt