zum Backup-Script gehört auch ein Restore-Script,hier ein Script, welches die aktuellste gesicherte Datei sucht und zurückschreibt.
Dazu hat man die Möglichkeit den Original Pfad vom Backup nutzen, oder falls das System mit einer Live-CD gestartet worden ist, besteht auch die Möglichkeit den Ziel-Pfad einzugeben.
Die Eingabe sollte so aussehen sudo ./restore-root.sh irgendeineDatei.txt
Also als Parameter gibt man den Dateinamen mit.
Hier der Script restore-root.sh:
Code: Alles auswählen
#! /bin/bash
# ---Variable restore --
rquelle=/
rziel=/media/Backup/system/
medium=/media/Backup
if [[ -d $medium ]]; then
if [ -z "$1" ]; then
  echo "Bitte einen Dateinamen angeben, z. B. restore.sh irgendwas.txt"
  exit 0
 else
  LASTVAR=$(readlink $rziel/last_backup | cut -d "/" -f5-)
  PFADVAR=$(find -P $rziel/$LASTVAR -name $1 | xargs -i ls -tr {} | cut -d" " -f10-)ÂÂ
  COPYVAR=$(ls -tl $PFADVAR | cut -d" " -f9 | head -n1 | cut -d "/" -f5-)
  ORIGINALVAR=$(ls -tl $PFADVAR | cut -d" " -f9 | head -n1 | cut -d "/" -f7-)
  echo "Es wird diese Datei" "'"$COPYVAR"'" "in den Originalpfad" "/"$ORIGINALVAR "kopiert!"; sleep 3
 ÂÂ
  while true; do
    clear
    echo "(1) Datei kopieren"
    echo "(2) Pfad eingeben"
    echo "(3) Abrechen"
    echo " "
    echo -n "Funktion auswählen: "; read f
      if [ "$f" = "1" ]; then
        cp $rziel$COPYVAR $ORIGINALVAR
        exit 1
      elif [ "$f" = "2" ]; then
        echo -n "Bitte vollständigen Pfad angeben: "; read c
        echo $rziel$COPYVAR $c "wird kopiert"
        cp $rziel$COPYVAR $c
        exit 2
      elif [ "$f" = "3" ]; then
        exit 3
      fi
  done
 fiÂÂ
else
 echo "Kein Medium eingehängt, Backup beendet"
 exit 4
fi
exit 5
peace