Restore - Script Datei zurück schreiben.

Manjaro Linux Tutorials von Usern für User!
Antworten

Themen Author
Amber

Restore - Script Datei zurück schreiben.

#1

#1 Beitrag von Amber »

Moin,

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
Viel spass beim testen.

peace

Antworten