User Tools

Site Tools


my_backup_pi_scripts

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Next revisionBoth sides next revision
my_backup_pi_scripts [2016/08/04 19:13] – created walkeradminmy_backup_pi_scripts [2016/11/06 17:51] walkeradmin
Line 11: Line 11:
 \\  \\ 
 \\  \\ 
-===== Webserver1 Script =====+===== Webserver1 Script (wevsvr1backup) Latest ===== 
 +<file> 
 +#!/bin/bash 
 +
 +# Script to backup webserver pi 
 +
 +
 +# Alan Walker - Aug 2016 
 +
 +
 +# stuff this script does 
 +# backup (rsync) cpg15x on webserver1 
 +# backup ShotLive on webserver1 
 +# backup (mysqldump) database on webserver1 
 +
 +
 +# backup (rsync) cpg15x on webserver1 
 +# create new backup folder 
 +echo "Creating folder /mnt/usbstorage/backups/webserver1/"$(date '+%Y-%m-%d'
 +# make a folder with the current date 
 +mkdir /home/pi/Backups/webserver1/$(date '+%Y-%m-%d'
 +
 +
 +# copy files from cpg15x on webserver to this server 
 +echo "Copying cpg15x files to /mnt/usbstorage/backups/webserver1/"$(date '+%Y-%m-%d'
 +sudo sshpass -p "Cr00kh0rn52.." rsync --verbose --recursive --perms --executability --acls --xattrs --owner --group  pi@192.168.1.9:/mnt/usbhdd/cpg15x /home/pi/Backups/webserver1/$(date '+%Y-%m-%d'
 +
 +
 +# copy files from ShotLive on webserver to this server 
 +echo "Copying ShotLive files to /mnt/usbstorage/backups/webserver1/"$(date '+%Y-%m-%d'
 +#sudo rsync --verbose --recursive --perms --executability --acls --xattrs --owner --group  pi@192.168.1.10:/home/pi/ShotLive /mnt/usbstorage/backups/webserver1/$(date '+%Y-%m-%d'
 +sudo sshpass -p "Cr00kh0rn52.." rsync --verbose --recursive --perms --executability --acls --xattrs --owner --group  pi@192.168.1.9:/mnt/usbhdd/ShotLive /home/pi/Backups/webserver1/$(date '+%Y-%m-%d'
 +
 +
 +# Backup MySQL Database (the one database is used for both ShotLive and Cameraangle) 
 +echo "Backup database to /mnt/usbstorage/backups/webserver1/"$(date '+%Y-%m-%d'
 +sudo mysqldump --host 192.168.1.9 -P 3306 -u walkeradmin -pCr00kh0rn52.. alan_gallery > /home/pi/Backups/webserver1/$(date '+%Y-%m-%d')/alan_gallery.sql 
 +
 +#mysqldump --host 192.168.1.9 -P 3306 -u username -pPassword alan_gallery > /mnt/usbstorage/backups/webserver1/$(date '+%Y-%m-%d')/alan_gallery.sql  
 +
 +
 +echo "" 
 +echo "Finished" 
 +</file>
 \\  \\ 
 \\  \\ 
 +===== Webserver1 Script (wevsvr1backup) Original =====
     #!/bin/bash     #!/bin/bash
     #     #
-    # Script to backup webserver and wiki pi's+    # Script to backup webserver pi
     #     #
     #     #
Line 26: Line 70:
     # backup ShotLive on webserver1     # backup ShotLive on webserver1
     # backup (mysqldump) database on webserver1     # backup (mysqldump) database on webserver1
-    # backup wiki (rsync) on wiki pi 
     #     #
     #     #
Line 48: Line 91:
     # Backup MySQL Database (the one database is used for both ShotLive and Cameraangle)     # Backup MySQL Database (the one database is used for both ShotLive and Cameraangle)
     echo "Backup database to /mnt/usbstorage/backups/webserver1/"$(date '+%Y-%m-%d')     echo "Backup database to /mnt/usbstorage/backups/webserver1/"$(date '+%Y-%m-%d')
-    mysqldump --host 192.168.1.10 -P 3306 -u Username -pPassword alan_gallery         > /mnt/usbstorage/backups/webserver1/$(date '+%Y-%m-%d')/alan_gallery.sql+    mysqldump --host 192.168.1.10 -P 3306 -u Username -pPassword alan_gallery > /mnt/usbstorage/backups/webserver1/$(date '+%Y-%m-%d')/alan_gallery.sql
     #     #
     #     #
Line 58: Line 101:
 \\  \\ 
 \\  \\ 
 +===== Wiki Server Backup Script (wikibackup) =====
 +    #!/bin/bash
 +    #
 +    # Script to backup wiki pi
 +    #
 +    #
 +    # Alan Walker - Aug 2016
 +    #
 +    #
 +    # stuff this script does
 +    #
 +    # backup wiki (rsync) on wiki pi
 +    #
 +    #
 +    # backup (rsync) wiki server
 +    # create new backup folder
 +    echo "Creating folder /mnt/usbstorage/backups/wiki/"$(date '+%Y-%m-%d')
 +    # make a folder with the current date
 +    mkdir /mnt/usbstorage/backups/wiki/$(date '+%Y-%m-%d')
 +    #
 +    #
 +    # copy files from /home/pi/dokuwiki on wiki server to this server
 +    echo "Copying dokuwiki files to /mnt/usbstorage/backups/webserver1/"$(date '+%Y-%m-%d')
 +    rsync -avzh pi@192.168.1.11:/home/pi/dokuwiki /mnt/usbstorage/backups/wiki/$(date '+%Y-%m-%d')
 +    #
 +    #
 +    echo ""
 +    echo "Finished"
 +\\ 
 +\\ 
 +===== Cron Automation =====
 +To automate this process, I am using the following Cron job (use sudo Crontab -e)
 +\\ 
 +\\ 
 +    # Edit this file to introduce tasks to be run by cron.
 +    #
 +    # Each task to run has to be defined through a single line
 +    # indicating with different fields when the task will be run
 +    # and what command to run for the task
 +    #
 +    # To define the time you can provide concrete values for
 +    # minute (m), hour (h), day of month (dom), month (mon),
 +    # and day of week (dow) or use '*' in these fields (for 'any').#
 +    # Notice that tasks will be started based on the cron's system
 +    # daemon's notion of time and timezones.
 +    #
 +    # Output of the crontab jobs (including errors) is sent through
 +    # email to the user the crontab file belongs to (unless redirected).
 +    #
 +    # For example, you can run a backup of all your user accounts
 +    # at 5 a.m every week with:
 +    # 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
 +    #
 +    # For more information see the manual pages of crontab(5) and cron(8)
 +    #
 +    # m h  dom mon dow   command
 +    #
 +    #
 +    # This job is to backup the webserver files and database at 3am every sunday
 +    00 03 * * 0 /mnt/usbstorage/backups/scripts/websvr1backup | tee /mnt/usbstorage/backups/logs/$(date '+%Y-%m-%d')-websvr1backup.log
 +    #
 +    #
 +    # This job is to backup the wiki server every sunday at 3am
 +    00 02 * * 0 /mnt/usbstorage/backups/scripts/wikibackup | tee /mnt/usbstorage/backups/logs/$(date '+%Y-%m-%d')-wikiba$
 +\\ 
 +\\ 
 +
 +
 +
 +
  
  
my_backup_pi_scripts.txt · Last modified: 2023/03/09 22:35 by 127.0.0.1