forked from FotoCoder/Backuppy
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.
This commit is contained in:
parent
2afe07e1ad
commit
cb6b2ecf61
5 changed files with 33 additions and 28 deletions
BIN
Backup.log
BIN
Backup.log
Binary file not shown.
|
@ -1,2 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
16
README.md
16
README.md
|
@ -1,3 +1,19 @@
|
||||||
# Backuppy
|
# Backuppy
|
||||||
|
|
||||||
No backup - no pity. So that this is not the case, you make backups. Backuppy tries to simplify this.
|
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
|
||||||
|
|
BIN
exclude.txt
BIN
exclude.txt
Binary file not shown.
41
install.sh
Normal file → Executable file
41
install.sh
Normal file → Executable file
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# Variablen
|
# Variables
|
||||||
mydir=$PWD
|
mydir=$PWD
|
||||||
|
|
||||||
# Intro
|
# Intro
|
||||||
|
@ -10,38 +10,29 @@ echo -e "Der Installer wird dich nun einige Dinge abfragen, um dein Backup-Skrip
|
||||||
sleep 2
|
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
|
# creates the file 'Backuppy.sh'
|
||||||
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."
|
touch Backuppy.sh
|
||||||
read logfile
|
echo "#!/bin/bash" >> Backuppy.sh
|
||||||
|
chmod +x Backuppy.sh
|
||||||
if [ $logfile = "J" ]; then
|
# which Rsync options are available and which one you want to use
|
||||||
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"
|
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
|
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]"
|
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"
|
||||||
|
touch exclude.txt
|
||||||
sleep 2
|
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 erstelle ich die Datei 'exclude.txt' gar nicht erst, da du sie ja nicht brauchst. \n"
|
||||||
rm exclude.txt
|
rm exclude.txt
|
||||||
sleep 2
|
sleep 2
|
||||||
fi
|
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:"
|
echo -e "Nun kommen wir zu einem der wichtigesten Teile der Installation von Backuppy:"
|
||||||
sleep 1
|
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."
|
||||||
|
@ -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"
|
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
|
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."
|
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 wenn dieser Pfad nicht stimmen sollte, dann passe ihn in der Datei 'backuppy.sh' an"
|
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
|
sleep 2
|
||||||
|
|
||||||
# Programmeintrag in die .bashrc oder .zshrc
|
# alias entry in .bashrc or .zshrc
|
||||||
#zshrc
|
#zshrc
|
||||||
echo "$SHELL"
|
echo "$SHELL"
|
||||||
if [ $SHELL = "/usr/bin/zsh" ]; then
|
if [ $SHELL = "/usr/bin/zsh" ]; then
|
||||||
echo "alias backuppy='sudo $mydir/backuppy.sh'" >> ~/.zshrc
|
echo "alias backuppy='sudo $mydir/Backuppy.sh'" >> ~/.zshrc
|
||||||
fi
|
fi
|
||||||
#bashrc
|
#bashrc
|
||||||
if [ $SHELL = "/usr/bin/bash" ]; then
|
if [ $SHELL = "/usr/bin/bash" ]; then
|
||||||
echo "alias backuppy='sudo $mydir/backup-tool.sh'" >> ~/.bashrc
|
echo "alias backuppy='sudo $mydir/Backuppy.sh'" >> ~/.bashrc
|
||||||
fi
|
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"
|
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
|
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
|
sleep 2
|
||||||
# eintragen der Configs
|
|
||||||
|
|
||||||
|
# enter the rsync command in Backuppy.sh
|
||||||
echo "rsync -aqp --exclude-from=$mydir/exclude.txt $sourcedir $targetdir" >> Backuppy.sh
|
echo "rsync -aqp --exclude-from=$mydir/exclude.txt $sourcedir $targetdir" >> Backuppy.sh
|
||||||
|
|
||||||
# Outro
|
# Outro
|
||||||
|
|
Loading…
Reference in a new issue