Skip to content

Instantly share code, notes, and snippets.

@KrisKodira
Last active December 23, 2018 19:01
Show Gist options
  • Save KrisKodira/fdb00cbc23b6b2e16dea4b3da654491e to your computer and use it in GitHub Desktop.
Save KrisKodira/fdb00cbc23b6b2e16dea4b3da654491e to your computer and use it in GitHub Desktop.
Simple Linux Backupscript
#!/bin/sh
sleep 2
backupFunction(){
cd /home/kris/backupdrive
if [ $(find pc_* -mtime +30 -print) ]
then
echo "Deleting dailies that are older than 30 days!" >> /home/kris/scripts/backup/pc-backup-log.txt
find pc_* -mtime +30 -exec rm {} \;
fi
cp -r /home/kris/scripts $backupFolder/scripts
cp -r /home/kris/backups $backupFolder/backups
cp -r /home/kris/Documents $backupFolder/Documents
cp -r /home/kris/Pictures $backupFolder/Pictures
cp -r /home/kris/Island-Game $backupFolder/Island-Game
cp -r /etc/passwd $backupFolder/passwd
cp -r /etc/nginx $backupFolder/nginx
cp -r /var/www $backupFolder/www
tar -czvf $backupFolder.tar.gz $backupFolder
chmod 777 $backupFolder.tar.gz
rm -rf $backupFolder
}
echo "Started backup at " $(date) >> /home/kris/scripts/backup/pc-backup-log.txt
mount /dev/sdc3 /home/kris/backupdrive
backupFolder=pc_$(date +%d_%m_%Y)
if [ -e /home/kris/backupdrive/monthly_$(date +%m_%Y).zip ] || [ -e /home/kris/backupdrive/monthly_$(date +%m_%Y).tar.gz ]
then
echo "Monthly backup exists... Lets make a daily!" >> /home/kris/scripts/backup/pc-backup-log.txt
if [ -e /home/kris/backupdrive/$backupfolder.zip ] || [ -e /home/kris/backupdrive/$backupFolder.tar.gz ]
then
echo "Backupfolder exists... Let me overwrite it!" >> /home/kris/scripts/backup/pc-backup-log.txt
rm -rf /home/kris/backupdrive/$backupFolder.tar.gz
mkdir /home/kris/backupdrive/$backupFolder
else
mkdir /home/kris/backupdrive/$backupFolder
fi
backupFunction
else
echo "There is no monthly backup for this month... Lets create one!" >> /home/kris/scripts/backup/pc-backup-log.txt
backupFolder=monthly_$(date +%m_%Y)
mkdir /home/kris/backupdrive/$backupFolder
backupFunction
fi
sleep 2
umount -l /dev/sdc3
echo "Finished backup at " $(date) >> /home/kris/scripts/backup/pc-backup-log.txt
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment