From 2afe07e1ad34cc8d30e4a26f8f661ae9d2779cd9 Mon Sep 17 00:00:00 2001 From: PhotoLinux Date: Fri, 2 Apr 2021 14:08:27 +0200 Subject: [PATCH] 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. --- install => install.sh | 52 ++++++++++++++++++++----------------------- 1 file changed, 24 insertions(+), 28 deletions(-) rename install => install.sh (71%) diff --git a/install b/install.sh similarity index 71% rename from install rename to install.sh index b0aee24..b2d672b 100644 --- a/install +++ b/install.sh @@ -1,12 +1,13 @@ #!/bin/bash # Variablen -mydir="cd $0; pwd" +mydir=$PWD # Intro 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" - +sleep 2 # 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 @@ -15,69 +16,64 @@ read logfile if [ $logfile = "J" ]; then echo -e "Super! Standardmässig existiert die Logdatei, also muss ich nichts ändern. \n" + sleep 2 fi if [ $logfile = "N" ]; then echo -e "okay, dann lösche ich nun die standardmässig vorhandene Logdatei. \n" rm Backup.log + sleep 2 fi # 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" +sleep 2 # 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]" read exclude 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" + sleep 2 fi if [ $exclude = "N" ]; then echo -e "Gut, dann lösche ich die exclude.txt Datei, da du sie ja nicht brauchst. \n" rm exclude.txt + sleep 2 fi # Fragt das Quellverzeichnis, welches gesichert werden soll, ab 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." read sourcedir -echo -e "du hast folgenden Quellpfad eingetippt: $sourcedir ist dieser Pfad richtig? [J/N]" -read rightpath -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 +echo -e "du hast folgenden Quellpfad eingetippt: $sourcedir wenn dieser Pfad nicht stimmen sollte, dann passe ihn in der Datei 'backuppy.sh' an" +sleep 2 # 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." read targetdir -echo -e "du hast folgenden Zielpfad eingetippt: $targetdir ist dieser Pfad richtig? [J/N]" -read rightpath -if [ $rightpath = "J" ]; then - echo -e "Perfekt, dann trage ich den Pfad so ein. \n" +echo -e "du hast folgenden Zielpfad eingetippt: $targetdir wenn dieser Pfad nicht stimmen sollte, dann passe ihn in der Datei 'backuppy.sh' an" +sleep 2 + +# Programmeintrag in die .bashrc oder .zshrc +#zshrc +echo "$SHELL" +if [ $SHELL = "/usr/bin/zsh" ]; then + echo "alias backuppy='sudo $mydir/backuppy.sh'" >> ~/.zshrc fi -if [ $exclude = "N" ]; then - echo -e "Na dann, trage den richtigen Pfad hier nochmal ein:" - read targetdir - 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" +#bashrc +if [ $SHELL = "/usr/bin/bash" ]; then + echo "alias backuppy='sudo $mydir/backup-tool.sh'" >> ~/.bashrc 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. 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" +sleep 2 # 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 -if [ $logfile = "J" ]; then - echo "Backup beendet $(date) >> Backup.log" >> Backuppy.sh -fi # 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."