From cb6b2ecf61d5f3ce70b704a79b75dbaa9b40acbb Mon Sep 17 00:00:00 2001 From: PhotoLinux Date: Thu, 8 Apr 2021 08:35:44 +0200 Subject: [PATCH] Fixed some bugs and added a new feature In this version I fixed a bug with the .zshrc or .bashrc and translated the comment lines into English. In further versions I'll translate the whole program into English. Also I added a new 'feature' that allows the install script to create the additional files automatically. --- Backup.log | Bin 1024 -> 0 bytes Backuppy.sh | 2 -- README.md | 18 +++++++++++++++++- exclude.txt | Bin 1024 -> 0 bytes install.sh | 41 ++++++++++++++++------------------------- 5 files changed, 33 insertions(+), 28 deletions(-) delete mode 100644 Backup.log delete mode 100644 Backuppy.sh delete mode 100644 exclude.txt mode change 100644 => 100755 install.sh diff --git a/Backup.log b/Backup.log deleted file mode 100644 index 06d7405020018ddf3cacee90fd4af10487da3d20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1024 ScmZQz7zLvtFd70QH3R?z00031 diff --git a/Backuppy.sh b/Backuppy.sh deleted file mode 100644 index 13f4793..0000000 --- a/Backuppy.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh - diff --git a/README.md b/README.md index 426c484..901646d 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,19 @@ # Backuppy -No backup - no pity. So that this is not the case, you make backups. Backuppy tries to simplify this. \ No newline at end of file +No backup - no pity. So that this is not the case, you make backups. Backuppy tries to simplify this. + +Name: Backuppy +Description: Make daily backups with Backuppy to avoid losing your data. +Usage: start it with: 'backuppy' +Author: Joël Schurter +Licence: GPL3 +More infos: see constants and readme.md + +# ToDo + +- translate Backuppy to English +- make a graphical installer & Tool + +# Dependencies + +rsync - 'sudo apt install' rsync or 'sudo pacman -S rsync' # because Backuppy makes its bakups with rsync diff --git a/exclude.txt b/exclude.txt deleted file mode 100644 index 06d7405020018ddf3cacee90fd4af10487da3d20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1024 ScmZQz7zLvtFd70QH3R?z00031 diff --git a/install.sh b/install.sh old mode 100644 new mode 100755 index b2d672b..db400e4 --- a/install.sh +++ b/install.sh @@ -1,6 +1,6 @@ #!/bin/bash -# Variablen +# Variables mydir=$PWD # Intro @@ -10,38 +10,29 @@ echo -e "Der Installer wird dich nun einige Dinge abfragen, um dein Backup-Skrip 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 -echo -e "möchtest du eine Logdatei haben, in welche Backuppy dann das Datum vom Backup-Start/-Ende und allfällige Fehlermeldungen eintragen wird? [J/N] \n Standardmässig ist eine Logdatei aktiviert." -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 +# creates the file 'Backuppy.sh' +touch Backuppy.sh +echo "#!/bin/bash" >> Backuppy.sh +chmod +x Backuppy.sh +# which Rsync options are available and which one you want to use 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 +# asks if you want to exclude files/directories from backup and creates an exclude file in case of Yes 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" + touch exclude.txt 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" + echo -e "Gut, dann erstelle ich die Datei 'exclude.txt' gar nicht erst, da du sie ja nicht brauchst. \n" rm exclude.txt sleep 2 fi -# Fragt das Quellverzeichnis, welches gesichert werden soll, ab +# Asks for the source directory which should be saved 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." @@ -49,30 +40,30 @@ read sourcedir 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 +# fasks for the destination directory in which the backup should be saved 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 wenn dieser Pfad nicht stimmen sollte, dann passe ihn in der Datei 'backuppy.sh' an" sleep 2 -# Programmeintrag in die .bashrc oder .zshrc +# alias entry in .bashrc or .zshrc #zshrc echo "$SHELL" if [ $SHELL = "/usr/bin/zsh" ]; then - echo "alias backuppy='sudo $mydir/backuppy.sh'" >> ~/.zshrc + echo "alias backuppy='sudo $mydir/Backuppy.sh'" >> ~/.zshrc fi #bashrc if [ $SHELL = "/usr/bin/bash" ]; then - echo "alias backuppy='sudo $mydir/backup-tool.sh'" >> ~/.bashrc + echo "alias backuppy='sudo $mydir/Backuppy.sh'" >> ~/.bashrc fi -# trägt alle Informationen zusammen und erstellt so den rsync-Befehl. +# collects all the information needed to execute the rsync command and creates it. 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 +# enter the rsync command in Backuppy.sh echo "rsync -aqp --exclude-from=$mydir/exclude.txt $sourcedir $targetdir" >> Backuppy.sh # Outro