mirror of
https://github.com/brunofontes/linuxShortcuts.git
synced 2024-11-23 22:30:51 +00:00
Implementing zBackup to backups and organizing script
This commit is contained in:
parent
670b6f1812
commit
35ed6782e6
1
.gitignore
vendored
1
.gitignore
vendored
@ -2,3 +2,4 @@
|
|||||||
.serverBackupPath
|
.serverBackupPath
|
||||||
.sshKeyBackupPath
|
.sshKeyBackupPath
|
||||||
.sshKey
|
.sshKey
|
||||||
|
Backup/.lastDisk
|
||||||
|
99
Backup/.Backup_HD.sh
Executable file
99
Backup/.Backup_HD.sh
Executable file
@ -0,0 +1,99 @@
|
|||||||
|
LastDisk=$(< .lastDisk)
|
||||||
|
if [ "$LastDisk" = '1' ]; then
|
||||||
|
ActiveDisk=2
|
||||||
|
else
|
||||||
|
ActiveDisk=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
YEAR=`date +%Y`
|
||||||
|
HDPath="/run/media/bruno/Backup_$ActiveDisk"
|
||||||
|
|
||||||
|
ZBACKUP="$HDPath/`date +%Y-Q%q`"
|
||||||
|
YEARMONTH=`date +%m_%b-%d`
|
||||||
|
HDYEARMONTH="$ZBACKUP/backups/$YEARMONTH"
|
||||||
|
|
||||||
|
|
||||||
|
# If folder does not exist, exit with error
|
||||||
|
[ ! -d "$HDPath" ] && echo "This disk was used last time. Please, plug Backup_$ActiveDisk before running this script." && read && exit 1
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "HD Backup path : $ZBACKUP"
|
||||||
|
echo "HD Year-Month path: $HDYEARMONTH"
|
||||||
|
echo
|
||||||
|
echo Press enter key to start the backup
|
||||||
|
read
|
||||||
|
echo
|
||||||
|
|
||||||
|
if [ ! -d "$ZBACKUP" ]; then
|
||||||
|
mkdir -p "$ZBACKUP"
|
||||||
|
zbackup init --non-encrypted "$ZBACKUP"
|
||||||
|
|
||||||
|
#If diskSpace less than ~100GB...
|
||||||
|
diskSpace=$(df --local --output=avail,target | grep "$HDPath\$" | awk '{ print $1}')
|
||||||
|
if [[ "$diskSpace" < 100000000 ]]; then
|
||||||
|
# delete oldest backup folder
|
||||||
|
oldestFolder=$(/bin/ls -dt "$HDPath"/????-Q? | tail -n 1)
|
||||||
|
echo
|
||||||
|
echo "$HDPath/$oldestFolder"
|
||||||
|
rm -rI "$HDPath/$oldestFolder"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir -p "$HDYEARMONTH"
|
||||||
|
|
||||||
|
function backup () {
|
||||||
|
nice -n 19 tar c --exclude-ignore=.no-backup --add-file=.backup --exclude-from=./exclude "$1" | zbackup backup --non-encrypted --silent "$2"
|
||||||
|
zbackup restore --silent --non-encrypted "$2" > /dev/null 2> "$2"_status
|
||||||
|
if [[ $(cat "$2"_status) != "" ]]; then
|
||||||
|
echo -e "\033[1;31m ERROR UNPACKING $2 \033[0m"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
echo -e "\e[97m`date +%r` - Copying Linux Home folder (1/7)...\e[39m"
|
||||||
|
echo -e "\e[97m `date +%r` - Bruno\e[39m"
|
||||||
|
backup "/home/bruno/" "$HDYEARMONTH/LinuxHome-bruno" || echo ""
|
||||||
|
|
||||||
|
echo -e "\e[97m `date +%r` - Admin\e[39m"
|
||||||
|
backup "/home/admin/" "$HDYEARMONTH/LinuxHome-admin" || echo ""
|
||||||
|
|
||||||
|
echo -e "\e[97m `date +%r` - Lost+Found\e[39m"
|
||||||
|
backup "/home/lost+found/" "$HDYEARMONTH/LinuxHome-lost+found" || echo ""
|
||||||
|
|
||||||
|
echo -e "\e[97m`date +%r` - Copying Localização folder (2/7)...\e[39m"
|
||||||
|
backup "/run/media/bruno/Multimedia/Localização/" "$HDYEARMONTH/Multimedia-localizacao" || echo ""
|
||||||
|
|
||||||
|
echo -e "\e[97m`date +%r` - Copying My Documents folder (3/7)...\e[39m"
|
||||||
|
backup "/run/media/bruno/Multimedia/MyDocuments/" "$HDYEARMONTH/Multimedia-MyDocuments" || echo ""
|
||||||
|
|
||||||
|
echo -e "\e[97m`date +%r` - Copying Música folder (4/7)...\e[39m"
|
||||||
|
backup "/run/media/bruno/Multimedia/Música/" "$HDYEARMONTH/Multimedia-musica" || echo ""
|
||||||
|
|
||||||
|
|
||||||
|
# Rsync Fotos e VMs
|
||||||
|
alias myrsync='nice -n 19 rsync -a'
|
||||||
|
|
||||||
|
echo -e "\e[97m`date +%r` - Copying Fotos folder (5/7)...\e[39m"
|
||||||
|
myrsync "/run/media/bruno/Multimedia/Fotos" "$HDPath/$YEAR/" || echo ""
|
||||||
|
|
||||||
|
echo -e "\e[97m`date +%r` - Copying Video folder (6/7)...\e[39m"
|
||||||
|
myrsync --exclude-from=/run/media/bruno/Multimedia/Videos/.no-backup "/run/media/bruno/Multimedia/Videos" "$HDPath/$YEAR/" || echo ""
|
||||||
|
|
||||||
|
echo -e "\e[97m`date +%r` - Copying Virtual Machines folder (7/7)...\e[39m"
|
||||||
|
myrsync "/run/media/bruno/Multimedia/Virtual Machines" "$HDPath/$YEAR/" || echo ""
|
||||||
|
|
||||||
|
|
||||||
|
# Show result
|
||||||
|
echo -e "\e[97m`date +%r` - Backup finished. Please, verify your log files.\e[39m"
|
||||||
|
|
||||||
|
echo "$ActiveDisk" > .lastDisk
|
||||||
|
device=$(mount | grep "Backup_$ActiveDisk" | cut -d " " -f1)
|
||||||
|
|
||||||
|
kdialog --title "Backup Complete" --msgbox "Backup finished successfully"
|
||||||
|
echo
|
||||||
|
echo "Backup on $device is finished. Press any key to close..."
|
||||||
|
read
|
||||||
|
|
||||||
|
|
||||||
|
#Try to umount device
|
||||||
|
udisksctl unmount -b "$device" && udisksctl power-off -b "$device"
|
||||||
|
exit
|
@ -1,77 +0,0 @@
|
|||||||
YEARMONTH=`date +%Y/%m-%b`
|
|
||||||
YEAR=`date +%Y`
|
|
||||||
HDPath="/run/media/bruno/Backup_"
|
|
||||||
LastDisk=$(< .lastDisk)
|
|
||||||
|
|
||||||
if [ "$LastDisk" = '1' ]; then
|
|
||||||
NextDisk=2
|
|
||||||
else
|
|
||||||
NextDisk=1
|
|
||||||
fi
|
|
||||||
|
|
||||||
#backup="rsync -aq --inplace --exclude-from=./exclude"
|
|
||||||
backup="nice -n 19 rsync -a --exclude-from=./exclude"
|
|
||||||
HDPath="$HDPath$NextDisk"
|
|
||||||
HDYEARMONTH="$HDPath/$YEARMONTH"
|
|
||||||
|
|
||||||
# If folder does not exist, exit with error
|
|
||||||
[ ! -d "$HDPath" ] && echo "This disk was used last time. Please, plug Backup_$NextDisk before running this script." && exit 1
|
|
||||||
|
|
||||||
echo
|
|
||||||
echo "Backup command : $backup"
|
|
||||||
echo "HD Backup path : $HDPath"
|
|
||||||
echo "HD Year-Month path: $HDYEARMONTH"
|
|
||||||
echo
|
|
||||||
echo Press enter key to start the backup
|
|
||||||
read
|
|
||||||
echo
|
|
||||||
|
|
||||||
mkdir -p "$HDPath/$YEAR"
|
|
||||||
mkdir -p "$HDYEARMONTH"
|
|
||||||
mkdir -p "$HDYEARMONTH/LinuxHome"
|
|
||||||
mkdir -p "$HDYEARMONTH/LinuxHome/bruno"
|
|
||||||
mkdir -p "$HDYEARMONTH/LinuxHome/admin"
|
|
||||||
mkdir -p "$HDYEARMONTH/LinuxHome/lost+found"
|
|
||||||
|
|
||||||
|
|
||||||
echo -e "\e[97m`date +%r` - Copying Dropbox folder (1/7)...\e[39m"
|
|
||||||
eval $backup "/run/media/bruno/Multimedia/Dropbox" "$HDYEARMONTH/Multimedia/" || echo ""
|
|
||||||
|
|
||||||
echo -e "\e[97m`date +%r` - Copying Linux Home folder (2/7)...\e[39m"
|
|
||||||
|
|
||||||
echo -e "\e[97m `date +%r` - Bruno\e[39m"
|
|
||||||
eval $backup "/home/bruno/" "$HDYEARMONTH/LinuxHome/bruno/" || echo ""
|
|
||||||
|
|
||||||
echo -e "\e[97m `date +%r` - Admin\e[39m"
|
|
||||||
eval $backup "/home/admin/" "$HDYEARMONTH/LinuxHome/admin/" || echo ""
|
|
||||||
|
|
||||||
echo -e "\e[97m `date +%r` - Lost+Found\e[39m"
|
|
||||||
eval $backup "/home/lost+found/" "$HDYEARMONTH/LinuxHome/lost+found/" || echo ""
|
|
||||||
|
|
||||||
echo -e "\e[97m`date +%r` - Copying Localização folder (3/7)...\e[39m"
|
|
||||||
eval $backup "/run/media/bruno/Multimedia/Localização" "$HDYEARMONTH/Multimedia/" || echo ""
|
|
||||||
|
|
||||||
echo -e "\e[97m`date +%r` - Copying My Documents folder (4/7)...\e[39m"
|
|
||||||
eval $backup "/run/media/bruno/Multimedia/MyDocuments" "$HDYEARMONTH/Multimedia/" || echo ""
|
|
||||||
|
|
||||||
echo -e "\e[97m`date +%r` - Copying Música folder (5/7)...\e[39m"
|
|
||||||
eval $backup "/run/media/bruno/Multimedia/Música" "$HDYEARMONTH/Multimedia/" || echo ""
|
|
||||||
|
|
||||||
echo -e "\e[97m`date +%r` - Copying Fotos folder (6/7)...\e[39m"
|
|
||||||
eval $backup "/run/media/bruno/Multimedia/Fotos" "$HDPath/$YEAR/" || echo ""
|
|
||||||
|
|
||||||
echo -e "\e[97m`date +%r` - Copying Virtual Machines folder (7/7)...\e[39m"
|
|
||||||
eval $backup "/run/media/bruno/Multimedia/Virtual\ Machines" "$HDPath/$YEAR/" || echo ""
|
|
||||||
|
|
||||||
echo -e "\e[97m`date +%r` - Backup finished. Please, verify your log files.\e[39m"
|
|
||||||
|
|
||||||
echo "$NextDisk" > .lastDisk
|
|
||||||
kdialog --title "Backup Complete" --msgbox "Backup finished successfully"
|
|
||||||
|
|
||||||
echo "Press any key to close"
|
|
||||||
read
|
|
||||||
|
|
||||||
#Umount device
|
|
||||||
device=$(mount | grep Backup_$LastDisk | cut -d " " -f1)
|
|
||||||
udisksctl unmount -b $device && udisksctl power-off -b $device
|
|
||||||
exit
|
|
@ -1,10 +1,5 @@
|
|||||||
.cache/*
|
.cache/*
|
||||||
Downloads/*
|
|
||||||
TransMit\ Tools\ -\ Studio\ 2015/*
|
|
||||||
Apps/*
|
|
||||||
shared/*
|
|
||||||
.npm/*
|
.npm/*
|
||||||
bruno/Android/*
|
|
||||||
bruno/go/*
|
bruno/go/*
|
||||||
bruno/node_modules/*
|
bruno/node_modules/*
|
||||||
Virtual\ Machines/projetomovase/*
|
Virtual\ Machines/projetomovase/*
|
||||||
|
@ -1 +1 @@
|
|||||||
terminator -m -T BACKUP -x sudo systemd-inhibit bash .Backup_HD_1TB.sh &
|
terminator -m -T BACKUP -x sudo systemd-inhibit bash /home/bruno/Apps/linuxShortcuts/Backup/.Backup_HD.sh &
|
||||||
|
3
Backup/zRestore.sh
Executable file
3
Backup/zRestore.sh
Executable file
@ -0,0 +1,3 @@
|
|||||||
|
date
|
||||||
|
zbackup --non-encrypted --silent --cache-size 512mb restore $1 > $2
|
||||||
|
date
|
@ -2,7 +2,7 @@ if ! screen -list | grep -q "Minecraft"; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
BACKUPDIR="/home/bruno/Backups/Minecraft"
|
BACKUPDIR="/home/bruno/Backups/zBackup-Minecraft/backups"
|
||||||
SERVERDIR="/home/bruno/Apps/Minecraft"
|
SERVERDIR="/home/bruno/Apps/Minecraft"
|
||||||
SURVIVALDIR="$SERVERDIR/BedrockServer_Survival_19132"
|
SURVIVALDIR="$SERVERDIR/BedrockServer_Survival_19132"
|
||||||
CREATIVEDIR="$SERVERDIR/BedrockServer_Creative_19134"
|
CREATIVEDIR="$SERVERDIR/BedrockServer_Creative_19134"
|
||||||
@ -50,8 +50,8 @@ done
|
|||||||
|
|
||||||
BACKUPDATE=$(date +"%Y-%m-%d_%H-%M-%S")
|
BACKUPDATE=$(date +"%Y-%m-%d_%H-%M-%S")
|
||||||
mkdir "$BACKUPDIR/$BACKUPDATE"
|
mkdir "$BACKUPDIR/$BACKUPDATE"
|
||||||
/bin/tar cz --exclude=behavior_packs/* --exclude=resource_packs/* -f "$BACKUPDIR/$BACKUPDATE/Survival.tar.gz" "$SURVIVALDIR/worlds/Survival"
|
/bin/tar c --exclude=behavior_packs/* --exclude=resource_packs/* "$SURVIVALDIR/worlds/Survival" | zbackup --nonencrypted backup "$BACKUPDIR/$BACKUPDATE-Survival"
|
||||||
/bin/tar cz --exclude=behavior_packs/* --exclude=resource_packs/* -f "$BACKUPDIR/$BACKUPDATE/Creative.tar.gz" "$CREATIVEDIR/worlds/Creative"
|
/bin/tar c --exclude=behavior_packs/* --exclude=resource_packs/* "$CREATIVEDIR/worlds/Creative" | zbackup --nonencrypted backup "$BACKUPDIR/$BACKUPDATE-Creative"
|
||||||
|
|
||||||
runAllWorlds "^u"
|
runAllWorlds "^u"
|
||||||
runAllWorlds "save resume\n"
|
runAllWorlds "save resume\n"
|
||||||
|
Loading…
Reference in New Issue
Block a user