fixed some bugs and added sleep

In version 0.2 I fixed a bug with the location of the main directory and added one or two seconds sleep between the different steps.
This commit is contained in:
PhotoLinux 2021-04-02 14:08:27 +02:00
parent 64d3be0b90
commit 2afe07e1ad

View file

@ -1,12 +1,13 @@
#!/bin/bash #!/bin/bash
# Variablen # Variablen
mydir="cd $0; pwd" mydir=$PWD
# Intro # Intro
echo -e "\n Danke, dass du Backuppy nutzt, um deine Backups zu erstellen! \n" echo -e "\n Danke, dass du Backuppy nutzt, um deine Backups zu erstellen! \n"
sleep 2
echo -e "Der Installer wird dich nun einige Dinge abfragen, um dein Backup-Skript an deine Anforderungen anzupassen. \n" echo -e "Der Installer wird dich nun einige Dinge abfragen, um dein Backup-Skript an deine Anforderungen anzupassen. \n"
sleep 2
# Installer # Installer
# fragt ab, ob der User eine Logdatei mit allen Fehlermeldungen drin haben möchte und ob da auch das Datum des Backupstarts und -Ende drin stehen soll # fragt ab, ob der User eine Logdatei mit allen Fehlermeldungen drin haben möchte und ob da auch das Datum des Backupstarts und -Ende drin stehen soll
@ -15,69 +16,64 @@ read logfile
if [ $logfile = "J" ]; then if [ $logfile = "J" ]; then
echo -e "Super! Standardmässig existiert die Logdatei, also muss ich nichts ändern. \n" echo -e "Super! Standardmässig existiert die Logdatei, also muss ich nichts ändern. \n"
sleep 2
fi fi
if [ $logfile = "N" ]; then if [ $logfile = "N" ]; then
echo -e "okay, dann lösche ich nun die standardmässig vorhandene Logdatei. \n" echo -e "okay, dann lösche ich nun die standardmässig vorhandene Logdatei. \n"
rm Backup.log rm Backup.log
sleep 2
fi fi
# welche Rsync-Optionen zur Verfügung stehen und welche man benutzen möchte # welche Rsync-Optionen zur Verfügung stehen und welche man benutzen möchte
echo -e "rsync bietet verschiedene Optionen an, um das Ganze jedoch zu vereinfachen, habe ich die Optionen -a, -q und -p aktiviert. \n Wenn du mehr einstellen willst, kannst du das in der Datei 'Backuppy.sh' machen. \n" echo -e "rsync bietet verschiedene Optionen an, um das Ganze jedoch zu vereinfachen, habe ich die Optionen -a, -q und -p aktiviert. \n Wenn du mehr einstellen willst, kannst du das in der Datei 'Backuppy.sh' machen. \n"
sleep 2
# fragt, ob man Dateien/Verzeichnisse vom Backup ausschliessen will und erstellt im Falle von Ja eine Exclude Datei # fragt, ob man Dateien/Verzeichnisse vom Backup ausschliessen will und erstellt im Falle von Ja eine Exclude Datei
echo -e "Nun muss ich noch wissen, ob du ein oder mehrere Dateien/Verzeichnisse vom Backup ausschliessen möchtest. Dann kannst du das in der 'exclude.txt' anpassen. \n Dort kannst du dann im Format '/Verzeichnis' '/Datei.txt' Verzeichnisse und Dateien ausschliessen.\n Möchtest du Dateien/Verzeichnisse ausschliessen oder nicht? [J/N]" echo -e "Nun muss ich noch wissen, ob du ein oder mehrere Dateien/Verzeichnisse vom Backup ausschliessen möchtest. Dann kannst du das in der 'exclude.txt' anpassen. \n Dort kannst du dann im Format '/Verzeichnis' '/Datei.txt' Verzeichnisse und Dateien ausschliessen.\n Möchtest du Dateien/Verzeichnisse ausschliessen oder nicht? [J/N]"
read exclude read exclude
if [ $exclude = "J" ]; then if [ $exclude = "J" ]; then
echo -e "Perfekt, dann kannst du nach der Fertigstellung der Installation von Backuppy deine auszuschliessenden Dateien/Verzeichnisse in der Datei 'exclude.txt eintragen. \n" echo -e "Perfekt, dann kannst du nach der Fertigstellung der Installation von Backuppy deine auszuschliessenden Dateien/Verzeichnisse in der Datei 'exclude.txt eintragen. \n"
sleep 2
fi fi
if [ $exclude = "N" ]; then if [ $exclude = "N" ]; then
echo -e "Gut, dann lösche ich die exclude.txt Datei, da du sie ja nicht brauchst. \n" echo -e "Gut, dann lösche ich die exclude.txt Datei, da du sie ja nicht brauchst. \n"
rm exclude.txt rm exclude.txt
sleep 2
fi fi
# Fragt das Quellverzeichnis, welches gesichert werden soll, ab # Fragt das Quellverzeichnis, welches gesichert werden soll, ab
echo -e "Nun kommen wir zu einem der wichtigesten Teile der Installation von Backuppy:" echo -e "Nun kommen wir zu einem der wichtigesten Teile der Installation von Backuppy:"
sleep 1
echo -e "Welches Verzeichnis möchtest du sichern (z.B. das Homeverzeichnis)? Bitte gib einen absoluten Pfad (z.B. '/home/username/') an." echo -e "Welches Verzeichnis möchtest du sichern (z.B. das Homeverzeichnis)? Bitte gib einen absoluten Pfad (z.B. '/home/username/') an."
read sourcedir read sourcedir
echo -e "du hast folgenden Quellpfad eingetippt: $sourcedir ist dieser Pfad richtig? [J/N]" echo -e "du hast folgenden Quellpfad eingetippt: $sourcedir wenn dieser Pfad nicht stimmen sollte, dann passe ihn in der Datei 'backuppy.sh' an"
read rightpath sleep 2
if [ $rightpath = "J" ]; then
echo -e "Perfekt, dann trage ich den Pfad so ein. \n"
fi
if [ $exclude = "N" ]; then
echo -e "Na dann, trage den richtigen Pfad hier nochmal ein:"
read sourcedir
echo -e "Ich hoffe, dieser Pfad ist richtig: $sourcedir Ich trage ihn nun so ein. Ansonsten kannst du ihn später auch noch in der Datei 'Backuppy.sh' anpassen. \n"
fi
# fragt das Zielverzeichnis, auf welchem das Backup gesichert werden soll, ab # fragt das Zielverzeichnis, auf welchem das Backup gesichert werden soll, ab
echo -e "Nun muss ich noch wissen, wo Backuppy dein Backup ablegen soll, das Zielverzeichnis also. \n Bitte tippe dieses gewissenhaft und auf die Weise wie beim Quellverzeichnis ein." echo -e "Nun muss ich noch wissen, wo Backuppy dein Backup ablegen soll, das Zielverzeichnis also. \n Bitte tippe dieses gewissenhaft und auf die Weise wie beim Quellverzeichnis ein."
read targetdir read targetdir
echo -e "du hast folgenden Zielpfad eingetippt: $targetdir ist dieser Pfad richtig? [J/N]" echo -e "du hast folgenden Zielpfad eingetippt: $targetdir wenn dieser Pfad nicht stimmen sollte, dann passe ihn in der Datei 'backuppy.sh' an"
read rightpath sleep 2
if [ $rightpath = "J" ]; then
echo -e "Perfekt, dann trage ich den Pfad so ein. \n" # Programmeintrag in die .bashrc oder .zshrc
#zshrc
echo "$SHELL"
if [ $SHELL = "/usr/bin/zsh" ]; then
echo "alias backuppy='sudo $mydir/backuppy.sh'" >> ~/.zshrc
fi fi
if [ $exclude = "N" ]; then #bashrc
echo -e "Na dann, trage den richtigen Pfad hier nochmal ein:" if [ $SHELL = "/usr/bin/bash" ]; then
read targetdir echo "alias backuppy='sudo $mydir/backup-tool.sh'" >> ~/.bashrc
echo -e "Ich hoffe, dieser Pfad ist richtig: $targetdir Ich trage ihn nun so ein. Ansonsten kannst du ihn später auch noch in der Datei 'Backuppy.sh' anpassen. \n"
fi fi
#echo -e "damit du Backuppy auch ordentlich verwenden kannst, trage ich nun einen Alias-Befehl in deine .bashrc oder .zshrc ein."
#echo 'alias backup-tool="sudo /home/joel-schurter/Programme/Backup-Tool/backup-tool.sh"' >>
# trägt alle Informationen zusammen und erstellt so den rsync-Befehl. # trägt alle Informationen zusammen und erstellt so den rsync-Befehl.
echo -e "Nun sind wir fast am Ende des Installers angelangt. Ich erstelle nun den rsync-Befehl für dich und zeige ihn dir nachher nochmal. \n Wenn dir da etwas auffallen sollte, brich den Installer einfach ab und fange nochmal von Vorne an. \n Achtung: ich empfehle dir, Backuppy in diesem Fall nochmal komplett neu zu installieren. \n" echo -e "Nun sind wir fast am Ende des Installers angelangt. Ich erstelle nun den rsync-Befehl für dich und zeige ihn dir nachher nochmal. \n Wenn dir da etwas auffallen sollte, brich den Installer einfach ab und fange nochmal von Vorne an. \n Achtung: ich empfehle dir, Backuppy in diesem Fall nochmal komplett neu zu installieren. \n"
sleep 2
echo -e "rsync -aqp --exclude-from=$mydir/exclude.txt $sourcedir $targetdir \n" echo -e "rsync -aqp --exclude-from=$mydir/exclude.txt $sourcedir $targetdir \n"
sleep 2
# eintragen der Configs # eintragen der Configs
if [ $logfile = "J" ]; then
echo "Backup gestartet $(date) >> Backup.log" >> Backuppy.sh
fi
echo "rsync -aqp --exclude-from=$mydir/exclude.txt $sourcedir $targetdir" >> Backuppy.sh echo "rsync -aqp --exclude-from=$mydir/exclude.txt $sourcedir $targetdir" >> Backuppy.sh
if [ $logfile = "J" ]; then
echo "Backup beendet $(date) >> Backup.log" >> Backuppy.sh
fi
# Outro # Outro
echo -e "Perfekt, jetzt sind wir fertig. Nun kannst du Backuppy im Terminal mit dem Befehl 'backuppy' starten. Möglicherweise musst du dann noch dein Passwort eintippen, damit Backuppy ordnungsgemäss arbeiten kann." echo -e "Perfekt, jetzt sind wir fertig. Nun kannst du Backuppy im Terminal mit dem Befehl 'backuppy' starten. Möglicherweise musst du dann noch dein Passwort eintippen, damit Backuppy ordnungsgemäss arbeiten kann."