forked from FotoCoder/Backuppy
100 lines
2.4 KiB
Bash
Executable file
100 lines
2.4 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
# Variables
|
|
mydir=$PWD
|
|
langDE=".languages/german.txt"
|
|
langEN=".languages/english.txt"
|
|
|
|
# Intro
|
|
# language
|
|
echo -e "Hello, first of all, which language do you prefer: German [DE] or English [EN]?"
|
|
read language
|
|
if [ $language = "DE" ]; then
|
|
echo -e "Perfekt, nun ist das deutsche Sprachpaket aktiviert. Willkommen! \n"
|
|
. $langDE
|
|
sleep 1
|
|
fi
|
|
if [ $language = "EN" ]; then
|
|
echo -e "Perfect, the English language package is now activated. Welcome!. \n"
|
|
. $langEN
|
|
sleep 1
|
|
fi
|
|
|
|
echo -e "\n$intromsg1 \n"
|
|
sleep 1
|
|
echo -e " \n$intromsg2\n"
|
|
sleep 1
|
|
# Installer
|
|
|
|
# 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 "$rsyncopt \n"
|
|
sleep 1
|
|
|
|
# asks if you want to exclude files/directories from backup and creates an exclude file in case of Yes
|
|
echo -e "$excludefile1"
|
|
read exclude
|
|
if [ $exclude = "J" ]; then
|
|
echo -e "$excludefile2 \n"
|
|
touch exclude.txt
|
|
sleep 1
|
|
elif [ $exclude = "Y" ]; then
|
|
echo -e "$excludefile2 \n"
|
|
touch exclude.txt
|
|
sleep 1
|
|
fi
|
|
if [ $exclude = "N" ]; then
|
|
echo -e "$excludefile3 \n"
|
|
sleep 1
|
|
fi
|
|
|
|
# Asks for the source directory which should be saved
|
|
echo -e "$srcdir1"
|
|
sleep 1
|
|
echo -e "$srcdir2"
|
|
read sourcedir
|
|
echo -e "$srcdir3_1 $sourcedir $srcdir3_2"
|
|
sleep 1
|
|
|
|
# asks for the destination directory in which the backup should be saved
|
|
echo -e "$targetdir1"
|
|
read targetdir
|
|
echo -e "$targetdir2_1 $targetdir $targetdir2_2"
|
|
sleep 1
|
|
|
|
# alias entry in .bashrc or .zshrc
|
|
# .zshrc case 1
|
|
echo $SHELL
|
|
if [ $SHELL = "/usr/bin/zsh" ]; then
|
|
echo "alias backuppy='sudo $mydir/Backuppy.sh'" >> ~/.zshrc
|
|
fi
|
|
# zshrc case 2
|
|
echo $SHELL
|
|
if [ $SHELL = "/bin/zsh" ]; then
|
|
echo "alias backuppy='sudo $mydir/Backuppy.sh'" >> ~/.zshrc
|
|
fi
|
|
#bashrc case 1
|
|
if [ $SHELL = "/usr/bin/bash" ]; then
|
|
echo "alias backuppy='sudo $mydir/Backuppy.sh'" >> ~/.bashrc
|
|
fi
|
|
# bashrc case 2
|
|
if [ $SHELL = "/bin/bash" ]; then
|
|
echo "alias backuppy='sudo $mydir/Backuppy.sh'" >> ~/.bashrc
|
|
fi
|
|
|
|
# collects all the information needed to execute the rsync command and creates it.
|
|
echo -e "$collect \n"
|
|
sleep 1
|
|
echo -e "rsync -aqp --exclude-from=$mydir/exclude.txt $sourcedir $targetdir \n"
|
|
sleep 1
|
|
|
|
# enter the rsync command in Backuppy.sh
|
|
echo "rsync -aqp --exclude-from=$mydir/exclude.txt $sourcedir $targetdir" >> Backuppy.sh
|
|
|
|
# Outro
|
|
echo -e "$outro1"
|
|
sleep 2
|
|
echo "$outro2"
|